diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml new file mode 100644 index 000000000..33065d3d4 --- /dev/null +++ b/.github/workflows/build.yml @@ -0,0 +1,206 @@ +name: nmap multiplatform autobuilds + +on: + push: + paths: + - ".github/workflows/build.yml" + - "**/*.c" + - "**/*.cc" + - "**/*.cpp" + - "**/*.h" + - "**/*.H" + - "**/*.in" + - "**/*.am" + - "**/*.ac" + - "**/*.lua" + - "**/*.cmakein" + - "**/configure" + - "**/*.pl" + - "**/*.py" + - "**/*.awk" + - "**/*.sh" + - "**/*.toml" + branches: + - master + pull_request: + workflow_dispatch: + inputs: + deploymentName: + description: "Name for this deployment" + required: true + default: "Manual Deployment" + +concurrency: + group: ${{ github.workflow }}-${{ github.ref }} + cancel-in-progress: true + +env: + MAKEFLAGS: -j3 + +jobs: + build: + strategy: + fail-fast: false + matrix: + include: + - name: ubuntu-latest-gcc + os: ubuntu-latest + cc: gcc + - name: ubuntu-latest-gcc-arm64 + os: ubuntu-latest + cc: gcc + arch: arm64 + - name: ubuntu-latest-clang + os: ubuntu-latest + cc: clang + - name: macos-15-clang + os: macos-15 + cc: clang + - name: macos-26-clang + os: macos-26 + cc: clang + - name: freebsd-15-gcc + os: ubuntu-latest + cc: gcc + - name: freebsd-15-clang + os: ubuntu-latest + cc: clang + - name: openbsd-7-gcc + os: ubuntu-latest + cc: egcc + - name: openbsd-7-clang + os: ubuntu-latest + cc: clang + - name: netbsd-10-gcc + os: ubuntu-latest + cc: gcc + - name: netbsd-10-clang + os: ubuntu-latest + cc: clang + - name: solaris-11-gcc + os: ubuntu-latest + cc: gcc + - name: solaris-11-clang + os: ubuntu-latest + cc: clang + - name: windows-latest-msvc + os: windows-latest + cc: msvc + + runs-on: ${{ matrix.os }} + steps: + - uses: actions/checkout@v4 + + - name: Set up QEMU for ARM64 + if: matrix.arch == 'arm64' + uses: docker/setup-qemu-action@v3 + with: + platforms: linux/arm64 + + - name: Build Linux + if: startsWith(matrix.name,'ubuntu') && matrix.arch != 'arm64' + run: | + sudo apt-get update + sudo apt-get install -y build-essential clang tree libpcap-dev libnet-dev libpcre2-dev + ./configure + make + make install DESTDIR=/tmp + tree /tmp/usr + + - name: Build Linux ARM64 + if: startsWith(matrix.name,'ubuntu') && matrix.arch == 'arm64' + run: | + docker run --rm --platform linux/arm64 -v $PWD:/work -w /work ubuntu:latest bash -c " + apt-get update -q -y && + apt-get install -q -y build-essential tree libpcap-dev libnet-dev libpcre2-dev autoconf automake && + ./configure + make && + make install DESTDIR=/tmp && + tree /tmp/usr + " + + - name: Build MacOS + if: startsWith(matrix.name,'macos') + run: | + brew update + # PCRE2 is already installed + brew install tree libpcap libnet + ./configure + make + make install DESTDIR=/tmp + tree /tmp/usr + + - name: Build FreeBSD + if: startsWith(matrix.name,'freebsd') + uses: vmactions/freebsd-vm@v1 + with: + release: "15.0" + usesh: true + prepare: | + # OS has libpcap already installed (and adding puts a second in /usr/local) + pkg install -y gcc llvm autotools tree pkgconf libnet pcre2 gmake dbus + run: | + ./configure + gmake + gmake install DESTDIR=/tmp + tree /tmp/usr + + - name: Build OpenBSD + if: startsWith(matrix.name,'openbsd') + uses: vmactions/openbsd-vm@v1 + with: + usesh: true + prepare: | + export PKG_PATH=https://cdn.openbsd.org/pub/OpenBSD/$(uname -r)/packages/$(uname -m)/ + pkg_add -I -U autoconf%2.72 automake%1.17 gcc%11 llvm%19 tree pkgconf libnet%1.1 pcre2 gmake dbus + run: | + export AUTOCONF_VERSION=2.72 + export AUTOMAKE_VERSION=1.17 + ./configure + gmake + gmake install DESTDIR=/tmp + tree /tmp/usr + + - name: Build NetBSD + if: startsWith(matrix.name,'netbsd') + uses: vmactions/netbsd-vm@v1 + with: + usesh: true + prepare: | + export PATH=/usr/sbin:/usr/pkg/sbin:/usr/pkg/bin:$PATH + export PKG_PATH="http://cdn.netbsd.org/pub/pkgsrc/packages/NetBSD/$(uname -p)/$(uname -r | cut -d_ -f1)/All" + pkg_add -u gcc13 clang autoconf automake pkgconf libpcap libnet gmake dbus + run: | + ./configure + gmake + gmake install DESTDIR=/tmp + tree /tmp/usr + + - name: Build Solaris + if: startsWith(matrix.name,'solaris') + uses: vmactions/solaris-vm@v1 + with: + usesh: true + prepare: | + pkg install gcc-c clang autoconf automake pcre2 libpcap libnet developer/build/gnu-make + run: | + ./configure + gmake + gmake install DESTDIR=/tmp + tree /tmp/usr + + - name: Install Subversion + if: startsWith(matrix.name,'windows') + shell: powershell + run: | + choco install svn -y --no-progress + $env:PATH = "C:\Program Files (x86)\Subversion\bin;C:\Program Files\Subversion\bin;$env:PATH" + echo "C:\Program Files (x86)\Subversion\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + echo "C:\Program Files\Subversion\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + + - name: Build Windows + if: startsWith(matrix.name,'windows') + shell: cmd + run: | + cd mswin32 + Build.bat diff --git a/CHANGELOG b/CHANGELOG index 1a1cd8685..32d2e7378 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,9 +1,110 @@ #Nmap Changelog ($Id$); -*-text-*- -o [GH#3194] RPC-based scripts were sporadically failing due to privileged +o [Ncat] Fix several cases where Ncat's SOCKS5 client could interpret + uninitialized data as protocol data, triggered by a malicious SOCKS5 proxy + server. No code execution or application crash is possible. + Reported by Govind Pratap Singh. [Daniel Miller] + +o Fix a out-of-bounds access in Nping Echo client allowing a malicious Nping + EchoServer to zero 32 bytes of memory outside the packet buffer. Reported by + Harshit Gupta. [Daniel Miller] + +o Fix a 1-byte overrun (read) while reading certain crafted DNS labels, + reported by Peter Parker. [Daniel Miller] + +o [NSE][GH#3317] Function url.build_path was mangling special characters in URL + path segments. [nnposter] + +Nmap 7.99 [2026-03-26] + +o Integrated many of the most-frequently-submitted IPv4 and IPv6 OS + fingerprints, as well as dozens of updated service fingerprints. + +o Upgraded included libraries: OpenSSL 3.0.19, libpcap 1.10.6, libpcre2 10.47, + liblinear 2.50, zlib 1.3.2 + +o [Windows] Upgraded the included version of Npcap from 1.83 to 1.87, resolving + several crashes and stability-related issues. See https://npcap.com/changelog + +o [Zenmap][GH#3182] Zenmap is now distributed as a universal wheel + (zenmap-7.99-py3-none-any.whl) instead of an RPM package so that it can be + installed on any system with Python 3. [Daniel Miller] + +o [Ncat][Windows] Limited the number of handles inherited by subprocesses + launched with -e, preventing interference between clients when -e and + --keep-open are used. Reported by Nimish Verma. + +o [Ncat] Several fixes for regressions or longstanding failure cases in + ncat-test.pl [Daniel Miller]: + + + [Windows] Fixed handling of socket EOF with --exec + + + Fixed the -i (idle timeout) option for listen mode, which was broken + when adding the -q option in Ncat 7.96 + + + Fixed HTTP proxy server when SSL is used. + + + DTLS (SSL over UDP) shutdown connection on stdin EOF. + +o [Windows][GH#2711] Nmap now supports scanning over various VPN virtual + adapters like OpenVPN TAP adapters. [Daniel Miller] + +o [GH#3280] Fix a performance regression in reverse-DNS in Nmap 7.98. The fix + for #3130 had caused Nmap to send requests too slowly. [Daniel Miller] + +o [macOS][GH#3289] Fixed a configure-time failure in libdnet that resulted in + incorrect MAC addresses being reported. [Daniel Miller] + +o [Zenmap][GH#3189] Fix a crash in Zenmap topology and hosts viewer: + "TypeError: format requires a mapping" [Daniel Miller] + +o [GH#2955] Fix a routing issue with -e and -S related to #2206 + causing error "setup_target: failed to determine route" [Daniel Miller] + +o [GH#3214] Improve compatibility of build process on various platforms and add + multiplatform autobuilds in Github workflow. [Jordan Ritter] + +o [NSE][GH#2183][GH#3239] Script hostmap-crtsh now reports only true subdomains + of a given target hostname by default. In the past, it was reporting any + DNS name that included the target hostname as a substring (but not + necessarily as a suffix). The old behavior can be enabled by setting script + argument hostmap-crtsh.lax. [Sweekar-cmd, nnposter] + +o [NSE] Function url.parse_query was not interpreting plus signs as spaces. + [nnposter] + +o [NSE] Function url.parse was not properly parsing URLs with query strings + but empty paths. [nnposter] + +o [NSE][GH#3287] Functions tableaux.tcopy and tableaux.shallow_tcopy were + not behaving the same when the input table had a custom __pairs metamethod. + Both functions now perform a raw copy, ignoring the metamethod. [nnposter] + +o [NSE] Function tableaux.shallow_tcopy did not work correctly for tables + with Boolean keys. [nnposter] + +o [NSE] IPP print queue job details were not getting populated, having + a hard dependency on Apple-specific attributes. [nnposter] + +o [NSE][GH#3245] Functions connect and close have been removed from the IPP + library, as they served no purpose. [nnposter] + +o [NSE] ipOps.expand_ip was crashing upon malformed IPv6 addresses. [nnposter] + +o [NSE][GH#3262] FTP banner parsing is now more closely aligned with RFC 959, + section 4.2. [nnposter] + +o [NSE][GH#3253] Function stdnse.make_buffer now accepts an extra parameter + that allows preloading the newly created buffer with data. [nnposter] + +o [NSE][GH#3191][GH#3218] Script http-internal-ip-disclosure has been enhanced, + including added support for IPv6 and HTTPS and more accurate processing + of target responses. [nnposter] + +o [NSE][GH#3194] RPC-based scripts were sporadically failing due to privileged port conflicts. [nnposter] -o [GH#3196] Script rlogin-brute was sporadically failing due to using +o [NSE][GH#3196] Script rlogin-brute was sporadically failing due to using an off-by-one range for privileged ports and not handling potential port conflicts. [nnposter] diff --git a/FPEngine.cc b/FPEngine.cc index e0a27f75a..fd1de6299 100644 --- a/FPEngine.cc +++ b/FPEngine.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -1767,7 +1767,6 @@ int FPHost6::build_probe_list() { routing = new RoutingHeader(); hopbyhop2 = new HopByHopHeader(); icmp6 = new ICMPv6Header(); - payload = new RawData(); ss6 = (const sockaddr_in6 *) this->target_host->SourceSockAddr(); ip6->setSourceAddress(ss6->sin6_addr); ss6 = (const sockaddr_in6 *) this->target_host->TargetSockAddr(); @@ -2493,29 +2492,8 @@ size_t FPPacket::getLength() const { * Otherwise, pass the source address, the next hop address and the name of * the network interface the packet should be injected through. */ int FPPacket::setEthernet(const Target *target) { - const char *devname = target->deviceName(); - this->link_eth = false; - if (devname != NULL) { - netutil_eth_t *ethsd = eth_open_cached(devname); - if (ethsd == NULL) { - error("%s: Failed to open ethernet device (%s)", __func__, devname); - } - else if (netutil_eth_can_send(ethsd)) { - this->link_eth = true; - Strncpy(this->eth_hdr.devname, devname, sizeof(this->eth_hdr.devname)); - if (netutil_eth_datalink(ethsd) == DLT_EN10MB){ - const u8 *src_mac = target->SrcMACAddress(); - const u8 *dst_mac = target->NextHopMACAddress(); - if (src_mac == NULL || dst_mac == NULL) { - this->link_eth = false; - } - else { - memcpy(this->eth_hdr.srcmac, src_mac, 6); - memcpy(this->eth_hdr.dstmac, dst_mac, 6); - } - } - } - } + eth_nfo *eth = target->FillEthNfo(&this->eth_hdr, NULL); + this->link_eth = (eth != NULL); if (!this->link_eth) { memset(&(this->eth_hdr), 0, sizeof(struct eth_nfo)); diff --git a/FPEngine.h b/FPEngine.h index e489534d9..0e044d9bf 100644 --- a/FPEngine.h +++ b/FPEngine.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/FPModel.cc b/FPModel.cc index 7663e023a..587f263a1 100644 --- a/FPModel.cc +++ b/FPModel.cc @@ -57,7 +57,7 @@ double FPscale[][2] = { { -20, 0.0147059 }, /* T7.PLEN */ { -0, 0.00520833 }, /* T7.TC */ { -64, 0.0052356 }, /* T7.HLIM */ - { -675903, 1.65005e-11 }, /* TCP_ISR */ + { -562176, 1.65005e-11 }, /* TCP_ISR */ { -0, 1.5259e-05 }, /* S1.TCP_WINDOW */ { -0, 1 }, /* S1.TCP_FLAG_F */ { -0, 1 }, /* S1.TCP_FLAG_S */ @@ -103,7 +103,7 @@ double FPscale[][2] = { { -0, 1 }, /* S1.TCP_OPTLEN_13 */ { -0, 1 }, /* S1.TCP_OPTLEN_14 */ { -0, 1 }, /* S1.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* S1.TCP_MSS */ + { -512, 1.53931e-05 }, /* S1.TCP_MSS */ { -1, 1 }, /* S1.TCP_SACKOK */ { -0, 0.111111 }, /* S1.TCP_WSCALE */ { -0.125116, 0.0186595 }, /* S1.TCP_CORR_WINDOW_MSS */ @@ -152,7 +152,7 @@ double FPscale[][2] = { { -0, 1 }, /* S2.TCP_OPTLEN_13 */ { -0, 1 }, /* S2.TCP_OPTLEN_14 */ { -0, 1 }, /* S2.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* S2.TCP_MSS */ + { -512, 1.53931e-05 }, /* S2.TCP_MSS */ { -1, 1 }, /* S2.TCP_SACKOK */ { -0, 0.111111 }, /* S2.TCP_WSCALE */ { -0.125116, 0.0186595 }, /* S2.TCP_CORR_WINDOW_MSS */ @@ -201,7 +201,7 @@ double FPscale[][2] = { { -0, 1 }, /* S3.TCP_OPTLEN_13 */ { -0, 1 }, /* S3.TCP_OPTLEN_14 */ { -0, 1 }, /* S3.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* S3.TCP_MSS */ + { -512, 1.53931e-05 }, /* S3.TCP_MSS */ { -0, 1 }, /* S3.TCP_SACKOK */ { -0, 0.111111 }, /* S3.TCP_WSCALE */ { -0.125116, 0.00977776 }, /* S3.TCP_CORR_WINDOW_MSS */ @@ -250,7 +250,7 @@ double FPscale[][2] = { { -0, 1 }, /* S4.TCP_OPTLEN_13 */ { -0, 1 }, /* S4.TCP_OPTLEN_14 */ { -0, 1 }, /* S4.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* S4.TCP_MSS */ + { -512, 1.53931e-05 }, /* S4.TCP_MSS */ { -1, 1 }, /* S4.TCP_SACKOK */ { -0, 0.111111 }, /* S4.TCP_WSCALE */ { -0.125116, 0.00849301 }, /* S4.TCP_CORR_WINDOW_MSS */ @@ -299,7 +299,7 @@ double FPscale[][2] = { { -0, 1 }, /* S5.TCP_OPTLEN_13 */ { -0, 1 }, /* S5.TCP_OPTLEN_14 */ { -0, 1 }, /* S5.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* S5.TCP_MSS */ + { -512, 1.53931e-05 }, /* S5.TCP_MSS */ { -1, 1 }, /* S5.TCP_SACKOK */ { -0, 0.111111 }, /* S5.TCP_WSCALE */ { -0.125116, 0.0081872 }, /* S5.TCP_CORR_WINDOW_MSS */ @@ -397,7 +397,7 @@ double FPscale[][2] = { { -0, 1 }, /* TECN.TCP_OPTLEN_13 */ { -0, 1 }, /* TECN.TCP_OPTLEN_14 */ { -0, 1 }, /* TECN.TCP_OPTLEN_15 */ - { -516, 1.53941e-05 }, /* TECN.TCP_MSS */ + { -512, 1.53931e-05 }, /* TECN.TCP_MSS */ { -1, 1 }, /* TECN.TCP_SACKOK */ { -0, 0.111111 }, /* TECN.TCP_WSCALE */ { -0.125116, 0.0186595 }, /* TECN.TCP_CORR_WINDOW_MSS */ @@ -705,189 +705,207 @@ double FPscale[][2] = { double FPmean[][695] = { /* Linux 2.6.38 - 3.2 */ - { 0.83333333, 0, 0.54545455, 0.83333333, 0, 0.63636364, 1, 0, 0.63636364, 0.83333333, 0, 0.63636364, 0.83333333, 0, 0.63636364, 0.8, 0, 0.63636364, -0.090909091, -0.090909091, 0.45454545, -0.18181818, -0.45454545, 0, -0.36363636, -0.36363636, -0.36363636, -0.090909091, -0.090909091, 0.81818182, 1, 0, 1, -1, -1, -1, 0.29411765, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0.13855179, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, 0, 0.61616162, 0.18267763, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, 0, 0.61616162, 0.18267763, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, -1, 0.61616162, 0.095724645, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, 0, 0.61616162, 0.083147435, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, 0, 0.61616162, 0.080153456, 0.21456959, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019743249, 0, -1, 0.039607595, 0.21640067, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013888267, 0, 0.61616162, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.21456959, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.017723535, 0, 0.61616162, 0.039116317, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.090909091, 0.81818182, -0.45454545, -0.18181818, -0.36363636, -0.36363636, }, + { +0.83333333, +0.00000000, +0.54545455, +0.83333333, +0.00000000, +0.63636364, +1.00000000, +0.00000000, +0.63636364, +0.83333333, +0.00000000, +0.63636364, +0.83333333, +0.00000000, +0.63636364, +0.80000000, +0.00000000, +0.63636364, -0.09090909, -0.09090909, +0.45454545, -0.18181818, -0.45454545, +0.00000000, -0.36363636, -0.36363636, -0.36363636, -0.09090909, -0.09090909, +0.81818182, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.13855341, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, +0.00000000, +0.61616162, +0.18267763, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, +0.00000000, +0.61616162, +0.18267763, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, -1.00000000, +0.61616162, +0.09572465, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, +0.00000000, +0.61616162, +0.08314744, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, +0.00000000, +0.61616162, +0.08015346, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01974325, +0.00000000, -1.00000000, +0.03960759, +0.21640067, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01394898, +0.00000000, +0.61616162, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.21456959, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01772354, +0.00000000, +0.61616162, +0.03911632, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.09090909, +0.81818182, -0.45454545, -0.18181818, -0.36363636, -0.36363636, }, /* Linux 2.6.38 - 2.6.39 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0.16666667, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.16666667, -0.16666667, -0.16666667, 0, -0.33333333, -0.33333333, -0.5, -0.5, -0.5, -0.16666667, -0.16666667, -0.16666667, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016454858, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, 0, 0.7037037, 0.18270147, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, 0, 0.7037037, 0.18270147, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, -1, 0.7037037, 0.095737134, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, 0, 0.7037037, 0.083158282, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, 0, 0.7037037, 0.080163913, 0.2173902, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020026117, 0, -1, 0.039612762, 0.21922128, 0, 1, 0, 0, 1, 0, 0.83333333, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014172824, 0, 0.7037037, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.2173902, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018007633, 0, 0.7037037, 0.039121486, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.16666667, 0.66666667, -0.33333333, 0, -0.5, -0.5, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.16666667, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.16666667, -0.16666667, -0.16666667, +0.00000000, -0.33333333, -0.33333333, -0.50000000, -0.50000000, -0.50000000, -0.16666667, -0.16666667, -0.16666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01645670, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, +0.00000000, +0.70370370, +0.18270147, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, +0.00000000, +0.70370370, +0.18270147, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, -1.00000000, +0.70370370, +0.09573713, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, +0.00000000, +0.70370370, +0.08315828, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, +0.00000000, +0.70370370, +0.08016391, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02002612, +0.00000000, -1.00000000, +0.03961276, +0.21922128, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01423352, +0.00000000, +0.70370370, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.21739020, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01800763, +0.00000000, +0.70370370, +0.03912149, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.16666667, +0.66666667, -0.33333333, +0.00000000, -0.50000000, -0.50000000, }, /* Linux 2.6.32 - 2.6.39 */ - { 0.83333333, 0, 0.5, 0.83333333, 0, 0.5, 1, 0, 0.5, 0.83333333, 0, 0.5, 0.83333333, 0, 0.5, 0.8, 0, 0.5, -0.5, -0.5, -0.125, -0.625, -0.75, -0.625, -0.75, -0.75, -0.75, -0.875, -0.875, -0.875, 1, 0, 0.5, -0.75, -0.875, -0.875, -0.26470588, -0.5, -0.125, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.11400522, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.625, 0.18270512, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.625, 0.18270512, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.625, 0.095739046, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.625, 0.083159944, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.625, 0.080165515, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.039613553, 0.21972992, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.625, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.54328794, -0.625, -0.25, -0.625, -0.625, -0.625, -0.625, -0.625, -0.625, -0.625, -0.625, -0.625, -0.625, -0.5, -0.46428571, -0.25, -0.625, -0.51785714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, -0.58333333, -0.25, -0.625, -0.54166667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.61822793, -0.625, -0.41666667, -0.61032915, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, 0, -0.75, -0.625, -0.75, -0.75, }, + { +0.83333333, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +1.00000000, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +0.80000000, +0.00000000, +0.50000000, -0.50000000, -0.50000000, -0.12500000, -0.62500000, -0.75000000, -0.62500000, -0.75000000, -0.75000000, -0.75000000, -0.87500000, -0.87500000, -0.87500000, +1.00000000, +0.00000000, +0.50000000, -0.75000000, -0.87500000, -0.87500000, -0.26470588, -0.50000000, -0.12500000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.11400688, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.62500000, +0.18270512, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.62500000, +0.18270512, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.62500000, +0.09573905, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.62500000, +0.08315994, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.62500000, +0.08016551, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.03961355, +0.21972992, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.62500000, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.54328794, -0.62500000, -0.25000000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.50000000, -0.46428571, -0.25000000, -0.62500000, -0.51785714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.58333333, -0.25000000, -0.62500000, -0.54166667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.61822793, -0.62500000, -0.41666667, -0.61032915, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, +0.00000000, -0.75000000, -0.62500000, -0.75000000, -0.75000000, }, /* HP ProCurve 2520G switch */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.70866514, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.11111111, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.11111111, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0.11111111, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.11111111, 0.45515936, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.11111111, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.70866569, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.11111111, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.11111111, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.11111111, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.11111111, +0.45515936, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.11111111, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* OpenIndiana oi_148 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 1, 0, 1, 1, 0, 1, -1, -1, -1, 0, 0, 1, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 1.4997224e-05, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.83034414, 0.98484779, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.83399829, 0.97743191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.14285714, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0.33333333, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.11111111, 0.43372227, 0.97694362, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.376547, 0.97947662, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.36393207, 0.99987793, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18359227, 0.97779812, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.82801171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.97671473, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.11111111, 0.17890764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00001687, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.83034414, +0.98484779, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.83399829, +0.97743191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.14285714, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.11111111, +0.43372227, +0.97694362, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.37654700, +0.97947662, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.36393207, +0.99987793, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18359227, +0.97779812, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.82801171, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.97671473, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.11111111, +0.17890764, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Microsoft Windows 7 Professional SP1 */ - { 0.5, 0, 0.2513089, 0.5, 0, 0.2513089, 0.6, 0, 0.2513089, 0.125, -0.25, 0.0013089005, -0.083333333, -0.25, 0.0013089005, -0.05, -0.25, 0.0013089005, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.41666667, 0, 0.2513089, -1, -1, -1, -1, -1, -1, -0.75, -0.75, -0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.37491868, 0.53125048, 0, 0.5, 0.25, 0, 0.75, 0, 0, 0, 0, 0, 0, 0, -0.083333333, -0.14285714, 0.32142857, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25, -0.22222222, 0.30555556, -0.66666667, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49288793, -0.5, -0.52777778, -0.26232936, 0.53125048, 0, 0.5, 0.25, 0, 0.75, 0, 0, 0, 0, 0, 0, 0, -0.083333333, -0.14285714, 0.32142857, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25, -0.22222222, 0.30555556, -0.66666667, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49288793, -0.5, -0.52777778, -0.26232936, 0.53125048, 0, 0.5, 0.25, 0, 0.75, 0, 0, 0, 0, 0, 0, 0, 0.25, -0.25, 0.071428571, -0.25, -0.75, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25, -0.25, 0.055555556, -0.25, -0.75, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49288793, -1, -0.52777778, -0.37545855, 0.031250477, -0.25, 0.25, 0, -0.25, 0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.33333333, -0.39285714, -0.17857143, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -0.47222222, -0.19444444, -0.66666667, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49288793, -0.5, -0.52777778, -0.39182198, 0, -0.25, 0, 0.25, -0.25, 0, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.66666667, -0.64285714, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.72222222, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.74644397, -0.75, -1, -0.65710521, -0.21874952, -0.25, 0, 0.25, -0.25, 0, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.66666667, -0.64285714, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.72222222, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.74498072, -0.75, -1, -0.74437268, 0.53125048, 0, 0.5, 0.25, 0, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, -0.5, -0.25, -0.25, -0.66666667, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -0.5, -0.33333333, -0.25, -0.75, -0.625, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49288793, -0.5, -0.52777778, -0.26232936, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.50000000, +0.00000000, +0.25130890, +0.50000000, +0.00000000, +0.25130890, +0.60000000, +0.00000000, +0.25130890, +0.12500000, -0.25000000, +0.00130890, -0.08333333, -0.25000000, +0.00130890, -0.05000000, -0.25000000, +0.00130890, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.41666667, +0.00000000, +0.25130890, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.75000000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.37491986, +0.53125048, +0.00000000, +0.50000000, +0.25000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.08333333, -0.14285714, +0.32142857, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25000000, -0.22222222, +0.30555556, -0.66666667, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49285758, -0.50000000, -0.52777778, -0.26232936, +0.53125048, +0.00000000, +0.50000000, +0.25000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.08333333, -0.14285714, +0.32142857, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25000000, -0.22222222, +0.30555556, -0.66666667, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49285758, -0.50000000, -0.52777778, -0.26232936, +0.53125048, +0.00000000, +0.50000000, +0.25000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, -0.25000000, +0.07142857, -0.25000000, -0.75000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25000000, -0.25000000, +0.05555556, -0.25000000, -0.75000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49285758, -1.00000000, -0.52777778, -0.37545855, +0.03125048, -0.25000000, +0.25000000, +0.00000000, -0.25000000, +0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.33333333, -0.39285714, -0.17857143, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -0.47222222, -0.19444444, -0.66666667, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49285758, -0.50000000, -0.52777778, -0.39182198, +0.00000000, -0.25000000, +0.00000000, +0.25000000, -0.25000000, +0.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.66666667, -0.64285714, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.72222222, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.74642879, -0.75000000, -1.00000000, -0.65710521, -0.21874952, -0.25000000, +0.00000000, +0.25000000, -0.25000000, +0.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.66666667, -0.64285714, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.72222222, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.74498072, -0.75000000, -1.00000000, -0.74437268, +0.53125048, +0.00000000, +0.50000000, +0.25000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.50000000, -0.25000000, -0.25000000, -0.66666667, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -0.50000000, -0.33333333, -0.25000000, -0.75000000, -0.62500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49285758, -0.50000000, -0.52777778, -0.26232936, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Linux 2.6.11 - 2.6.15 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0.5, 0, 0, -0.125, -0.5, -0.5, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0.0026041667, 0, 0, 0, 0, 0, 0.0026041667, 0, 0.25236881, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, 0, 0.13888889, 0.071651052, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, 0, 0.13888889, 0.071651052, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.13888889, 0.037545765, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, 0, 0.13888889, 0.032612647, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, 0, 0.13888889, 0.031438329, 0.083497368, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019158964, 0, -1, 0.015535158, 0.084229801, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, 0, 0.13888889, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.083497368, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.017136709, 0, 0.13888889, 0.015031565, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, -0.5, -0.25, -1, -1, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -0.12500000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00260417, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00260417, +0.00000000, +0.25237021, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, +0.00000000, +0.13888889, +0.07165105, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, +0.00000000, +0.13888889, +0.07165105, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.13888889, +0.03754577, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, +0.00000000, +0.13888889, +0.03261265, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, +0.00000000, +0.13888889, +0.03143833, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01915896, +0.00000000, -1.00000000, +0.01553516, +0.08422980, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, +0.00000000, +0.13888889, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08349737, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01713671, +0.00000000, +0.13888889, +0.01503157, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, -0.50000000, -0.25000000, -1.00000000, -1.00000000, }, /* VMware ESXi 5 */ - { 0.83333333, 0.078125, 0, 0.83333333, 0.078125, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, 1, 0.010416667, 0, -1, -1, -1, 0.29411765, 0.010416667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.041302883, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 1, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, }, + { +0.83333333, +0.07812500, +0.00000000, +0.83333333, +0.07812500, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.01041667, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.01041667, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04130468, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +1.00000000, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, }, /* Linux 2.4.21 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.4774745, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.071681282, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.071681282, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.037561606, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.032626407, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.031451593, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.015541712, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.47747548, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.07168128, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.07168128, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.03756161, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.03262641, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.03145159, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.01554171, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Equinox CCM4850 remote management appliance or Nokia 5530 XpressMusic phone */ - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -0.5, 0.5, 0, -0.5, 1, 0, 0, 0, 0, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -0.5, 0, 0, -0.5, 0, 0, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, 0, 0.5, 0, 0, }, + { -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -0.50000000, +0.50000000, +0.00000000, -0.50000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -0.50000000, +0.00000000, +0.00000000, -0.50000000, +0.00000000, +0.00000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* HP LaserJet P2055dn printer, TP-LINK TL-SG-series switch, or Zoom 5352 modem */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -1, -1, -1, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0.66666667, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.31098874, 0.2349279, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.1971662, 0.23309682, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.19561125, 0.23424125, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.10301123, 0.2351873, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.089842308, 0.23352407, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.085987533, 0.23229191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, -1, -1, 0.042263619, 0.23547723, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.19763269, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.23229191, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, -1, 0, 0.0417737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.31099003, +0.23492790, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.19716620, +0.23309682, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.19561125, +0.23424125, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.10301123, +0.23518730, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.08984231, +0.23352407, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.08598753, +0.23229191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, -1.00000000, -1.00000000, +0.04226362, +0.23547723, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.19763269, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.23229191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, -1.00000000, +0.00000000, +0.04177370, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Vista SP2, Windows 7, Windows 8, Server 2008 R2, or Server 2012 R2 */ - { 0.83333333, 0, 0.16753927, 0.83333333, 0, 0.16753927, 1, 0, 0.16753927, 0.83333333, 0, 0.16753927, 0.83333333, 0, 0.16753927, 0.8, 0, 0.16753927, -0.33333333, -0.33333333, -0.2495637, -1, -1, -1, 0.83333333, -0.083333333, -0.083333333, -1, -1, -1, 1, 0.00086805556, 0.16753927, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.38391489, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, 0, 0.88888889, 0.10420164, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, 0, 0.88888889, 0.10420164, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, -1, 0.88888889, 0.054602552, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, 0, 0.88888889, 0.047428352, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, 0, 0.88888889, 0.045720548, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020000612, 0, -1, 0.022592675, 0.12500191, 0, 1, 0, 0, 1, 0, 0.083333333, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014147167, 0, 0.88888889, 0.10420164, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -1, -1, -0.083333333, -0.083333333, }, + { +0.83333333, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +0.80000000, +0.00000000, +0.16753927, -0.33333333, -0.33333333, -0.24956370, -1.00000000, -1.00000000, -1.00000000, +0.83333333, -0.08333333, -0.08333333, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00086806, +0.16753927, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.38391604, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, +0.00000000, +0.88888889, +0.10420164, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, +0.00000000, +0.88888889, +0.10420164, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, -1.00000000, +0.88888889, +0.05460255, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, +0.00000000, +0.88888889, +0.04742835, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, +0.00000000, +0.88888889, +0.04572055, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02000061, +0.00000000, -1.00000000, +0.02259267, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.08333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01420787, +0.00000000, +0.88888889, +0.10420164, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -0.08333333, -0.08333333, }, /* Brother MFC-9440CN printer */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.048692565, 0.12890822, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0, 0.10867609, 0.12707713, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0, 0.10866257, 0.13415732, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 0.13309809, 0.12890822, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0, 0.049464938, 0.12793164, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 0.12703833, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04869435, +0.12890822, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.00000000, +0.10867609, +0.12707713, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.00000000, +0.10866257, +0.13415732, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +0.13309809, +0.12890822, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.00000000, +0.04946494, +0.12793164, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +0.12703833, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Cisco 2600 router */ - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, 0, 0.93333333, 0, 0, 0, 0, 0.33333333, 1, 0, 0, 1, 0, -1, -1, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.051155868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.93333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05115587, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Cisco 3750G switch */ - { 0.16666667, 1, 0, 0.16666667, 1, 0, 0.2, 1, 0, 0.16666667, 1, 0, 0.16666667, 1, 0, 0.2, 1, 0, 0.26666667, 0, 0, 0.5, 0, 0, 0, 0.93333333, 0, 0, 0, 0, 0.33333333, 1, 0, 0, 1, 0, 0.058823529, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0.18216266, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.051155868, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, -1, -1, 0.052684167, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, -1, 0.061842947, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.066881634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.062029411, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 0.062514944, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.051155868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.062989242, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, -1, -1, 0.01058559, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.16666667, +1.00000000, +0.00000000, +0.16666667, +1.00000000, +0.00000000, +0.20000000, +1.00000000, +0.00000000, +0.16666667, +1.00000000, +0.00000000, +0.16666667, +1.00000000, +0.00000000, +0.20000000, +1.00000000, +0.00000000, +0.26666667, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.93333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.05882353, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.18216420, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05115587, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, -1.00000000, -1.00000000, +0.05268417, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, -1.00000000, +0.06184295, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00006157, -1.00000000, -1.00000000, +0.06688163, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.06202941, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +0.06251494, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05115587, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, -1.00000000, -1.00000000, +0.01058559, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Cisco IOS 15.0 */ - { 0.16666667, 1, 1, 0.16666667, 1, 1, 0.2, 1, 1, 0.16666667, 1, 1, 0.16666667, 1, 1, 0.2, 1, 1, 0, 0, 0, 0.5, 0, 0, -0.5, -0.033333333, -0.5, 0, 0, 0, 0.33333333, 1, 1, -1, -1, -1, -0.47058824, 0, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, -0.5, 0, -0.5, 0.41916629, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007112069, -1, -1, 0.099048502, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0068041872, -1, -1, 0.099812651, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0009544335, -1, -1, 0.06942068, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.066881634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00015394089, -1, -1, 0.063251383, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 0.062514944, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007112069, -1, -1, 0.099048502, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.46850538, -0.5, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49097057, -1, -1, -0.4947072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -0.5, -0.5, }, + { +0.16666667, +1.00000000, +1.00000000, +0.16666667, +1.00000000, +1.00000000, +0.20000000, +1.00000000, +1.00000000, +0.16666667, +1.00000000, +1.00000000, +0.16666667, +1.00000000, +1.00000000, +0.20000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -0.50000000, -0.03333333, -0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.47058824, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, -0.50000000, +0.00000000, -0.50000000, +0.41916738, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00717320, -1.00000000, -1.00000000, +0.09904850, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00686534, -1.00000000, -1.00000000, +0.09981265, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00101595, -1.00000000, -1.00000000, +0.06942068, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00006157, -1.00000000, -1.00000000, +0.06688163, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00021550, -1.00000000, -1.00000000, +0.06325138, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +0.06251494, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00717320, -1.00000000, -1.00000000, +0.09904850, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.46850538, -0.50000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49097057, -1.00000000, -1.00000000, -0.49470720, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -0.50000000, -0.50000000, }, /* FreeBSD 8.1 - 8.2 */ - { 0.83333333, 0, -0.33333333, 0.83333333, 0.026041667, -0.33333333, 1, 0, -0.33333333, 0.83333333, 0.026041667, -0.33333333, 0.83333333, 0, -0.33333333, 0.8, 0, -0.33333333, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.66666667, 1, 0.012152778, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -0.33333333, -1, -1, -1, -1, -1, -1, 0.31029986, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.48148148, 0.86621056, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013310755, 0, 0.48148148, 0.88234791, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0.48148148, 0.99843658, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.48148148, 0.39426384, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.48148148, 0.99843689, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 0.9984377, 0.99843849, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.48148148, 0.86621056, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, }, + { +0.83333333, +0.00000000, -0.33333333, +0.83333333, +0.02604167, -0.33333333, +1.00000000, +0.00000000, -0.33333333, +0.83333333, +0.02604167, -0.33333333, +0.83333333, +0.00000000, -0.33333333, +0.80000000, +0.00000000, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.66666667, +1.00000000, +0.01215278, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.31030116, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.48148148, +0.86621056, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337151, +0.00000000, +0.48148148, +0.88234791, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.48148148, +0.99843658, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.48148148, +0.39426384, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.48148148, +0.99843689, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +0.99843770, +0.99843849, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.48148148, +0.86621056, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, }, /* HP LaserJet P1606dn or M1212nf printer */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.5, 0, 0, 0.75, 0, 0, 1, 0, 0, -0.5, -0.5, -0.5, 0.66666667, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.42528052, 0.1307393, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10868923, 0.12707713, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, -1, 0.10866257, 0.13415732, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, -1, 0.13309809, 0.1307393, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.049470919, 0.12793164, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, -1, 0.12703833, 0.12739757, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 0.12695588, 0.13183795, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.1096222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, +0.66666667, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.42528160, +0.13073930, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10868923, +0.12707713, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, -1.00000000, +0.10866257, +0.13415732, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, -1.00000000, +0.13309809, +0.13073930, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.04947092, +0.12793164, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, -1.00000000, +0.12703833, +0.12739757, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +0.12695588, +0.13183795, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10962220, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* FreeBSD 6.1-RELEASE */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0.020833333, 0, -1, -1, -1, 0.35294118, 0.026041667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33799, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.11111111, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18361475, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.11111111, 0.18319713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.02083333, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.35294118, +0.02604167, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33799124, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.11111111, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18361475, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.11111111, +0.18319713, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Linux 2.6.23 - 2.6.33 (embedded) */ - { 0.5, 0, 0, 0.5, 0, 0, 0.4, 0, 0, 0.5, 0, 0, 0.5, 0, 0, 0.4, 0, 0, 0.5, 0, 0, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.17647059, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016636222, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.38888889, 0.072303265, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.38888889, 0.072303265, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.38888889, 0.03788753, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.38888889, 0.032909508, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.38888889, 0.0317245, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.015676568, 0.087891966, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.38888889, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.087891966, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.38888889, 0.015173048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, 0, 0.5, 0, 0, }, + { +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.17647059, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01663807, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.38888889, +0.07230326, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.38888889, +0.07230326, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.38888889, +0.03788753, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.38888889, +0.03290951, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.38888889, +0.03172450, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.01567657, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.38888889, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.38888889, +0.01517305, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Thecus N4100PRO NAS device (Linux 2.6.33) */ - { 0.33333333, 0, 0, 0.33333333, 0, 0, 0.2, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0.66666667, 0, 0, -1, -1, -1, 0.11764706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016193789, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.072303265, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.072303265, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.03788753, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.032909508, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.0317245, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.015676568, 0.087891966, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.087891966, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, -1, 0.015173048, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.11764706, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01619564, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.07230326, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.07230326, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.03788753, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.03290951, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.03172450, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.01567657, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, -1.00000000, +0.01517305, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Oracle Solaris 10 or Sun OpenSolaris svn_111b */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0.5, 0, 1, 0.75, 0, 1, 0, -0.5, -0.5, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 1.3390798e-05, 0.76264591, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.33333333, 0, 0.28571429, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.64530442, 0.76246281, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.33333333, 0, 0.28571429, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.64514892, 0.75703059, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.14285714, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0.33333333, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.3356463, 0.75574884, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.33333333, 0, 0.28571429, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.29105048, 0.75159838, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.33333333, 0, 0.28571429, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.27902384, 0.75280385, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0.25, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.13810076, 0.7690547, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.65074677, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, 0, 0.5, -0.5, -0.5, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +1.00000000, +0.75000000, +0.00000000, +1.00000000, +0.00000000, -0.50000000, -0.50000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00001527, +0.76264591, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.64530442, +0.76246281, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.64514892, +0.75703059, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.14285714, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.33564630, +0.75574884, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.29105048, +0.75159838, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.27902384, +0.75280385, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.13810076, +0.76905470, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.65074677, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.50000000, -0.50000000, -0.50000000, }, /* Oracle Solaris 11 or OpenIndiana */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.66666667, -0.66666667, -0.33333333, -0.5, -0.66666667, -0.33333333, 1, 0, 0, 0, 0, 1, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 1.3775929e-05, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.83034414, 0.98484779, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.83399829, 0.97743191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.14285714, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0.33333333, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.11111111, 0.43372227, 0.97694362, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.376547, 0.97947662, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.36393207, 0.99987793, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18359227, 0.97779812, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.11111111, 0.82801171, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.97671473, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.11111111, 0.17890764, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.66666667, -0.33333333, -0.66666667, -0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.66666667, -0.66666667, -0.33333333, -0.50000000, -0.66666667, -0.33333333, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00001565, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.83034414, +0.98484779, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.83399829, +0.97743191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.14285714, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.11111111, +0.43372227, +0.97694362, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.37654700, +0.97947662, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.36393207, +0.99987793, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18359227, +0.97779812, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.11111111, +0.82801171, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.97671473, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.11111111, +0.17890764, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.66666667, -0.33333333, -0.66666667, -0.50000000, +0.00000000, +0.00000000, }, /* Microsoft Windows 7 SP0 - SP1 */ - { 0.83333333, 0, 0.16753927, 0.83333333, 0, 0.16753927, 1, 0, 0.16753927, 0.83333333, 0, 0.16753927, 0.83333333, 0, 0.16753927, 0.8, 0, 0.16753927, 1, 0, 0.16753927, 1, 0, 0.16753927, 1, 0, 0, 0, 0, 0.16753927, 1, 0, 0.16753927, 0, 0, 0.16753927, 0, 0, 0.16753927, 0, 0, 0.16753927, 0, 0, 0.16753927, 0, 0, 0.16753927, 0, 0, 0.16753927, 0.42919843, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.88888889, 0.054401015, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.047253294, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.045551794, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.022509285, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +0.83333333, +0.00000000, +0.16753927, +0.80000000, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16753927, +1.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.00000000, +0.00000000, +0.16753927, +0.42919950, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.88888889, +0.05440101, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.04725329, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.04555179, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.02250929, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* OpenBSD 4.4 - 4.8 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, -0.5, -0.5, -0.5, -0.5, -0.5, 1, 0, 0, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, 0.42178693, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, 0, 0, 0.23245652, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, 0, 0, 0.23245652, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, -1, 0, 0.12180921, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, 0, 0, 0.10580476, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, 0, 0, 0.10199494, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018057171, 0, -1, 0.050400499, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012192118, 0, 0, 0.23245652, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, -0.5, -0.5, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, +0.42178801, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, +0.00000000, +0.00000000, +0.23245652, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, +0.00000000, +0.00000000, +0.23245652, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, -1.00000000, +0.00000000, +0.12180921, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, +0.00000000, +0.00000000, +0.10580476, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, +0.00000000, +0.00000000, +0.10199494, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805717, +0.00000000, -1.00000000, +0.05040050, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01225294, +0.00000000, +0.00000000, +0.23245652, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -0.50000000, -0.50000000, }, /* Cisco 1841 or 2509 router (IOS 12.3 - 15.4) */ - { 0.16666667, 1, 0.66666667, 0.16666667, 1, 0.66666667, 0.2, 1, 0.66666667, 0.16666667, 1, 0.66666667, 0.16666667, 1, 0.66666667, 0.2, 1, 0.66666667, 0.66666667, 0, 0, 0.83333333, 0, 0, 0, 0.93333333, 0, 0, 0, 0, 0.33333333, 1, 0.66666667, 0, 1, 0, -1, -1, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0.37114277, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.051155868, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, -1, -1, 0.052684167, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, -1, 0.061842947, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.066881634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.062029411, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 0.062514944, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.051155868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.33333333, 0, 0.5, 0, 0, }, + { +0.16666667, +1.00000000, +0.66666667, +0.16666667, +1.00000000, +0.66666667, +0.20000000, +1.00000000, +0.66666667, +0.16666667, +1.00000000, +0.66666667, +0.16666667, +1.00000000, +0.66666667, +0.20000000, +1.00000000, +0.66666667, +0.66666667, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.00000000, +0.93333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +1.00000000, +0.66666667, +0.00000000, +1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.37114395, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05115587, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, -1.00000000, -1.00000000, +0.05268417, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, -1.00000000, +0.06184295, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00006157, -1.00000000, -1.00000000, +0.06688163, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.06202941, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +0.06251494, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05115587, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.33333333, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Cisco IOS 12 */ - { 0.16666667, 0.25, 0.25, 0.16666667, 0.25, 0.25, 0.2, 0.25, 0.25, 0.16666667, 0.25, 0.25, 0.16666667, 0.25, 0.25, 0.2, 0.25, 0.25, -0.75, -0.75, -0.75, -1, -1, -1, -1, -1, -1, -0.25, -0.25, -0.25, 0.33333333, 0.25, 0.25, -1, -1, -1, -1, -1, -1, 0, 0.25, 0, -0.25, 0, -0.25, -0.25, 0, -0.25, -0.25, 0, -0.25, 0.35488134, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0035560345, -1, -1, 0.12299482, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0034020936, -1, -1, 0.12337689, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00047721675, -1, -1, 0.073209547, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.066881634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 7.6970443e-05, -1, -1, 0.063862369, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 0.062514944, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0035560345, -1, -1, 0.12299482, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.75, -0.5, -1, -1, -1, -1, }, + { +0.16666667, +0.25000000, +0.25000000, +0.16666667, +0.25000000, +0.25000000, +0.20000000, +0.25000000, +0.25000000, +0.16666667, +0.25000000, +0.25000000, +0.16666667, +0.25000000, +0.25000000, +0.20000000, +0.25000000, +0.25000000, -0.75000000, -0.75000000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, +0.33333333, +0.25000000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.25000000, +0.00000000, -0.25000000, +0.00000000, -0.25000000, -0.25000000, +0.00000000, -0.25000000, -0.25000000, +0.00000000, -0.25000000, +0.35488255, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00361739, -1.00000000, -1.00000000, +0.12299482, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00346346, -1.00000000, -1.00000000, +0.12337689, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00053876, -1.00000000, -1.00000000, +0.07320955, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00006157, -1.00000000, -1.00000000, +0.06688163, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00013854, -1.00000000, -1.00000000, +0.06386237, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +0.06251494, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00361739, -1.00000000, -1.00000000, +0.12299482, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Apple Mac OS X 10.6.8 - 10.7.3 (Snow Leopard - Lion) (Darwin 10.8.0 - 11.3.0) */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32753444, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.33333333, 0.072576458, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.33333333, 0.072576458, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24334975, -1, 0.33333333, 0.038030686, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.33333333, 0.033033854, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.33333333, 0.031844369, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24784232, 0, -1, 0.015735801, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.33333333, 0.072576458, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.32753571, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.33333333, +0.07257646, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.33333333, +0.07257646, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, -1.00000000, +0.33333333, +0.03803069, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.33333333, +0.03303385, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.33333333, +0.03184437, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24784232, +0.00000000, -1.00000000, +0.01573580, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.33333333, +0.07257646, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Apple Mac OS X 10.4.11 - 10.7 (Tiger - Lion) or iOS 4.3.3 (Darwin 8.11.1 - 11.3.0) */ - { 0.78571429, -0.071428571, -0.071428571, 0.78571429, -0.071428571, -0.071428571, 0.8, -0.071428571, -0.071428571, 0.78571429, -0.071428571, -0.071428571, 0.75, -0.071428571, -0.071428571, 0.77142857, -0.071428571, -0.071428571, -1, -1, -1, -0.14285714, -0.42857143, -0.42857143, -0.5, -0.5, -0.5, -0.21428571, -0.21428571, -0.21428571, 0.78571429, -0.071428571, -0.071428571, -1, -1, -1, -1, -1, -1, -0.071428571, -0.071428571, -0.071428571, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, 0.2342554, 0.85714286, -0.071428571, 0.71428571, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.19047619, -0.071428571, 0.29591837, -0.21428571, -0.21428571, 0.57142857, 0.12244898, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, 0.71428571, -0.071428571, 0.24603175, -0.21428571, -0.21428571, 0.57142857, -0.12698413, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, -0.20359342, -0.21428571, -0.015873016, 0.47298499, 0.85714286, -0.071428571, 0.71428571, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.19047619, -0.071428571, 0.29591837, -0.21428571, -0.21428571, 0.57142857, 0.12244898, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, 0.71428571, -0.071428571, 0.24603175, -0.21428571, -0.21428571, 0.57142857, -0.12698413, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, -0.20359342, -0.21428571, -0.015873016, 0.47298499, 0.85714286, -0.071428571, 0.71428571, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.71428571, -0.071428571, 0.29591837, -0.21428571, -0.21428571, 0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.71428571, -0.071428571, 0.24603175, -0.21428571, -0.21428571, 0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.20359342, -1, -0.015873016, 0.14585003, 0.85714286, -0.071428571, 0.71428571, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.19047619, -0.071428571, 0.29591837, -0.21428571, -0.21428571, 0.57142857, 0.12244898, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, 0.71428571, -0.071428571, 0.24603175, -0.21428571, -0.21428571, 0.57142857, -0.12698413, -0.21428571, -0.21428571, -1, -1, -1, -1, -1, -1, -1, -0.20359342, -0.21428571, -0.015873016, 0.098531983, 0.85714286, -0.071428571, 0.64285714, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.16666667, -0.071428571, 0.34693878, -0.28571429, -0.28571429, 0.42857143, 0.020408163, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, 0.64285714, -0.071428571, 0.3015873, -0.28571429, -0.28571429, 0.42857143, -0.20634921, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -0.276038, -0.28571429, -0.11111111, -0.010701918, 0.85714286, -0.071428571, 0.64285714, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.16666667, -0.071428571, 0.14285714, 0.42857143, 0.42857143, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.64285714, -0.071428571, 0.14285714, 0.42857143, 0.42857143, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.27185442, -0.28571429, -1, -0.14981773, 0.85714286, -0.071428571, 0.78571429, -0.071428571, -0.071428571, 0.85714286, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, 0.71428571, -0.14285714, 0.71428571, 0.71428571, -0.14285714, -0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.71428571, -0.14285714, 0.42857143, 0.71428571, -0.14285714, -0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.13114884, -0.14285714, 0.079365079, 0.60490396, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -0.071428571, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.42857143, -0.14285714, -0.5, -0.5, }, + { +0.78571429, -0.07142857, -0.07142857, +0.78571429, -0.07142857, -0.07142857, +0.80000000, -0.07142857, -0.07142857, +0.78571429, -0.07142857, -0.07142857, +0.75000000, -0.07142857, -0.07142857, +0.77142857, -0.07142857, -0.07142857, -1.00000000, -1.00000000, -1.00000000, -0.14285714, -0.42857143, -0.42857143, -0.50000000, -0.50000000, -0.50000000, -0.21428571, -0.21428571, -0.21428571, +0.78571429, -0.07142857, -0.07142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.07142857, -0.07142857, -0.07142857, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, +0.23425657, +0.85714286, -0.07142857, +0.71428571, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.19047619, -0.07142857, +0.29591837, -0.21428571, -0.21428571, +0.57142857, +0.12244898, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.71428571, -0.07142857, +0.24603175, -0.21428571, -0.21428571, +0.57142857, -0.12698413, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20354570, -0.21428571, -0.01587302, +0.47298499, +0.85714286, -0.07142857, +0.71428571, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.19047619, -0.07142857, +0.29591837, -0.21428571, -0.21428571, +0.57142857, +0.12244898, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.71428571, -0.07142857, +0.24603175, -0.21428571, -0.21428571, +0.57142857, -0.12698413, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20354570, -0.21428571, -0.01587302, +0.47298499, +0.85714286, -0.07142857, +0.71428571, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.71428571, -0.07142857, +0.29591837, -0.21428571, -0.21428571, +0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.71428571, -0.07142857, +0.24603175, -0.21428571, -0.21428571, +0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20354570, -1.00000000, -0.01587302, +0.14585003, +0.85714286, -0.07142857, +0.71428571, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.19047619, -0.07142857, +0.29591837, -0.21428571, -0.21428571, +0.57142857, +0.12244898, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.71428571, -0.07142857, +0.24603175, -0.21428571, -0.21428571, +0.57142857, -0.12698413, -0.21428571, -0.21428571, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20354570, -0.21428571, -0.01587302, +0.09853198, +0.85714286, -0.07142857, +0.64285714, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.16666667, -0.07142857, +0.34693878, -0.28571429, -0.28571429, +0.42857143, +0.02040816, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.64285714, -0.07142857, +0.30158730, -0.28571429, -0.28571429, +0.42857143, -0.20634921, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.27599462, -0.28571429, -0.11111111, -0.01070192, +0.85714286, -0.07142857, +0.64285714, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.16666667, -0.07142857, +0.14285714, +0.42857143, +0.42857143, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.64285714, -0.07142857, +0.14285714, +0.42857143, +0.42857143, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.27185442, -0.28571429, -1.00000000, -0.14981773, +0.85714286, -0.07142857, +0.78571429, -0.07142857, -0.07142857, +0.85714286, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, +0.71428571, -0.14285714, +0.71428571, +0.71428571, -0.14285714, -0.14285714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.71428571, -0.14285714, +0.42857143, +0.71428571, -0.14285714, -0.14285714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.13109678, -0.14285714, +0.07936508, +0.60490396, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -0.07142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.42857143, -0.14285714, -0.50000000, -0.50000000, }, /* HP OfficeJet 8500 printer */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0.5, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14528668, 0.043579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.034673338, 0.042359045, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0, 0.034664452, 0.038330663, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 0.037154201, 0.043579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.015781894, 0.03198291, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 0.030991317, 0.034744793, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 0.034256198, 0.043945983, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.034984329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14528829, +0.04357977, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.03467334, +0.04235904, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.00000000, +0.03466445, +0.03833066, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +0.03715420, +0.04357977, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.01578189, +0.03198291, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +0.03099132, +0.03474479, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +0.03425620, +0.04394598, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.03498433, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Brother HL-L5200W or HP LaserJet CP1525nw or CP2025dn printer */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0.5, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.26709535, 0.13261921, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013866995, 0, 0, 0.11237095, 0.12968948, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013374384, 0, 0, 0.11234962, 0.13415732, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 0.13309809, 0.13261921, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013866995, 0, 0, 0.051146689, 0.12793164, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 0.12703833, 0.12739757, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 0.12695588, 0.13375448, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013866995, 0, 0, 0.11335409, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.26709672, +0.13261921, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01392771, +0.00000000, +0.00000000, +0.11237095, +0.12968948, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343513, +0.00000000, +0.00000000, +0.11234962, +0.13415732, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +0.13309809, +0.13261921, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01392771, +0.00000000, +0.00000000, +0.05114669, +0.12793164, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +0.12703833, +0.12739757, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +0.12695588, +0.13375448, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01392771, +0.00000000, +0.00000000, +0.11335409, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* AVM FRITZ!Box 7390 WAP or Cisco SA520 Security Appliance */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.15027169, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.071681282, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.071681282, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.22222222, 0.037561606, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.032626407, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.031451593, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.015541712, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.087159533, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.22222222, 0.015038123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.15027328, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.07168128, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.07168128, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.22222222, +0.03756161, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.03262641, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.03145159, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.01554171, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.22222222, +0.01503812, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Linux 2.6.18 - 2.6.34 */ - { 0.83333333, 0, 0.1, 0.83333333, 0, 0.1, 1, 0, 0.1, 0.83333333, 0, 0.1, 0.83333333, 0, 0.1, 0.8, 0, 0.1, 0, 0, 0.1, 0.35, -0.1, 0, -0.1, -0.1, -0.1, 0, 0, 0.1, 1, 0, 0.1, -1, -1, -1, 0.29411765, 0, 0.1, 0, 0, 0.1, -0.2, -0.2, -0.1, -0.2, -0.2, -0.1, -0.2, -0.2, -0.1, 0.20072708, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, 0, 0.75555556, 0.071677947, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, 0, 0.75555556, 0.071677947, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, -1, 0.75555556, 0.037559859, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, 0, 0.75555556, 0.032624889, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, 0, 0.75555556, 0.031450129, 0.086707866, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019963886, 0, -1, 0.015540989, 0.087440299, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014110222, 0, 0.75555556, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.086707866, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.017945132, 0, 0.75555556, 0.0150374, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -0.1, 0.35, -0.1, -0.1, }, + { +0.83333333, +0.00000000, +0.10000000, +0.83333333, +0.00000000, +0.10000000, +1.00000000, +0.00000000, +0.10000000, +0.83333333, +0.00000000, +0.10000000, +0.83333333, +0.00000000, +0.10000000, +0.80000000, +0.00000000, +0.10000000, +0.00000000, +0.00000000, +0.10000000, +0.35000000, -0.10000000, +0.00000000, -0.10000000, -0.10000000, -0.10000000, +0.00000000, +0.00000000, +0.10000000, +1.00000000, +0.00000000, +0.10000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.10000000, +0.00000000, +0.00000000, +0.10000000, -0.20000000, -0.20000000, -0.10000000, -0.20000000, -0.20000000, -0.10000000, -0.20000000, -0.20000000, -0.10000000, +0.20072858, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, +0.00000000, +0.75555556, +0.07167795, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, +0.00000000, +0.75555556, +0.07167795, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, -1.00000000, +0.75555556, +0.03755986, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, +0.00000000, +0.75555556, +0.03262489, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, +0.00000000, +0.75555556, +0.03145013, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01996389, +0.00000000, -1.00000000, +0.01554099, +0.08744030, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417093, +0.00000000, +0.75555556, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08670787, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01794513, +0.00000000, +0.75555556, +0.01503740, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, -0.10000000, +0.35000000, -0.10000000, -0.10000000, }, /* Linux 2.6.18 - 2.6.34 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, -0.5, -0.5, -0.5, -1, -1, -1, 1, 0, 0, -1, -1, -1, -0.35294118, -0.5, -0.5, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.29193441, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, 0, 0.72222222, 0.071625202, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, 0, 0.72222222, 0.071625202, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, -1, 0.72222222, 0.03753222, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, 0, 0.72222222, 0.032600881, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, 0, 0.72222222, 0.031426986, 0.080445563, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01839383, 0, -1, 0.015529553, 0.081177996, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012530788, 0, 0.72222222, 0.072303265, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.45642023, -0.5, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.33333333, -0.28571429, 0, -0.5, -0.35714286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -0.44444444, 0, -0.5, -0.38888889, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.49097057, -0.5, -0.11111111, -0.49248094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -0.5, -0.5, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -0.35294118, -0.50000000, -0.50000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29193573, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.72222222, +0.07162520, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.72222222, +0.07162520, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, -1.00000000, +0.72222222, +0.03753222, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.72222222, +0.03260088, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.72222222, +0.03142699, +0.08044556, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01839383, +0.00000000, -1.00000000, +0.01552955, +0.08117800, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.72222222, +0.07230326, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.45642023, -0.50000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.33333333, -0.28571429, +0.00000000, -0.50000000, -0.35714286, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -0.44444444, +0.00000000, -0.50000000, -0.38888889, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.49097057, -0.50000000, -0.11111111, -0.49248094, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -0.50000000, -0.50000000, }, /* Linux 2.6.23 - 2.6.32 */ - { 0.46666667, -0.2, -0.2, 0.46666667, -0.2, -0.2, 0.6, -0.2, -0.2, 0.46666667, -0.2, -0.2, 0.46666667, -0.2, -0.2, 0.44, -0.2, -0.2, 0, 0, 0, 0.2, -0.2, -0.2, -0.4, -0.4, -0.4, -0.4, -0.4, -0.4, 0.6, -0.2, -0.2, -0.6, -0.8, -0.8, -0.6, -0.8, -0.8, -0.2, -0.2, -0.2, 0, 0, 0, 0, 0, 0, -0.4, -0.6, -0.6, 0.0023693677, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.066666667, 0.14285714, 0.6, -0.2, 0.028571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.11111111, 0.6, -0.2, -0.022222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -0.2, 0.33333333, -0.14267741, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.066666667, 0.14285714, 0.6, -0.2, 0.028571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.11111111, 0.6, -0.2, -0.022222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -0.2, 0.33333333, -0.14267741, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -1, 0.33333333, -0.16996247, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.066666667, 0.14285714, 0.6, -0.2, 0.028571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.11111111, 0.6, -0.2, -0.022222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -0.2, 0.33333333, -0.17390908, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.066666667, 0.14285714, 0.6, -0.2, 0.028571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.11111111, 0.6, -0.2, -0.022222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -0.2, 0.33333333, -0.17484857, -0.13295796, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, 0.066666667, 0.14285714, 0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.11111111, 0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18461162, -0.2, -1, -0.18757149, -0.13237201, -0.2, 0.6, -0.2, -0.2, 0.6, -0.2, 0.4, -0.2, -0.2, -0.2, -0.2, -0.2, 0.6, -0.2, -0.2, 0.6, 0.066666667, 0.4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.6, -0.2, -0.2, 0.6, -0.2, 0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18929803, -0.2, 0.33333333, -0.14215739, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0.2, 0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.2, 0.2, 0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -0.2, 0.2, -0.4, -0.4, }, + { +0.46666667, -0.20000000, -0.20000000, +0.46666667, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.46666667, -0.20000000, -0.20000000, +0.46666667, -0.20000000, -0.20000000, +0.44000000, -0.20000000, -0.20000000, +0.00000000, +0.00000000, +0.00000000, +0.20000000, -0.20000000, -0.20000000, -0.40000000, -0.40000000, -0.40000000, -0.40000000, -0.40000000, -0.40000000, +0.60000000, -0.20000000, -0.20000000, -0.60000000, -0.80000000, -0.80000000, -0.60000000, -0.80000000, -0.80000000, -0.20000000, -0.20000000, -0.20000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.40000000, -0.60000000, -0.60000000, +0.00237049, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.06666667, +0.14285714, +0.60000000, -0.20000000, +0.02857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.11111111, +0.60000000, -0.20000000, -0.02222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -0.20000000, +0.33333333, -0.14267741, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.06666667, +0.14285714, +0.60000000, -0.20000000, +0.02857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.11111111, +0.60000000, -0.20000000, -0.02222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -0.20000000, +0.33333333, -0.14267741, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -1.00000000, +0.33333333, -0.16996247, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.06666667, +0.14285714, +0.60000000, -0.20000000, +0.02857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.11111111, +0.60000000, -0.20000000, -0.02222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -0.20000000, +0.33333333, -0.17390908, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.06666667, +0.14285714, +0.60000000, -0.20000000, +0.02857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.11111111, +0.60000000, -0.20000000, -0.02222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -0.20000000, +0.33333333, -0.17484857, -0.13295796, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.06666667, +0.14285714, +0.60000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.11111111, +0.60000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18461162, -0.20000000, -1.00000000, -0.18757149, -0.13237201, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, +0.40000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, +0.06666667, +0.40000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.60000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, +0.60000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18924943, -0.20000000, +0.33333333, -0.14215739, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20000000, +0.20000000, +0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20000000, +0.20000000, +0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -0.80000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, -0.20000000, +0.20000000, -0.40000000, -0.40000000, }, /* Microsoft Windows XP SP3 or Windows Server 2003 SP1 */ - { 0.16666667, 0, 0.083769634, 0.16666667, 0, 0.083769634, 0.2, 0, 0.083769634, 0.16666667, 0, 0.083769634, 0.16666667, 0, 0.083769634, 0.2, 0, 0.083769634, 0, 0, 0.083769634, 0.5, 0, 0.083769634, 0.5, -0.25, -0.25, 0, 0, 0.083769634, 0.33333333, 0, 0.083769634, 0, 0, 0.083769634, 0.058823529, 0, 0.083769634, 0, 0, 0.083769634, 0, 0, 0.083769634, 0, 0, 0.083769634, 0, 0, 0.083769634, 0.35391633, 0.26349279, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.22157901, 0.25635157, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.21551078, 0.25391012, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.11184233, 0.26062409, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.099744323, 0.25354391, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.093512783, 0.25070573, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020061823, -1, -1, 0.045686135, 0.26349279, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014208744, -1, -1, 0.22157901, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25070573, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018043495, -1, -1, 0.045197966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -0.25, -0.25, }, + { +0.16666667, +0.00000000, +0.08376963, +0.16666667, +0.00000000, +0.08376963, +0.20000000, +0.00000000, +0.08376963, +0.16666667, +0.00000000, +0.08376963, +0.16666667, +0.00000000, +0.08376963, +0.20000000, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.50000000, +0.00000000, +0.08376963, +0.50000000, -0.25000000, -0.25000000, +0.00000000, +0.00000000, +0.08376963, +0.33333333, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.05882353, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.00000000, +0.00000000, +0.08376963, +0.35391754, +0.26349279, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.22157901, +0.25635157, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.21551078, +0.25391012, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.11184233, +0.26062409, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.09974432, +0.25354391, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.09351278, +0.25070573, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02006182, -1.00000000, -1.00000000, +0.04568613, +0.26349279, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426944, -1.00000000, -1.00000000, +0.22157901, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25070573, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01804349, -1.00000000, -1.00000000, +0.04519797, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -0.25000000, -0.25000000, }, /* Microsoft Windows 7 SP1 */ - { 0.83333333, 0, 0.33507853, 0.83333333, 0, 0.33507853, 1, 0, 0.33507853, 0.83333333, 0, 0.33507853, 0.83333333, 0, 0.33507853, 0.8, 0, 0.33507853, 0, 0, 0.33507853, -1, -1, -1, 1, 0, 0, -1, -1, -1, 1, 0, 0.33507853, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33507853, -1, -1, -1, -1, -1, -1, 0.38854589, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.88888889, 0.054401015, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.047253294, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.045551794, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.022509285, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.10381703, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, }, + { +0.83333333, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +1.00000000, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +0.80000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.33507853, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33507853, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.38854704, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.88888889, +0.05440101, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.04725329, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.04555179, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.02250929, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.10381703, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 7.4 - 8.2 */ - { 0.83333333, 0.018229167, 0, 0.83333333, 0.013020833, 0, 1, 0.018229167, 0, 0.83333333, 0.014322917, 0, 0.83333333, 0.0026041667, 0, 0.8, 0.0091145833, 0, -0.5, -0.75, -0.75, 0.625, 0, 0, -0.25, -0.25, -0.25, 0, 0, 0, 1, 0.01171875, 0, -1, -1, -1, 0.29411765, 0.0026041667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.41463941, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0.33333333, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0.33333333, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.33333333, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.75, -0.75, 0, 0.5, -0.25, -0.25, }, + { +0.83333333, +0.01822917, +0.00000000, +0.83333333, +0.01302083, +0.00000000, +1.00000000, +0.01822917, +0.00000000, +0.83333333, +0.01432292, +0.00000000, +0.83333333, +0.00260417, +0.00000000, +0.80000000, +0.00911458, +0.00000000, -0.50000000, -0.75000000, -0.75000000, +0.62500000, +0.00000000, +0.00000000, -0.25000000, -0.25000000, -0.25000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.01171875, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00260417, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.41464051, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.33333333, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.33333333, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.33333333, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.75000000, +0.00000000, +0.50000000, -0.25000000, -0.25000000, }, /* Linux 2.6.32 - 2.6.37 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.058823529, -0.058823529, -0.058823529, 0.32352941, -0.11764706, -0.11764706, -0.23529412, -0.23529412, -0.23529412, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.037230615, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, 0, 0.64052288, 0.070592298, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, 0, 0.64052288, 0.070592298, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, -1, 0.64052288, 0.036990969, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, 0, 0.64052288, 0.032130745, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, 0, 0.64052288, 0.030973779, 0.085805968, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020059122, 0, -1, 0.015305602, 0.08652763, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014206027, 0, 0.64052288, 0.071205649, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.085805968, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018040783, 0, 0.64052288, 0.014801892, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.058823529, 0.88235294, -0.11764706, 0.32352941, -0.23529412, -0.23529412, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.05882353, -0.05882353, -0.05882353, +0.32352941, -0.11764706, -0.11764706, -0.23529412, -0.23529412, -0.23529412, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03723242, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, +0.00000000, +0.64052288, +0.07059230, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, +0.00000000, +0.64052288, +0.07059230, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, -1.00000000, +0.64052288, +0.03699097, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, +0.00000000, +0.64052288, +0.03213075, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, +0.00000000, +0.64052288, +0.03097378, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02005912, +0.00000000, -1.00000000, +0.01530560, +0.08652763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01426673, +0.00000000, +0.64052288, +0.07120565, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.08580597, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01804078, +0.00000000, +0.64052288, +0.01480189, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.05882353, +0.88235294, -0.11764706, +0.32352941, -0.23529412, -0.23529412, }, /* Linux 2.6.16 - 3.2 */ - { 0.83333333, 0, 0.0625, 0.83333333, 0, 0.0625, 1, 0, 0.0625, 0.83333333, 0, 0.0625, 0.83333333, 0, 0.0625, 0.8, 0, 0.0625, 0, 0, 0.0625, 0.5, 0, 0.0625, -1, -1, -1, 0, 0, 0.0625, 1, 0, 0.0625, -1, -1, -1, 0.29411765, 0, 0.0625, 0, 0, 0.0625, 0, 0, 0.0625, 0, 0, 0.0625, 0, 0, 0.0625, 0.061254214, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.75694444, 0.034956982, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.75694444, 0.034956982, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, -1, 0.75694444, 0.018317758, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.75694444, 0.015910998, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.75694444, 0.015338074, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24863806, 0, -1, 0.0075792639, 0.49976349, 0, 1, 0, 0, 1, 0, 0.8125, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.75694444, 0.034984329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.49939727, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24761392, 0, 0.75694444, 0.0070716018, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.06250000, +0.83333333, +0.00000000, +0.06250000, +1.00000000, +0.00000000, +0.06250000, +0.83333333, +0.00000000, +0.06250000, +0.83333333, +0.00000000, +0.06250000, +0.80000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.06250000, +0.50000000, +0.00000000, +0.06250000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.06250000, +1.00000000, +0.00000000, +0.06250000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.06250000, +0.06125598, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.75694444, +0.03495698, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.75694444, +0.03495698, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, -1.00000000, +0.75694444, +0.01831776, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.75694444, +0.01591100, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.75694444, +0.01533807, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24863806, +0.00000000, -1.00000000, +0.00757926, +0.49976349, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.81250000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.75694444, +0.03498433, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24761392, +0.00000000, +0.75694444, +0.00707160, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Linux 2.6.32 - 3.2 */ - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.1875, 0.40625, -0.0625, 0.0625, -0.125, -0.125, -0.125, -0.0625, -0.0625, 0.125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.0625, -0.0625, 0.125, -0.0625, -0.0625, 0.125, -0.0625, -0.0625, 0.125, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -0.0625, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.9375, -0.0625, 0.40625, -0.125, -0.125, }, + { -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.18750000, +0.40625000, -0.06250000, +0.06250000, -0.12500000, -0.12500000, -0.12500000, -0.06250000, -0.06250000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.06250000, -0.06250000, +0.12500000, -0.06250000, -0.06250000, +0.12500000, -0.06250000, -0.06250000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -0.06250000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.93750000, -0.06250000, +0.40625000, -0.12500000, -0.12500000, }, /* IBM AIX 7.1 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0.66666667, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.39552389, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.22222222, 0.016383413, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.33333333, 0.016383413, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.33333333, 0.0085850489, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.22222222, 0.0074570639, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.33333333, 0.0071885494, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99776581, -1, -1, 0.0035522005, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, 0.33333333, 0.016383413, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 0.22222222, 0.0030424784, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.66666667, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.39552502, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.22222222, +0.01638341, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.33333333, +0.01638341, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.33333333, +0.00858505, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.22222222, +0.00745706, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.33333333, +0.00718855, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99776581, -1.00000000, -1.00000000, +0.00355220, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, +0.33333333, +0.01638341, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, +0.22222222, +0.00304248, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 */ - { 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 0, 0, 0, 1, 0.33333333, 0, 0, -1, -1, -1, 0.058823529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.47674708, 0.26733806, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.0026694326, 0.25635157, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.0024637872, 0.25391012, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.0012670989, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.001067335, 0.25354391, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.0010579767, 0.25070573, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99776581, -1, -1, 0.00051127768, 0.26733806, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99775246, -1, -1, 0.0026694326, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25070573, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.05882353, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.47674806, +0.26733806, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00266943, +0.25635157, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00246379, +0.25391012, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00126710, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00106733, +0.25354391, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00105798, +0.25070573, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99776581, -1.00000000, -1.00000000, +0.00051128, +0.26733806, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99775260, -1.00000000, -1.00000000, +0.00266943, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25070573, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 - 7.1 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0.66666667, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32125875, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.11111111, 0.070298336, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.11111111, 0.070298336, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.11111111, 0.03683693, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.11111111, 0.031996946, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.11111111, 0.030844797, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.2556773, -1, -1, 0.015241866, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25123153, -1, 0.22222222, 0.070298336, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.25468378, -1, 0.11111111, 0.014738124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.66666667, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.32126002, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.11111111, +0.07029834, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.11111111, +0.07029834, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.11111111, +0.03683693, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.11111111, +0.03199695, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.11111111, +0.03084480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25567730, -1.00000000, -1.00000000, +0.01524187, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25127763, -1.00000000, +0.22222222, +0.07029834, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.25468378, -1.00000000, +0.11111111, +0.01473812, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 - 7.1 */ - { 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33377212, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, -1, -1, 0.18361475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33377337, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, -1.00000000, -1.00000000, +0.18361475, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Microsoft Windows Vista, Windows 7 SP1, Windows Server 2008 R2 or Windows 8.1 */ - { 0.83333333, 0, 0.30414089, 0.83333333, 0, 0.30414089, 1, 0, 0.30414089, 0.83333333, 0, 0.30414089, 0.83333333, 0, 0.30414089, 0.8, 0, 0.30414089, 0, 0, 0.30414089, 0.090909091, -0.27272727, -0.059971442, 0.45454545, -0.27272727, -0.27272727, 0, 0, 0.30414089, 1, 0, 0.30414089, 0, 0, 0.30414089, 0, 0, 0.30414089, 0, 0, 0.30414089, 0, 0, 0.30414089, 0, 0, 0.30414089, 0, 0, 0.30414089, 0.39199627, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0.80808081, 0.17310709, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0.80808081, 0.17310709, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.80808081, 0.090709598, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0.80808081, 0.078791312, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0.80808081, 0.075954189, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019771072, 0, -1, 0.037532539, 0.20454719, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, 0, 0.80808081, 0.17310709, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -0.27272727, 0.090909091, -0.27272727, -0.27272727, }, + { +0.83333333, +0.00000000, +0.30414089, +0.83333333, +0.00000000, +0.30414089, +1.00000000, +0.00000000, +0.30414089, +0.83333333, +0.00000000, +0.30414089, +0.83333333, +0.00000000, +0.30414089, +0.80000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.09090909, -0.27272727, -0.05997144, +0.45454545, -0.27272727, -0.27272727, +0.00000000, +0.00000000, +0.30414089, +1.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.00000000, +0.00000000, +0.30414089, +0.39199741, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.80808081, +0.17310709, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.80808081, +0.17310709, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.80808081, +0.09070960, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.80808081, +0.07879131, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.80808081, +0.07595419, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01977107, +0.00000000, -1.00000000, +0.03753254, +0.20454719, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, +0.00000000, +0.80808081, +0.17310709, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -0.27272727, +0.09090909, -0.27272727, -0.27272727, }, /* Linux 2.6.32 - 3.2 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.39422389, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.62962963, 0.034956982, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.62962963, 0.034956982, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, -1, 0.62962963, 0.018317758, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.62962963, 0.015910998, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.62962963, 0.015338074, 0.49939727, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24863806, 0, -1, 0.0075792639, 0.49976349, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24415025, 0, 0.62962963, 0.034984329, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.39422503, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.62962963, +0.03495698, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.62962963, +0.03495698, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, -1.00000000, +0.62962963, +0.01831776, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.62962963, +0.01591100, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.62962963, +0.01533807, +0.49939727, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24863806, +0.00000000, -1.00000000, +0.00757926, +0.49976349, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24419679, +0.00000000, +0.62962963, +0.03498433, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Linux 3.2 - 3.8 */ - { 0.83333333, 0, 0.42857143, 0.83333333, 0, 0.42857143, 1, 0, 0.42857143, 0.83333333, 0, 0.42857143, 0.83333333, 0, 0.42857143, 0.8, 0, 0.42857143, -0.57142857, -0.57142857, -0.14285714, -0.35714286, -0.57142857, -0.14285714, 0, 0, 0, 0, 0, 0.42857143, 1, 0, 0.42857143, -1, -1, -1, -1, -1, -1, 0, 0, 0.42857143, 0, 0, 0.42857143, 0, 0, 0.42857143, 0, 0, 0.42857143, 0.4421236, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, 0, 0.63492063, 0.18269433, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, 0, 0.63492063, 0.18269433, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, -1, 0.63492063, 0.095733393, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, 0, 0.63492063, 0.083155033, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, 0, 0.63492063, 0.080160781, 0.21641653, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019928471, 0, -1, 0.039611214, 0.21824761, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014074595, 0, 0.63492063, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.57142857, -0.14285714, -0.57142857, -0.35714286, 0, 0, }, + { +0.83333333, +0.00000000, +0.42857143, +0.83333333, +0.00000000, +0.42857143, +1.00000000, +0.00000000, +0.42857143, +0.83333333, +0.00000000, +0.42857143, +0.83333333, +0.00000000, +0.42857143, +0.80000000, +0.00000000, +0.42857143, -0.57142857, -0.57142857, -0.14285714, -0.35714286, -0.57142857, -0.14285714, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.42857143, +1.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +0.00000000, +0.42857143, +0.00000000, +0.00000000, +0.42857143, +0.44212464, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, +0.00000000, +0.63492063, +0.18269433, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, +0.00000000, +0.63492063, +0.18269433, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, -1.00000000, +0.63492063, +0.09573339, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, +0.00000000, +0.63492063, +0.08315503, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, +0.00000000, +0.63492063, +0.08016078, +0.21641653, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01992847, +0.00000000, -1.00000000, +0.03961121, +0.21824761, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01413530, +0.00000000, +0.63492063, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.57142857, -0.14285714, -0.57142857, -0.35714286, +0.00000000, +0.00000000, }, /* Linux 3.7 - 4.15 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.36363636, -0.36363636, -0.36363636, -0.045454545, -0.36363636, -0.36363636, -0.45454545, -0.45454545, -0.45454545, -0.090909091, -0.090909091, -0.090909091, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, 0.38279784, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.74747475, 0.010116248, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.74747475, 0.010116248, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, 0.74747475, 0.0053010006, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.74747475, 0.004604505, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.74747475, 0.0044387056, 0.66666667, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, -1, 0.0021933733, 0.66666667, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.74747475, 0.010116248, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.36363636, 0.27272727, -0.36363636, -0.045454545, -0.45454545, -0.45454545, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.36363636, -0.36363636, -0.36363636, -0.04545455, -0.36363636, -0.36363636, -0.45454545, -0.45454545, -0.45454545, -0.09090909, -0.09090909, -0.09090909, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, +0.38279900, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.74747475, +0.01011625, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.74747475, +0.01011625, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, +0.74747475, +0.00530100, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.74747475, +0.00460450, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.74747475, +0.00443871, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, -1.00000000, +0.00219337, +0.66666667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.74747475, +0.01011625, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -0.18181818, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.36363636, +0.27272727, -0.36363636, -0.04545455, -0.45454545, -0.45454545, }, /* Linux 3.7 - 3.9 */ - { 0.83333333, 0, -0.25, 0.83333333, 0, -0.25, 1, 0, -0.25, 0.83333333, 0, -0.25, 0.83333333, 0, -0.25, 0.8, 0, -0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -0.25, 1, 0, -0.25, -1, -1, -1, -1, -1, -1, 0, 0, -0.25, 0, 0, -0.25, 0, 0, -0.25, 0, 0, -0.25, 0.32736434, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, 0, 0.77777778, 0.18263356, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, 0, 0.77777778, 0.18263356, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, -1, 0.77777778, 0.09570155, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, 0, 0.77777778, 0.083127374, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, 0, 0.77777778, 0.080134118, 0.20889601, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019174267, 0, -1, 0.039598039, 0.21072709, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013315887, 0, 0.77777778, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.83333333, +0.00000000, -0.25000000, +0.83333333, +0.00000000, -0.25000000, +1.00000000, +0.00000000, -0.25000000, +0.83333333, +0.00000000, -0.25000000, +0.83333333, +0.00000000, -0.25000000, +0.80000000, +0.00000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -0.25000000, +1.00000000, +0.00000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -0.25000000, +0.00000000, +0.00000000, -0.25000000, +0.00000000, +0.00000000, -0.25000000, +0.00000000, +0.00000000, -0.25000000, +0.32736560, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, +0.00000000, +0.77777778, +0.18263356, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, +0.00000000, +0.77777778, +0.18263356, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, -1.00000000, +0.77777778, +0.09570155, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, +0.00000000, +0.77777778, +0.08312737, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, +0.00000000, +0.77777778, +0.08013412, +0.20889601, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01917427, +0.00000000, -1.00000000, +0.03959804, +0.21072709, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01337664, +0.00000000, +0.77777778, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Linux 2.6.39 - 3.5 */ - { 0.83333333, 0.033333333, 0.2, 0.83333333, 0.033333333, 0.2, 1, 0.033333333, 0.2, 0.83333333, 0.033333333, 0.2, 0.83333333, 0.033333333, 0.2, 0.8, 0.033333333, 0.2, -0.6, -0.6, -0.6, -1, -1, -1, -0.8, -0.8, -0.8, -0.4, -0.2, -0.4, 1, 0.033333333, 0.4, -1, -1, -1, -1, -1, -1, -0.2, -0.16666667, 0, 0, 0.033333333, 0.4, -0.2, -0.16666667, 0, -1, -1, -1, 0.30279924, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.53333333, 0.18269636, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.53333333, 0.18269636, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, -1, 0.53333333, 0.095734456, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.53333333, 0.083155956, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.53333333, 0.080161671, 0.21667811, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019954704, 0, -1, 0.039611654, 0.21850919, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.53333333, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.6, -0.2, -1, -1, -0.8, -0.8, }, + { +0.83333333, +0.03333333, +0.20000000, +0.83333333, +0.03333333, +0.20000000, +1.00000000, +0.03333333, +0.20000000, +0.83333333, +0.03333333, +0.20000000, +0.83333333, +0.03333333, +0.20000000, +0.80000000, +0.03333333, +0.20000000, -0.60000000, -0.60000000, -0.60000000, -1.00000000, -1.00000000, -1.00000000, -0.80000000, -0.80000000, -0.80000000, -0.40000000, -0.20000000, -0.40000000, +1.00000000, +0.03333333, +0.40000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.16666667, +0.00000000, +0.00000000, +0.03333333, +0.40000000, -0.20000000, -0.16666667, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.30280055, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.53333333, +0.18269636, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.53333333, +0.18269636, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, -1.00000000, +0.53333333, +0.09573446, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.53333333, +0.08315596, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.53333333, +0.08016167, +0.21667811, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01995470, +0.00000000, -1.00000000, +0.03961165, +0.21850919, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.53333333, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.60000000, -0.20000000, -1.00000000, -1.00000000, -0.80000000, -0.80000000, }, /* OpenWrt (Linux 3.3 - 3.10) */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.25, -0.25, -0.25, -0.25, -0.5, -0.5, -0.5, -0.5, -0.5, 0.25, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.40086444, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, 0, 0.33333333, 0.18269741, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, 0, 0.33333333, 0.18269741, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, -1, 0.33333333, 0.095735007, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, 0, 0.33333333, 0.083156435, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, 0, 0.33333333, 0.080162132, 0.2168307, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019970007, 0, -1, 0.039611882, 0.21866178, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014116379, 0, 0.33333333, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, 0.5, -0.5, -0.25, -0.5, -0.5, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, +0.25000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.40086556, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, +0.00000000, +0.33333333, +0.18269741, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, +0.00000000, +0.33333333, +0.18269741, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, -1.00000000, +0.33333333, +0.09573501, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, +0.00000000, +0.33333333, +0.08315644, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, +0.00000000, +0.33333333, +0.08016213, +0.21683070, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01997001, +0.00000000, -1.00000000, +0.03961188, +0.21866178, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01417708, +0.00000000, +0.33333333, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, +0.50000000, -0.50000000, -0.25000000, -0.50000000, -0.50000000, }, + /* OpenWrt (Linux 4.14) */ + { +0.83333333, +0.08333333, +0.00000000, +0.83333333, +0.08333333, +0.00000000, +1.00000000, +0.08333333, +0.00000000, +0.83333333, +0.08333333, +0.00000000, +0.83333333, +0.08333333, +0.00000000, +0.80000000, +0.08333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.08333333, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23775571, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.36774484, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.36774484, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.44444444, +0.19270145, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.16738251, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.16135538, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.07973329, +0.43945983, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.37085475, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Citrix NetScaler load balancer (NS9.3) */ - { 0.5, 0, 1, 0.5, 0, 1, 0.4, 0, 1, 0.5, 0, 1, 0.5, 0, 1, 0.4, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.44902251, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.10379112, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012992611, 0, 0.44444444, 0.11003381, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, 0.44444444, 0.14817876, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.44444444, 0.12870963, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.44444444, 0.12407505, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, 0.25835461, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.10379112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.12530709, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.50000000, +0.00000000, +1.00000000, +0.50000000, +0.00000000, +1.00000000, +0.40000000, +0.00000000, +1.00000000, +0.50000000, +0.00000000, +1.00000000, +0.50000000, +0.00000000, +1.00000000, +0.40000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.44902354, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.10379112, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01305338, +0.00000000, +0.44444444, +0.11003381, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, +0.44444444, +0.14817876, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.44444444, +0.12870963, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.44444444, +0.12407505, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -1.00000000, +0.25835461, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.10379112, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.12530709, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Citrix NetScaler load balancer (NS9.2) */ - { 0.16666667, 0, 1, 0.16666667, 0, 1, 0.2, 0, 1, 0.16666667, 0, 1, 0.16666667, 0, 1, 0.2, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 0, 1, -1, -1, -1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.47905612, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.10379112, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012992611, -1, -1, 0.11003381, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.14817876, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.12870963, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.12407505, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.25835461, 0.12497139, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.10379112, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.12530709, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.16666667, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.20000000, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.20000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.47905709, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.10379112, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01305338, -1.00000000, -1.00000000, +0.11003381, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.14817876, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.12870963, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.12407505, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.25835461, +0.12497139, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.10379112, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.12530709, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Linux 2.6.18 */ - { 0.83333333, 0, -0.33333333, 0.83333333, 0, -0.33333333, 1, 0, -0.33333333, 0.83333333, 0, -0.33333333, 0.83333333, 0, -0.33333333, 0.8, 0, -0.33333333, 0, 0, -0.33333333, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -0.66666667, 1, 0, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.66666667, -0.66666667, -0.66666667, -1, -1, -1, -1, -1, -1, 0.47494468, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.77777778, 0.073482961, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.77777778, 0.073482961, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, -1, 0.77777778, 0.038505701, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.77777778, 0.033446457, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.77777778, 0.032242115, 0.087159533, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019577238, 0, -1, 0.015932346, 0.087891966, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013721264, 0, 0.77777778, 0.074120083, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, -1, }, + { +0.83333333, +0.00000000, -0.33333333, +0.83333333, +0.00000000, -0.33333333, +1.00000000, +0.00000000, -0.33333333, +0.83333333, +0.00000000, -0.33333333, +0.83333333, +0.00000000, -0.33333333, +0.80000000, +0.00000000, -0.33333333, +0.00000000, +0.00000000, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -0.66666667, +1.00000000, +0.00000000, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.66666667, -0.66666667, -0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.47494566, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.77777778, +0.07348296, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.77777778, +0.07348296, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, -1.00000000, +0.77777778, +0.03850570, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.77777778, +0.03344646, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.77777778, +0.03224212, +0.08715953, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01957724, +0.00000000, -1.00000000, +0.01593235, +0.08789197, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378199, +0.00000000, +0.77777778, +0.07412008, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* NetBSD */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -0.33333333, -0.66666667, -0.66666667, 0.66666667, 0, 0, -0.33333333, -0.33333333, -0.33333333, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.35294118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.003360364, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.42227195, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.42227195, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.22222222, 0.22127412, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.19220103, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.18528024, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.091555687, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0.33333333, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.22222222, 0.42227195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.50000763, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.22222222, 0.091090982, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.66666667, -0.66666667, 0, 0.5, -0.33333333, -0.33333333, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -0.33333333, -0.66666667, -0.66666667, +0.66666667, +0.00000000, +0.00000000, -0.33333333, -0.33333333, -0.33333333, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35294118, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00336223, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.42227195, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.42227195, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.22222222, +0.22127412, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.19220103, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.18528024, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.09155569, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.33333333, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.22222222, +0.42227195, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.22222222, +0.09109098, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.66666667, -0.66666667, +0.00000000, +0.50000000, -0.33333333, -0.33333333, }, /* F5 BIG-IP load balancer */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.323808, 0.066834516, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.054421275, 0.064087892, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.052088841, 0.029297322, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.011813608, 0.024536507, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.0084212671, 0.024536507, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.0081180335, 0.012130922, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.0017273746, 0.066834516, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.054421275, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.32380927, +0.06683452, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.05442127, +0.06408789, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.05208884, +0.02929732, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.01181361, +0.02453651, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.00842127, +0.02453651, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.00811803, +0.01213092, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.00172737, +0.06683452, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.05442127, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Microsoft Windows Vista SP2 */ - { 0.66666667, 0, 0, 0.66666667, 0, 0, 0.8, 0, 0, 0.66666667, 0, 0, 0.66666667, 0, 0, 0.8, 0, 0, 0, 0, 0, -1, -1, -1, 1, 0, 0, -0.5, -0.5, -0.5, 0.66666667, 0, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.29669776, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.054401015, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.047253294, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.045551794, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.022509285, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, -1, -1, 0, 0, }, + { +0.66666667, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, +0.66666667, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, +0.29669908, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05440101, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.04725329, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.04555179, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.02250929, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Server 2008 R2 */ - { 0.66666667, 0, 0.33507853, 0.66666667, 0, 0.33507853, 0.8, 0, 0.33507853, 0.66666667, 0, 0.33507853, 0.66666667, 0, 0.33507853, 0.8, 0, 0.33507853, 0, 0, 0.33507853, 0.5, 0, 0.33507853, 1, 0, 0, 0, 0, 0.33507853, 0.66666667, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0.28838051, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.054401015, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.047253294, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.045551794, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.022509285, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, -1, 0.10381703, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +0.66666667, +0.00000000, +0.33507853, +0.66666667, +0.00000000, +0.33507853, +0.80000000, +0.00000000, +0.33507853, +0.66666667, +0.00000000, +0.33507853, +0.66666667, +0.00000000, +0.33507853, +0.80000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.50000000, +0.00000000, +0.33507853, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33507853, +0.66666667, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.28838185, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.05440101, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.04725329, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.04555179, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.02250929, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, -1.00000000, +0.10381703, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* FreeBSD 9.0 - 11.1 */ - { 0.83333333, 0.0026041667, 0, 0.83333333, 0.0026041667, 0, 1, 0.003125, 0, 0.83333333, 0.0041666667, 0, 0.83333333, 0.0046875, 0, 0.8, 0.011979167, 0, -1, -1, -1, 0.05, -0.3, -0.3, -0.8, -0.8, -0.8, -0.5, -0.5, -0.5, 1, 0.0041666667, 0, -1, -1, -1, -0.35294118, -0.49947917, -0.5, -0.2, -0.1984375, -0.2, -0.3, -0.3, -0.3, -0.5, -0.5, -0.5, -0.6, -0.6, -0.6, 0.40295645, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014096367, 0, 0.7, 0.85247, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013480603, 0, 0.7, 0.87663315, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0.7, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.059859914, 0, 0.7, 0.31858368, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.7, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0.1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014096367, 0, 0.7, 0.85247, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -0.5, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.33333333, -0.5, -0.35714286, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -0.5, -0.38888889, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.16666667, 0, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -0.3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.3, 0.05, -0.8, -0.8, }, + { +0.83333333, +0.00260417, +0.00000000, +0.83333333, +0.00260417, +0.00000000, +1.00000000, +0.00312500, +0.00000000, +0.83333333, +0.00416667, +0.00000000, +0.83333333, +0.00468750, +0.00000000, +0.80000000, +0.01197917, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.05000000, -0.30000000, -0.30000000, -0.80000000, -0.80000000, -0.80000000, -0.50000000, -0.50000000, -0.50000000, +1.00000000, +0.00416667, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -0.35294118, -0.49947917, -0.50000000, -0.20000000, -0.19843750, -0.20000000, -0.30000000, -0.30000000, -0.30000000, -0.50000000, -0.50000000, -0.50000000, -0.60000000, -0.60000000, -0.60000000, +0.40295757, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01415707, +0.00000000, +0.70000000, +0.85247000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01354135, +0.00000000, +0.70000000, +0.87663315, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.70000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.05991780, +0.00000000, +0.70000000, +0.31858368, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.70000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.10000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01415707, +0.00000000, +0.70000000, +0.85247000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -0.50000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.33333333, -0.50000000, -0.35714286, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -0.50000000, -0.38888889, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.16666667, +0.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -0.30000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -0.60000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.30000000, +0.05000000, -0.80000000, -0.80000000, }, /* Juniper JUNOS 13 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.35294118, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.37081221, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.03708436, 0, 0.055555556, 0.45692723, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.03708436, 0, 0.055555556, 0.45692723, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.03708436, -1, 0.055555556, 0.23943378, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.03708436, 0, 0.055555556, 0.20797471, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.03708436, 0, 0.055555556, 0.20048594, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.042801616, 0, -1, 0.099069537, 0.62500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.03708436, 0, 0.055555556, 0.45692723, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.62500191, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.040882195, 0, 0.055555556, 0.098608676, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.35294118, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.37081339, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, +0.00000000, +0.05555556, +0.45692723, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, +0.00000000, +0.05555556, +0.45692723, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, -1.00000000, +0.05555556, +0.23943378, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, +0.00000000, +0.05555556, +0.20797471, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, +0.00000000, +0.05555556, +0.20048594, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.04280162, +0.00000000, -1.00000000, +0.09906954, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03714365, +0.00000000, +0.05555556, +0.45692723, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.62500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.04088219, +0.00000000, +0.05555556, +0.09860868, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* NetComm NP805N wireless ADSL router */ - { 0.33333333, 0, 0, 0.33333333, 0, 0, 0.4, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 0, 0.2, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.66666667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.35701729, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.075115706, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.075115706, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.039361274, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.034189617, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.032958515, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019158964, -1, -1, 0.016286353, 0.087403677, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013300493, -1, 0.11111111, 0.075115706, 0.015607853, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0039063096, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.125, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, -1, -1, }, + { +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35701850, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.07511571, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.07511571, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.03936127, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.03418962, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.03295851, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01915896, -1.00000000, -1.00000000, +0.01628635, +0.08740368, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01336125, -1.00000000, +0.11111111, +0.07511571, +0.01560785, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00390631, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.12500000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* OpenBSD 5.3 - 6.1 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -0.4, -0.4, -0.4, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, 0, 0, 0, -0.2, -0.2, -0.2, -1, -1, -1, 0.30601795, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, 0, 0.46666667, 0.21165483, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, 0, 0.46666667, 0.21165483, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, -1, 0.46666667, 0.11090895, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, 0, 0.46666667, 0.096336679, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 0.28571429, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, 0, 0.46666667, 0.092867781, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019908796, 0, -1, 0.045890341, 0.25000381, 0, 1, 0, 0, 1, 0, 0.4, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014054803, 0, 0.46666667, 0.21165483, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.2, -0.2, -0.2, -0.2, -0.2, 0.6, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.4, -0.4, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.40000000, -0.40000000, -0.40000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, +0.00000000, +0.00000000, +0.00000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, +0.30601925, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, +0.00000000, +0.46666667, +0.21165483, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, +0.00000000, +0.46666667, +0.21165483, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, -1.00000000, +0.46666667, +0.11090895, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, +0.00000000, +0.46666667, +0.09633668, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, +0.00000000, +0.46666667, +0.09286778, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01990880, +0.00000000, -1.00000000, +0.04589034, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01411551, +0.00000000, +0.46666667, +0.21165483, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, +0.60000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -0.20000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.40000000, -0.40000000, }, /* FreeBSD 9.1 - 11.0 */ - { 0.83333333, 0.022135417, 0, 0.83333333, 0.022135417, 0, 1, 0.020833333, 0, 0.83333333, 0.032552083, 0, 0.83333333, 0.03515625, 0, 0.8, 0.044270833, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.25, -0.25, -0.25, 1, 0.029947917, 0, -1, -1, -1, 0.29411765, 0.026041667, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.35478155, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.84694747, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0.66666667, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0.66666667, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.071428571, 0, 0.66666667, 0.29871354, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0.66666667, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0.25, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.84694747, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.66666667, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.83333333, +0.02213542, +0.00000000, +0.83333333, +0.02213542, +0.00000000, +1.00000000, +0.02083333, +0.00000000, +0.83333333, +0.03255208, +0.00000000, +0.83333333, +0.03515625, +0.00000000, +0.80000000, +0.04427083, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, +1.00000000, +0.02994792, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.02604167, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35478276, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.84694747, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.66666667, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.66666667, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.07148575, +0.00000000, +0.66666667, +0.29871354, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.66666667, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.84694747, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* BlackBerry 10 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.35294118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.30128069, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.44444444, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18361475, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0.33333333, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.84686555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.44444444, 0.18319713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, 0, 0, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35294118, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.30128200, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.44444444, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18361475, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.33333333, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.84686555, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.44444444, +0.18319713, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* IBM AIX 7.1 */ - { 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, 0.16666667, 0, 0, 0.16666667, 0, 0, 0.2, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0.33333333, 0, 0, -1, -1, -1, 0.058823529, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.34488432, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, -1, -1, 0.18361475, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, -1, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, -1, -1, 0.18319713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -1, -1, }, + { +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.05882353, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34488554, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, -1.00000000, -1.00000000, +0.18361475, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, -1.00000000, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, -1.00000000, -1.00000000, +0.18319713, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* HP HP-UX B.11.23 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, -1, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0.088235294, 0, 0, 0.35294118, 0, 0, 0.18181818, 0, 0, 0.34375, 0, 0, 0.54545455, 0, 0, 0.26470588, 0, 0, 0, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0.28571429, 0, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0.22222222, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.42227195, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0.28571429, 0, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0.22222222, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0, 0.43440356, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 1, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 0.49939596, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0.28571429, 0, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0.22222222, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 0.51815315, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0.28571429, 0, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0.33333333, 0.22222222, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 0.49949546, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 0.49975454, 0.50000763, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.42227195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.50000763, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0.28571429, 0, 0, 1, 1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0.22222222, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.49949865, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.08823529, +0.00000000, +0.00000000, +0.35294118, +0.00000000, +0.00000000, +0.18181818, +0.00000000, +0.00000000, +0.34375000, +0.00000000, +0.00000000, +0.54545455, +0.00000000, +0.00000000, +0.26470588, +0.00000000, +0.00000000, +0.00000188, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.42227195, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.00000000, +0.43440356, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +0.49939596, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +0.51815315, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +0.49949546, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +0.49975454, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.42227195, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.49949865, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, }, /* Cisco IOS XR */ - { 0.16666667, 0, 1, 0.16666667, 0, 1, 0.2, 0, 1, 0.16666667, 0, 1, 0.16666667, 0, 1, 0.2, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.33333333, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.35278634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012130542, -1, -1, 0.056734629, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012130542, -1, -1, 0.056734629, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, -1, 0.061842947, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, -1, -1, 0.066881634, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, -1, 0.062029411, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 0.062514944, 0.062989242, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.012130542, -1, -1, 0.056734629, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.16666667, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.20000000, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.16666667, +0.00000000, +1.00000000, +0.20000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35278755, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01219137, -1.00000000, -1.00000000, +0.05673463, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01219137, -1.00000000, -1.00000000, +0.05673463, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, -1.00000000, +0.06184295, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00006157, -1.00000000, -1.00000000, +0.06688163, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, -1.00000000, +0.06202941, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +0.06251494, +0.06298924, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01219137, -1.00000000, -1.00000000, +0.05673463, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* Joyent SmartOS */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 1, 0.5, 0, 1, -1, -1, -1, 0, 0, 1, 1, 0, 0, -1, -1, -1, 0.29411765, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 1.2376658e-05, 0.50055695, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.49939095, 0.50055695, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.49939095, 0.50008392, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.14285714, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0.33333333, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, -1, 0.55555556, 0.26143669, 0.50055695, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.22730247, 0.50022126, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.21897011, 0.99987793, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.016710534, 0, -1, 0.21679035, 0.50029755, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.49913094, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.50005341, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0.14285714, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.33333333, 1, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01467763, 0, 0.55555556, 0.10771075, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.50000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00001425, +0.50055695, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.49939095, +0.50055695, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.49939095, +0.50008392, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.14285714, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, -1.00000000, +0.55555556, +0.26143669, +0.50055695, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.22730247, +0.50022126, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.21897011, +0.99987793, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01671053, +0.00000000, -1.00000000, +0.21679035, +0.50029755, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.49913094, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50005341, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.14285714, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33333333, +1.00000000, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01467763, +0.00000000, +0.55555556, +0.10771075, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Linux 3.12 - 4.14 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.42857143, -0.42857143, -0.42857143, -0.14285714, -0.42857143, -0.42857143, -0.57142857, -0.57142857, -0.57142857, -0.71428571, -0.71428571, -0.71428571, 1, 0, 0, -1, -1, -1, -0.71428571, -0.85714286, -0.85714286, -0.57142857, -0.57142857, -0.57142857, -0.85714286, -0.85714286, -0.85714286, -1, -1, -1, -1, -1, -1, 0.33634198, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, 0, 0.71428571, 0.36766224, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, 0, 0.71428571, 0.36766224, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, -1, 0.71428571, 0.19265816, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, 0, 0.71428571, 0.16734491, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, 0, 0.71428571, 0.16131914, 0.4258575, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019578695, 0, -1, 0.079715381, 0.42951967, 0, 1, 0, 0, 1, 0, 0.71428571, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01372273, 0, 0.71428571, 0.37085475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.42857143, 0.14285714, -0.42857143, -0.14285714, -0.57142857, -0.57142857, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.42857143, -0.42857143, -0.42857143, -0.14285714, -0.42857143, -0.42857143, -0.57142857, -0.57142857, -0.57142857, -0.71428571, -0.71428571, -0.71428571, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -0.71428571, -0.85714286, -0.85714286, -0.57142857, -0.57142857, -0.57142857, -0.85714286, -0.85714286, -0.85714286, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.33634323, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, +0.00000000, +0.71428571, +0.36766224, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, +0.00000000, +0.71428571, +0.36766224, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, -1.00000000, +0.71428571, +0.19265816, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, +0.00000000, +0.71428571, +0.16734491, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, +0.00000000, +0.71428571, +0.16131914, +0.42585750, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01957870, +0.00000000, -1.00000000, +0.07971538, +0.42951967, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.71428571, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01378346, +0.00000000, +0.71428571, +0.37085475, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -0.85714286, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.42857143, +0.14285714, -0.42857143, -0.14285714, -0.57142857, -0.57142857, }, /* Apple OS X 10.9 (Mavericks) - 10.15 (Catalina) or iOS 6 - 12.4 (Darwin 13.0.0 - 19.3.0) */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 0.91304348, -0.043478261, -0.043478261, 1, 0, 0, -1, -1, -1, 0.36956522, -0.086956522, -0.086956522, -0.2173913, -0.2173913, -0.2173913, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.086956522, -0.086956522, -0.086956522, -0.13043478, -0.13043478, -0.13043478, 0.32234792, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.023872885, 0, 0.5410628, 0.827249, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.023872885, 0, 0.5410628, 0.827249, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.023872885, -1, 0.5410628, 0.43348557, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.023872885, 0, 0.5410628, 0.37653013, 0.91304348, -0.043478261, 0.91304348, -0.043478261, -0.043478261, 0.91304348, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, 0.27536232, -0.043478261, 0.22981366, -0.043478261, -0.043478261, 0.91304348, 0.36645963, -0.043478261, -0.043478261, -1, -1, -1, -1, -1, -1, -1, 0.91304348, -0.043478261, 0.16908213, -0.043478261, -0.043478261, 0.91304348, 0.062801932, -0.043478261, -0.043478261, -1, -1, -1, -1, -1, -1, -1, -0.0301858, -0.043478261, 0.46859903, 0.31810921, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.029668584, 0, -1, 0.17936155, 1, 0, 1, 0, 0, 1, 0, 0.17391304, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.023872885, 0, 0.5410628, 0.827249, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -0.043478261, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -0.086956522, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.086956522, 0.36956522, -0.2173913, -0.2173913, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.91304348, -0.04347826, -0.04347826, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.36956522, -0.08695652, -0.08695652, -0.21739130, -0.21739130, -0.21739130, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.08695652, -0.08695652, -0.08695652, -0.13043478, -0.13043478, -0.13043478, +0.32234919, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02393299, +0.00000000, +0.54106280, +0.82724900, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02393299, +0.00000000, +0.54106280, +0.82724900, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02393299, -1.00000000, +0.54106280, +0.43348557, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02393299, +0.00000000, +0.54106280, +0.37653013, +0.91304348, -0.04347826, +0.91304348, -0.04347826, -0.04347826, +0.91304348, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, +0.27536232, -0.04347826, +0.22981366, -0.04347826, -0.04347826, +0.91304348, +0.36645963, -0.04347826, -0.04347826, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.91304348, -0.04347826, +0.16908213, -0.04347826, -0.04347826, +0.91304348, +0.06280193, -0.04347826, -0.04347826, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.03012772, -0.04347826, +0.46859903, +0.31810921, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02966858, +0.00000000, -1.00000000, +0.17936155, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.17391304, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02393299, +0.00000000, +0.54106280, +0.82724900, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -0.04347826, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -0.08695652, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -0.13043478, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.08695652, +0.36956522, -0.21739130, -0.21739130, }, /* Dell SonicWALL firewall (SonicOS 5.9) */ - { 0.5, 0, 0, 0.5, 0, 0, 0.4, 0, 0, 0.5, 0, 0, 0.5, 0, 0, 0.4, 0, 0, 0, 0, 0, 0.5, 0, 0, 1, 0, 0, -1, -1, -1, 1, 0, 0, -1, -1, -1, -1, -1, -1, 1, 0, 1, 1, 0, 1, 1, 0, 1, -1, -1, -1, 0.47399265, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14285714, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14285714, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 0, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14285714, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00061576355, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14285714, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 0.33333333, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14285714, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0.33333333, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.5, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.47399363, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14285714, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14285714, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +0.00000000, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14285714, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00067730, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14285714, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.33333333, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14285714, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.00000000, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Linux 3.13 - 4.6 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.41176471, -0.41176471, -0.41176471, -0.29411765, -0.52941176, -0.52941176, -0.58823529, -0.58823529, -0.58823529, -0.23529412, -0.23529412, -0.23529412, 1, 0, 0, -0.88235294, -0.94117647, -0.94117647, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.29411765, -0.29411765, -0.29411765, 0.38972513, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, 0, 0.74509804, 0.36770194, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, 0, 0.74509804, 0.36770194, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, -1, 0.74509804, 0.19267897, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, 0, 0.74509804, 0.16736298, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, 0, 0.74509804, 0.16133656, 0.43048394, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019810679, 0, -1, 0.079723989, 0.4341461, 0, 1, 0, 0, 1, 0, 0.94117647, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0139561, 0, 0.74509804, 0.37085475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.058823529, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.058823529, 0.058823529, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.41176471, 0.17647059, -0.52941176, -0.29411765, -0.58823529, -0.58823529, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.41176471, -0.41176471, -0.41176471, -0.29411765, -0.52941176, -0.52941176, -0.58823529, -0.58823529, -0.58823529, -0.23529412, -0.23529412, -0.23529412, +1.00000000, +0.00000000, +0.00000000, -0.88235294, -0.94117647, -0.94117647, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.29411765, -0.29411765, -0.29411765, +0.38972627, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, +0.00000000, +0.74509804, +0.36770194, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, +0.00000000, +0.74509804, +0.36770194, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, -1.00000000, +0.74509804, +0.19267897, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, +0.00000000, +0.74509804, +0.16736298, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, +0.00000000, +0.74509804, +0.16133656, +0.43048394, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01981068, +0.00000000, -1.00000000, +0.07972399, +0.43414610, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.94117647, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01401681, +0.00000000, +0.74509804, +0.37085475, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05882353, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05882353, +0.05882353, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -0.29411765, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.41176471, +0.17647059, -0.52941176, -0.29411765, -0.58823529, -0.58823529, }, /* Android 7.1 (Linux 3.18) */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.29600769, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.88888889, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18361475, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.88888889, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, -1, -1, }, - /* Linux 4.19 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -0.5, -0.5, -0.5, -0.25, -0.5, -0.5, -0.5, -0.5, -0.5, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, 0.2794147, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.72222222, 0.83034414, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.72222222, 0.83034414, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.72222222, 0.43510745, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.72222222, 0.37793891, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.72222222, 0.36433006, 0.98054475, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18003263, 0.98878462, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.72222222, 0.83734144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, 0, -0.5, -0.25, -0.5, -0.5, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.29600901, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.88888889, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18361475, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, + /* Linux 4.19 - 5.17 */ + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -0.25000000, -0.25000000, -0.25000000, +0.12500000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, +0.33876156, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, +0.00000000, +0.75000000, +0.87159954, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, +0.00000000, +0.75000000, +0.87159954, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, -1.00000000, +0.75000000, +0.45672563, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, +0.00000000, +0.75000000, +0.39671669, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, +0.00000000, +0.75000000, +0.38243169, +0.98425269, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01923548, +0.00000000, -1.00000000, +0.18897749, +0.98825055, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01343821, +0.00000000, +0.75000000, +0.87466038, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, +0.50000000, -0.25000000, +0.12500000, -0.25000000, -0.25000000, }, + /* OpenWrt (Linux 6.6) */ + { +0.83333333, +0.37500000, +0.00000000, +0.83333333, +0.37500000, +0.00000000, +1.00000000, +0.37500000, +0.00000000, +0.83333333, +0.37500000, +0.00000000, +0.83333333, +0.37500000, +0.00000000, +0.80000000, +0.37500000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.37500000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.47403151, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.83034414, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.83034414, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.44444444, +0.43510745, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.37793891, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.36433006, +0.98054475, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18003263, +0.98878462, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.83734144, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* VMware ESXi 6.0.0 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -1, -1, -1, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -0.5, -0.5, -0.5, 0.04443401, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, 0, 1, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, 0, 1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, 0, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 1, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.50000000, -0.50000000, -0.50000000, +0.04443580, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, +0.00000000, +1.00000000, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, +0.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +1.00000000, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, }, /* Apple Time Capsule NAS device */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -0.5, -0.5, -0.5, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0.35294118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0033769199, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.63456875, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.63456875, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.33333333, 0.33251946, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.28882991, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.2784297, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.13758522, 0.75000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0.33333333, 0.25, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.33333333, 0.63456875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.75000381, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 1, 1, 0.125, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.33333333, 0.13714406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.5, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.35294118, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00337879, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.63456875, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.63456875, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.33333333, +0.33251946, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.28882991, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.27842970, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.13758522, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.33333333, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.63456875, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.75000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +1.00000000, +0.12500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.33333333, +0.13714406, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, }, /* IBM i 7.2 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, 1, 0, 0, 0, 0, 0, 0.66666667, 0, 0, 0, 0, 0, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.5715095e-05, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013608374, -1, 0, 0.87112841, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.001908867, -1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.00030788177, -1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.0020964681, -1, -1, 1, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0, 0.84686555, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005759, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01366911, -1.00000000, +0.00000000, +0.87112841, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00197032, -1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00036944, -1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00209647, -1.00000000, -1.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.00000000, +0.84686555, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Apple OS X 10.9 (Mavericks) - 10.12 (Sierra) (Darwin 13.0.0 - 16.6.0) */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.32002435, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.54166667, 0.072576458, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.54166667, 0.072576458, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24334975, -1, 0.54166667, 0.038030686, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.54166667, 0.033033854, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0.42857143, 0, 0, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0.11111111, 0, 0, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.54166667, 0.031844369, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24784232, 0, -1, 0.015735801, 1, 0, 1, 0, 0, 1, 0, 0.125, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.24334975, 0, 0.54166667, 0.072576458, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, -1, -1, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.32002562, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.54166667, +0.07257646, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.54166667, +0.07257646, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, -1.00000000, +0.54166667, +0.03803069, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.54166667, +0.03303385, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.54166667, +0.03184437, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24784232, +0.00000000, -1.00000000, +0.01573580, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.12500000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.24339634, +0.00000000, +0.54166667, +0.07257646, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Cisco IOS XE 15 */ - { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, -1, -1, -1, 0, 0.93333333, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0, 1, 0, 0, 1, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, -1, -1, 0, 0, }, + { -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.93333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows 8.1 or Windows 10 */ - { 0.83333333, 0, 0.33507853, 0.83333333, 0, 0.33507853, 1, 0, 0.33507853, 0.83333333, 0, 0.33507853, 0.83333333, 0, 0.33507853, 0.8, 0, 0.33507853, 0, 0, 0.33507853, 0.5, 0, 0.33507853, -1, -1, -1, 0, 0, 0.33507853, 1, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0, 0, 0.33507853, 0.3313806, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0032683921, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0032683921, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, -1, 0.88888889, 0.0017126655, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0014876393, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0014340722, 0.29907683, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.9999847, 0, -1, 0.00070489812, 0.30000153, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0032683921, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +1.00000000, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +0.83333333, +0.00000000, +0.33507853, +0.80000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.50000000, +0.00000000, +0.33507853, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.33507853, +1.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.00000000, +0.00000000, +0.33507853, +0.33138186, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00326839, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00326839, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, -1.00000000, +0.88888889, +0.00171267, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00148764, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00143407, +0.29907683, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998470, +0.00000000, -1.00000000, +0.00070490, +0.30000153, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00326839, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* OpenBSD 6.0 */ - { 0.83333333, 0, 1, 0.83333333, 0, 1, 1, 0, 1, 0.83333333, 0, 1, 0.83333333, 0, 1, 0.8, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.66666667, 0, 1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0.30596722, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.21295886, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.21295886, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.11159227, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.096930218, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.093439948, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019771072, -1, -1, 0.046173076, 0.25000381, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013916256, -1, 0.33333333, 0.21295886, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, + { +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.80000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.30596852, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.21295886, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.21295886, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.11159227, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.09693022, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.09343995, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01977107, -1.00000000, -1.00000000, +0.04617308, +0.25000381, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01397697, -1.00000000, +0.33333333, +0.21295886, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, /* DragonFly 4.7 */ - { 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0, 0, 1, 0.015625, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0.015625, 0, -1, -1, -1, 0.35294118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.45487363, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.87472156, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.87472156, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, -1, 0.55555556, 0.45836159, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.39813771, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.38380154, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.016710534, 0, -1, 0.1896544, 0.87501335, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.010837438, 0, 0.55555556, 0.87472156, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.87501335, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, 0, 1, 0.5, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, 0.01467763, 0, 0.55555556, 0.18923988, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, }, - /* Windows 10 */ - { 0.56666667, 0, 0.2, 0.56666667, 0, 0.2, 0.52, 0, 0.2, 0.56666667, 0, 0.2, 0.56666667, 0, 0.2, 0.48, 0, 0.2, -0.4, -0.4, -0.4, -0.7, -0.8, -0.8, 0.6, -0.2, -0.2, -0.8, -0.8, -0.8, 1, 0, 0.2, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, 0.37664854, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0.2, 0.2, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.066666667, 0.2, -0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, 0, 0.88888889, 0.70159678, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0.2, 0.2, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.066666667, 0.2, -0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, 0, 0.88888889, 0.70159678, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -0.8, -0.8, -0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -0.8, -0.8, -0.6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, -1, 0.88888889, 0.36764273, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0.2, 0.2, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.066666667, 0.2, -0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, 0, 0.88888889, 0.31933834, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0.2, 0.2, 0.14285714, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.066666667, 0.2, -0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, 0, 0.88888889, 0.30783959, 0.8160647, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.085714286, 0.2, 0.066666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.022222222, 0.2, -0.2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.01999143, 0, -1, 0.1504649, 0.82500038, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014137931, 0, 0.88888889, 0.70159678, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.6, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -0.8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.4, -0.4, -0.8, -0.7, -0.2, -0.2, }, + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.01562500, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.01562500, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.35294118, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.45487465, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.87472156, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.87472156, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, -1.00000000, +0.55555556, +0.45836159, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.39813771, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.38380154, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01671053, +0.00000000, -1.00000000, +0.18965440, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01089834, +0.00000000, +0.55555556, +0.87472156, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.87501335, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01467763, +0.00000000, +0.55555556, +0.18923988, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, + /* Microsoft Windows 10 */ + { +0.54166667, +0.00000000, +0.29188482, +0.54166667, +0.00000000, +0.29188482, +0.47500000, +0.00000000, +0.29188482, +0.54166667, +0.00000000, +0.29188482, +0.54166667, +0.00000000, +0.29188482, +0.40000000, +0.00000000, +0.41688482, -0.37500000, -0.37500000, -0.20811518, -0.43750000, -0.62500000, -0.45811518, +0.50000000, -0.25000000, -0.25000000, -0.62500000, -0.62500000, -0.45811518, +0.87500000, +0.00000000, +0.41688482, -0.62500000, -0.62500000, -0.45811518, -0.62500000, -0.62500000, -0.45811518, -0.50000000, -0.50000000, -0.20811518, -0.50000000, -0.50000000, -0.20811518, -0.50000000, -0.50000000, -0.20811518, -0.62500000, -0.62500000, -0.45811518, +0.34161815, +0.89062524, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.12500000, +0.12500000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.04166667, +0.12500000, -0.02777778, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01402315, +0.00000000, +0.88888889, +0.76458723, +0.89062524, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.12500000, +0.12500000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.04166667, +0.12500000, -0.02777778, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01402315, +0.00000000, +0.88888889, +0.76458723, +0.89062524, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -0.87500000, -0.87500000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -0.87500000, -0.87500000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01402315, -1.00000000, +0.88888889, +0.40065026, +0.89062524, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.12500000, +0.12500000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.04166667, +0.12500000, -0.02777778, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01402315, +0.00000000, +0.88888889, +0.34800904, +0.89062524, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.12500000, +0.12500000, +0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.04166667, +0.12500000, -0.02777778, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01402315, +0.00000000, +0.88888889, +0.33547790, +0.75670253, +0.00000000, +0.87500000, +0.12500000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.12500000, +0.00000000, +0.00000000, +0.16666667, -0.07142857, +0.00000000, -0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.75000000, -0.11111111, +0.00000000, -0.25000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.10767736, -0.12500000, -1.00000000, +0.01602429, +0.76562524, +0.00000000, +0.87500000, +0.12500000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.12500000, +0.00000000, +0.00000000, +0.75000000, -0.12500000, +0.75000000, -0.12500000, +0.16666667, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.75000000, -0.12500000, +0.45833333, -0.12500000, -0.12500000, +0.31250000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.11274706, -0.12500000, +0.65277778, +0.53313602, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.62500000, -0.62500000, -0.62500000, -0.25000000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.37500000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.37500000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.50000000, -0.37500000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -0.62500000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.37500000, -0.37500000, -0.62500000, -0.43750000, -0.25000000, -0.25000000, }, /* 3Com Switch (3Com OS 5) */ - { 0.83333333, 0, 1, 0.83333333, 0, 1, 1, 0, 1, 0.83333333, 0, 1, 0.83333333, 0, 1, 0.8, 0, 1, -1, -1, -1, 0.5, 0, 0, -1, -1, -1, 0, 0, 0, 0.66666667, 0, 1, -1, -1, -1, 0.17647059, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.6332512e-06, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.14694114, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.14694114, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.076998414, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.066881634, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.064473355, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711208, -1, -1, 0.031859319, 0.12500191, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.007820197, -1, 0, 0.14694114, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.12500191, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0.5, -1, -1, }, - /* Windows 10 */ - { 0.5, 0, 0.39005236, 0.5, 0, 0.39005236, 0.4, 0, 0.39005236, 0.5, 0, 0.39005236, 0.5, 0, 0.39005236, 0.4, 0, 0.39005236, 0, 0, 0.39005236, 0.5, 0, 0.39005236, -1, -1, -1, 0, 0, 0.39005236, 1, 0, 0.39005236, 0, 0, 0.39005236, 0, 0, 0.39005236, 0, 0, 0.39005236, 0, 0, 0.39005236, 0, 0, 0.39005236, 0, 0, 0.39005236, 0.39031058, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.01634196, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.01634196, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, -1, 0.88888889, 0.0085633273, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0074381963, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 0, 0, 0.42857143, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 0.11111111, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.0071703612, 0.98664836, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0, 0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.9999847, 0, -1, 0.0034891468, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 0, 0, 0.5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.99998461, 0, 0.88888889, 0.01634196, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0.5, -1, -1, }, + { +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.80000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.17647059, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000551, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.14694114, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.14694114, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.07699841, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.06688163, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.06447335, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01371121, -1.00000000, -1.00000000, +0.03185932, +0.12500191, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00788129, -1.00000000, +0.00000000, +0.14694114, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.12500191, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, + /* Microsoft Windows 10 */ + { +0.50000000, +0.00000000, +0.39005236, +0.50000000, +0.00000000, +0.39005236, +0.40000000, +0.00000000, +0.39005236, +0.50000000, +0.00000000, +0.39005236, +0.50000000, +0.00000000, +0.39005236, +0.40000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.50000000, +0.00000000, +0.39005236, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.39005236, +1.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.00000000, +0.00000000, +0.39005236, +0.39031172, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.01634196, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.01634196, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, -1.00000000, +0.88888889, +0.00856333, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00743820, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.00717036, +0.98664836, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998470, +0.00000000, -1.00000000, +0.00348915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.99998461, +0.00000000, +0.88888889, +0.01634196, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* Linux 4.4 */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0.40566319, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.36774484, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.36774484, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.44444444, 0.19270145, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.16738251, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.16135538, 0.43579767, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.079733289, 0.43945983, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.44444444, 0.37085475, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.40566430, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.36774484, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.36774484, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.44444444, +0.19270145, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.16738251, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.16135538, +0.43579767, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.07973329, +0.43945983, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.44444444, +0.37085475, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* FreeBSD 11.2 */ - { 0.83333333, 0, 0, 0.83333333, 0.0017361111, 0, 1, 0.0017361111, 0, 0.83333333, 0.0017361111, 0, 0.83333333, 0.0017361111, 0, 0.8, 0.0017361111, 0, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, -0.33333333, -1, -1, -1, 1, 0.0017361111, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.45138076, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.74074074, 0.84421348, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.74074074, 0.84421348, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.74074074, 0.4423751, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.74074074, 0.38425167, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.74074074, 0.37041551, 0.99687699, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18303974, 0.99687699, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.74074074, 0.84421348, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, -0.33333333, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00173611, +0.00000000, +1.00000000, +0.00173611, +0.00000000, +0.83333333, +0.00173611, +0.00000000, +0.83333333, +0.00173611, +0.00000000, +0.80000000, +0.00173611, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00173611, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.45138179, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.74074074, +0.84421348, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.74074074, +0.84421348, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.74074074, +0.44237510, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.74074074, +0.38425167, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.74074074, +0.37041551, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18303974, +0.99687699, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.74074074, +0.84421348, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, -0.33333333, }, /* Synology DSM 6.2.1 (Linux 3.2.40) */ - { 0.83333333, 0, 0, 0.83333333, 0, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0, 0, 0, 0, 0, 0.5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.44529075, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.77777778, 0.18270512, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.77777778, 0.18270512, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.77777778, 0.095739046, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.77777778, 0.083159944, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.77777778, 0.080165515, 0.21789883, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.039613553, 0.21972992, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.77777778, 0.18426007, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.44529179, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.77777778, +0.18270512, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.77777778, +0.18270512, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.77777778, +0.09573905, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.77777778, +0.08315994, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.77777778, +0.08016551, +0.21789883, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.03961355, +0.21972992, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.77777778, +0.18426007, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Linux 5.0 */ - { 0.83333333, 0, 1, 0.83333333, 0, 1, 1, 0, 1, 0.83333333, 0, 1, 0.83333333, 0, 1, 0.8, 0, 1, 0, 0, 1, 0.5, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, -1, -1, -1, -1, -1, -1, 0, 0, 1, 0, 0, 1, 0, 0, 1, -1, -1, -1, 0.31308097, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.77777778, 0.84880815, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.77777778, 0.84880815, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, -1, 0.77777778, 0.44478275, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.77777778, 0.38634298, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, 0, 0.28571429, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, 0, 0.22222222, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.77777778, 0.37243151, 0.99671931, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019954704, 0, -1, 0.18403594, 0.98329137, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014100985, 0, 0.77777778, 0.83734144, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 1, 0, 0.5, 0, 0, }, + { +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.83333333, +0.00000000, +1.00000000, +0.80000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.50000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.31308226, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.77777778, +0.84880815, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.77777778, +0.84880815, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, -1.00000000, +0.77777778, +0.44478275, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.77777778, +0.38634298, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.77777778, +0.37243151, +0.99671931, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01995470, +0.00000000, -1.00000000, +0.18403594, +0.98329137, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.77777778, +0.83734144, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, /* Linux 5.4 */ - { 0.72222222, 0, 0, 0.72222222, 0, 0, 0.8, 0, 0, 0.72222222, 0, 0, 0.72222222, 0, 0, 0.66666667, 0, 0, -0.33333333, -0.33333333, -0.33333333, -0.5, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.33333333, -0.33333333, -0.33333333, 1, 0, 0, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, 0.32022793, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.28571429, 0.66666667, 0.33333333, 0.19047619, -0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.074074074, 0.66666667, 0.11111111, 0.14814815, -0.59259259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, 0, 0.81481481, 0.85133604, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.28571429, 0.66666667, 0.33333333, 0.19047619, -0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.074074074, 0.66666667, 0.11111111, 0.14814815, -0.59259259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, 0, 0.81481481, 0.85133604, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.095238095, 0.33333333, -0.33333333, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.074074074, 0.33333333, -0.33333333, -0.33333333, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, -1, 0.81481481, 0.44610738, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.28571429, 0.66666667, 0.33333333, 0.19047619, -0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.074074074, 0.66666667, 0.11111111, 0.14814815, -0.59259259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, 0, 0.81481481, 0.38749357, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.28571429, 0.66666667, 0.33333333, 0.19047619, -0.57142857, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.074074074, 0.66666667, 0.11111111, 0.14814815, -0.59259259, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, 0, 0.81481481, 0.37354067, 0.98084993, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.28571429, 0.66666667, -0.55555556, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.074074074, 0.66666667, -0.66666667, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.019567036, 0, -1, 0.18458403, 0.98634318, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0.33333333, 0.75, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0, 1, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.013711002, 0, 0.81481481, 0.85600091, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.33333333, 0.33333333, -0.66666667, -0.5, -0.66666667, -0.66666667, }, + { +0.72222222, +0.00000000, +0.00000000, +0.72222222, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.72222222, +0.00000000, +0.00000000, +0.72222222, +0.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, -0.33333333, -0.33333333, -0.33333333, -0.50000000, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.66666667, -0.33333333, -0.33333333, -0.33333333, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.32022920, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.28571429, +0.66666667, +0.33333333, +0.19047619, -0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.07407407, +0.66666667, +0.11111111, +0.14814815, -0.59259259, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, +0.00000000, +0.81481481, +0.85133604, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.28571429, +0.66666667, +0.33333333, +0.19047619, -0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.07407407, +0.66666667, +0.11111111, +0.14814815, -0.59259259, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, +0.00000000, +0.81481481, +0.85133604, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.09523810, +0.33333333, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.07407407, +0.33333333, -0.33333333, -0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, -1.00000000, +0.81481481, +0.44610738, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.28571429, +0.66666667, +0.33333333, +0.19047619, -0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.07407407, +0.66666667, +0.11111111, +0.14814815, -0.59259259, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, +0.00000000, +0.81481481, +0.38749357, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.28571429, +0.66666667, +0.33333333, +0.19047619, -0.57142857, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.07407407, +0.66666667, +0.11111111, +0.14814815, -0.59259259, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, +0.00000000, +0.81481481, +0.37354067, +0.98084993, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.28571429, +0.66666667, -0.55555556, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.07407407, +0.66666667, -0.66666667, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01956704, +0.00000000, -1.00000000, +0.18458403, +0.98634318, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01377173, +0.00000000, +0.81481481, +0.85600091, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.33333333, +0.33333333, -0.66666667, -0.50000000, -0.66666667, -0.66666667, }, + /* Linux 6.6 */ + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.51156163, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, +0.00000000, +0.44444444, +0.92215721, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, +0.00000000, +0.44444444, +0.92215721, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, -1.00000000, +0.44444444, +0.48321828, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, +0.00000000, +0.44444444, +0.41972849, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, +0.00000000, +0.44444444, +0.40461487, +0.99794003, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01824080, +0.00000000, -1.00000000, +0.19993925, +0.98695354, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.33333333, +0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01243766, +0.00000000, +0.44444444, +0.91197931, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, }, /* FreeBSD 12.0 - 12.1 */ - { 0.83333333, 0.010416667, 0, 0.83333333, 0.010416667, 0, 1, 0, 0, 0.83333333, 0, 0, 0.83333333, 0, 0, 0.8, 0.0026041667, 0, -1, -1, -1, -0.25, -0.5, -0.5, -1, -1, -1, 0, 0, 0, 1, 0, 0, -1, -1, -1, 0.29411765, 0.020833333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24787971, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.84686555, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0.28571429, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0, 0, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, -1, 0.66666667, 0.4437648, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.38545878, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 0.33333333, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.37157915, 1, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0.42857143, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0.11111111, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.020077126, 0, -1, 0.18361475, 1, 0, 1, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.66666667, 1, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.014224138, 0, 0.66666667, 0.84686555, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.33333333, 0, 0.28571429, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 1, 0, 0.22222222, 1, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0.018058864, 0, 0.66666667, 0.18319713, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -0.5, -0.25, -1, -1, }, + { +0.83333333, +0.01041667, +0.00000000, +0.83333333, +0.01041667, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00260417, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -0.25000000, -0.50000000, -0.50000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.29411765, +0.02083333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24788112, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.66666667, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.37157915, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18361475, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.66666667, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.66666667, +0.18319713, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.50000000, -0.25000000, -1.00000000, -1.00000000, }, + /* Microsoft Windows 11 */ + { +0.83333333, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +1.00000000, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +0.83333333, +0.00000000, +0.50000000, +0.80000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.27523293, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.44444444, +0.91348754, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.44444444, +0.91348754, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, -1.00000000, +0.44444444, +0.47867530, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.44444444, +0.41578240, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.44444444, +0.40081088, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01839383, +0.00000000, -1.00000000, +0.19805952, +0.98828870, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01259159, +0.00000000, +0.44444444, +0.91348754, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, }, + /* Apple macOS 14 (Sonoma) - 15 (Sequoia) (Darwin 23.0.0 - 24.3.0) */ + { +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -0.62500000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -0.75000000, -0.75000000, -0.75000000, +0.31275018, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, +0.00000000, +0.66666667, +0.26614873, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, +0.00000000, +0.66666667, +0.26614873, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, -1.00000000, +0.66666667, +0.13946422, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, +0.00000000, +0.66666667, +0.12114009, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, +0.42857143, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, +0.11111111, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, +0.00000000, +0.66666667, +0.11677807, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.19090102, +0.00000000, -1.00000000, +0.05770554, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.18611847, +0.00000000, +0.66666667, +0.26614873, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -0.75000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -0.75000000, -0.62500000, -0.75000000, -0.75000000, }, + /* Microsoft Windows 10 21H2 */ + { +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.40000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.32454094, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.88888889, +0.85160968, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.88888889, +0.85160968, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, -1.00000000, +0.88888889, +0.44625077, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.88888889, +0.38761812, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +0.42857143, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.11111111, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01416169, +0.00000000, +0.88888889, +0.37366074, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, + /* Microsoft Windows 10 23H2 */ + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.41268856, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.88888889, +0.44376480, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.38545878, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.37157915, +0.99537652, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.18276347, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +0.00000000, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +0.00000000, +0.00000000, +0.50000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.88888889, +0.84686555, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, }, + /* NetBSD 9.99 */ + { +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.83333333, +0.00000000, +0.00000000, +0.80000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.29411765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00338672, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.42227195, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.42227195, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.28571429, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, -1.00000000, +0.33333333, +0.22127412, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.19220103, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +0.33333333, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.18528024, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.42857143, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.11111111, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.02007713, +0.00000000, -1.00000000, +0.09155569, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +1.00000000, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.66666667, +1.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01428483, +0.00000000, +0.33333333, +0.42227195, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000763, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.28571429, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, +0.00000000, +0.22222222, +1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.01805886, +0.00000000, +0.33333333, +0.09109098, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, +0.00000000, +0.00000000, }, + /* VxWorks 6.5 */ + { +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.16666667, +0.00000000, +0.00000000, +0.20000000, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.50000000, +0.00000000, +0.00000000, -0.66666667, -0.66666667, -0.66666667, +0.00000000, +0.00000000, +0.00000000, +0.33333333, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, +0.05882353, +0.00000000, +0.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.07055394, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.07055394, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.03697087, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.03211329, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.03095695, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00587623, -1.00000000, -1.00000000, +0.01529729, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, -1.00000000, -1.00000000, +0.07055394, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.03051804, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.33333333, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00379620, -1.00000000, -1.00000000, +0.01479357, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, -1.00000000, +0.00000000, +0.50000000, -0.66666667, -0.66666667, }, }; /* Variances are per-feature only, not considering correlation. Rows of this @@ -897,1591 +915,1609 @@ double FPmean[][695] = { matrix per OS class. */ double FPvariance[][695] = { /* Linux 2.6.38 - 3.2 */ - { 0, 0, 0.24793388, 0, 0, 0.23140496, 0, 0, 0.23140496, 0, 0, 0.23140496, 0, 0, 0.23140496, 0, 0, 0.23140496, 0.082644628, 0.082644628, 0.42975207, 0.55785124, 0.24793388, 0.90909091, 0.23140496, 0.23140496, 0.23140496, 0.082644628, 0.082644628, 0.33057851, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.029322176, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9.2211446e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.014284257, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.082644628, 0.33057851, 0.24793388, 0.55785124, 0.23140496, 0.23140496, }, + { +0.00000000, +0.00000000, +0.24793388, +0.00000000, +0.00000000, +0.23140496, +0.00000000, +0.00000000, +0.23140496, +0.00000000, +0.00000000, +0.23140496, +0.00000000, +0.00000000, +0.23140496, +0.00000000, +0.00000000, +0.23140496, +0.08264463, +0.08264463, +0.42975207, +0.55785124, +0.24793388, +0.90909091, +0.23140496, +0.23140496, +0.23140496, +0.08264463, +0.08264463, +0.33057851, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02932207, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00009221, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01428426, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.08264463, +0.33057851, +0.24793388, +0.55785124, +0.23140496, +0.23140496, }, /* Linux 2.6.38 - 2.6.39 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0.13888889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.13888889, 0.13888889, 0.13888889, 0.5, 0.22222222, 0.22222222, 0.25, 0.25, 0.25, 0.13888889, 0.13888889, 0.13888889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0.13888889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2935431e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.13888889, 0.55555556, 0.22222222, 0.5, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.13888889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.13888889, +0.13888889, +0.13888889, +0.50000000, +0.22222222, +0.22222222, +0.25000000, +0.25000000, +0.25000000, +0.13888889, +0.13888889, +0.13888889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.13888889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000129, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.13888889, +0.55555556, +0.22222222, +0.50000000, +0.25000000, +0.25000000, }, /* Linux 2.6.32 - 2.6.39 */ - { 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0.25, 0.25, 0.25, 0.859375, 0.421875, 0.1875, 0.484375, 0.1875, 0.1875, 0.1875, 0.109375, 0.109375, 0.109375, 0, 0, 0.25, 0.4375, 0.109375, 0.109375, 0.58737024, 0.25, 0.859375, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.030900636, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0059799383, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.34764318, 0.234375, 0.9375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.234375, 0.41666667, 0.47831633, 0.9375, 0.234375, 0.38743622, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.9375, 0.28935185, 0.9375, 0.234375, 0.35011574, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24291653, 0.234375, 0.56712963, 0.25307229, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 1, 0.1875, 0.421875, 0.1875, 0.1875, }, + { +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.85937500, +0.42187500, +0.18750000, +0.48437500, +0.18750000, +0.18750000, +0.18750000, +0.10937500, +0.10937500, +0.10937500, +0.00000000, +0.00000000, +0.25000000, +0.43750000, +0.10937500, +0.10937500, +0.58737024, +0.25000000, +0.85937500, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03090052, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00597994, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34764318, +0.23437500, +0.93750000, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.41666667, +0.47831633, +0.93750000, +0.23437500, +0.38743622, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.93750000, +0.28935185, +0.93750000, +0.23437500, +0.35011574, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24291653, +0.23437500, +0.56712963, +0.25307229, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +1.00000000, +0.18750000, +0.42187500, +0.18750000, +0.18750000, }, /* HP ProCurve 2520G switch */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* OpenIndiana oi_148 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows 7 Professional SP1 */ - { 0.097222222, 0, 0.021052054, 0.097222222, 0, 0.021052054, 0.14, 0, 0.021052054, 0.51909722, 0.1875, 0.3342065, 0.35416667, 0.1875, 0.3342065, 0.4075, 0.1875, 0.3342065, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0, 0.021052054, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6596771e-05, 0.2216793, 0, 0.25, 0.1875, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0.29861111, 0.2755102, 0.66709184, 0.75, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6875, 0.2037037, 0.66898148, 0.33333333, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25716265, 0.25, 0.66898148, 0.61317312, 0.2216793, 0, 0.25, 0.1875, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0.29861111, 0.2755102, 0.66709184, 0.75, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6875, 0.2037037, 0.66898148, 0.33333333, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25716265, 0.25, 0.66898148, 0.61317312, 0.2216793, 0, 0.25, 0.1875, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0.6875, 0.1875, 0.51530612, 0.6875, 0.1875, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.6875, 0.1875, 0.50925926, 0.6875, 0.1875, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25716265, 0, 0.66898148, 0.40900255, 0.50292978, 0.1875, 0.6875, 0.5, 0.1875, 0.6875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.44444444, 0.39158163, 0.73852041, 0.75, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.28009259, 0.72453704, 0.33333333, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25716265, 0.25, 0.66898148, 0.38417837, 0.5, 0.1875, 0.5, 0.6875, 0.1875, 0.5, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.33333333, 0.38265306, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.75, 0.23148148, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.19287199, 0.1875, 0, 0.35273051, 0.20605502, 0.1875, 0.5, 0.6875, 0.1875, 0.5, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.33333333, 0.38265306, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.75, 0.23148148, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1951045, 0.1875, 0, 0.19603598, 0.2216793, 0, 0.25, 0.1875, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 1, 0.25, 0.6875, 0.6875, 0.33333333, 0.75, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.25, 0.5, 0.6875, 0.1875, 0.421875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25716265, 0.25, 0.66898148, 0.61317312, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.09722222, +0.00000000, +0.02105205, +0.09722222, +0.00000000, +0.02105205, +0.14000000, +0.00000000, +0.02105205, +0.51909722, +0.18750000, +0.33420650, +0.35416667, +0.18750000, +0.33420650, +0.40750000, +0.18750000, +0.33420650, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00001660, +0.22167930, +0.00000000, +0.25000000, +0.18750000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.29861111, +0.27551020, +0.66709184, +0.75000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.68750000, +0.20370370, +0.66898148, +0.33333333, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25719343, +0.25000000, +0.66898148, +0.61317312, +0.22167930, +0.00000000, +0.25000000, +0.18750000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.29861111, +0.27551020, +0.66709184, +0.75000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.68750000, +0.20370370, +0.66898148, +0.33333333, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25719343, +0.25000000, +0.66898148, +0.61317312, +0.22167930, +0.00000000, +0.25000000, +0.18750000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.68750000, +0.18750000, +0.51530612, +0.68750000, +0.18750000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.68750000, +0.18750000, +0.50925926, +0.68750000, +0.18750000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25719343, +0.00000000, +0.66898148, +0.40900255, +0.50292978, +0.18750000, +0.68750000, +0.50000000, +0.18750000, +0.68750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.44444444, +0.39158163, +0.73852041, +0.75000000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.28009259, +0.72453704, +0.33333333, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25719343, +0.25000000, +0.66898148, +0.38417837, +0.50000000, +0.18750000, +0.50000000, +0.68750000, +0.18750000, +0.50000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.33333333, +0.38265306, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.75000000, +0.23148148, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.19289507, +0.18750000, +0.00000000, +0.35273051, +0.20605502, +0.18750000, +0.50000000, +0.68750000, +0.18750000, +0.50000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.33333333, +0.38265306, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.75000000, +0.23148148, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.19510450, +0.18750000, +0.00000000, +0.19603598, +0.22167930, +0.00000000, +0.25000000, +0.18750000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.68750000, +0.68750000, +0.33333333, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.50000000, +0.68750000, +0.18750000, +0.42187500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25719343, +0.25000000, +0.66898148, +0.61317312, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.11 - 2.6.15 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.796875, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0345052e-05, 0, 0, 0, 0, 0, 2.0345052e-05, 0, 0.021839252, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0138812e-06, 0, 0, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0380105e-06, 0, 0.0084876543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.2038474e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.0314381e-06, 0, 0.0084876543, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.5625, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.79687500, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00002035, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00002035, +0.00000000, +0.02183917, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000201, +0.00000000, +0.00000000, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000204, +0.00000000, +0.00848765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003204, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000203, +0.00000000, +0.00848765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.56250000, +0.00000000, +0.00000000, }, /* VMware ESXi 5 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.4.21 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Equinox CCM4850 remote management appliance or Nokia 5530 XpressMusic phone */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* HP LaserJet P2055dn printer, TP-LINK TL-SG-series switch, or Zoom 5352 modem */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0010468683, 0.0010936706, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00078869058, 0.0010064961, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00072582552, 0.0010586227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0002096226, 0.0011076471, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00016548114, 0.0010250375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00014230941, 0.00097454093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.3037441e-05, 0.0011237458, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00081037903, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00097454093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.307125e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00104686, +0.00109367, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00078869, +0.00100650, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00072583, +0.00105862, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00020962, +0.00110765, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00016548, +0.00102504, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00014231, +0.00097454, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003304, +0.00112375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00081038, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00097454, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003307, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Vista SP2, Windows 7, Windows 8, Server 2008 R2, or Server 2012 R2 */ - { 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0.22222222, 0.22222222, 0.2991207, 0, 0, 0, 0.30555556, 0.076388889, 0.076388889, 0, 0, 0, 0, 8.2887249e-06, 0.028069406, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0020222952, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6271513e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6271513e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.076388889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.6271513e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0, 0, 0.076388889, 0.076388889, }, + { +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.22222222, +0.22222222, +0.29912070, +0.00000000, +0.00000000, +0.00000000, +0.30555556, +0.07638889, +0.07638889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000829, +0.02806941, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00202229, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07638889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.07638889, +0.07638889, }, /* Brother MFC-9440CN printer */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco 2600 router */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco 3750G switch */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco IOS 15.0 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.93444444, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.28027682, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 1, 0.25, 0.00028803505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0581525e-05, 0, 0, 0.0022937044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.6296963e-05, 0, 0, 0.002221094, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.7422049e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.4932161e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0581525e-05, 0, 0, 0.0022937044, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.28248653, 0.25, 1, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.44444444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25911096, 0, 0, 0.25532081, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.93444444, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.28027682, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +1.00000000, +0.25000000, +0.00028803, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005058, +0.00000000, +0.00000000, +0.00229370, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004629, +0.00000000, +0.00000000, +0.00222109, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005742, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000149, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005058, +0.00000000, +0.00000000, +0.00229370, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.28248653, +0.25000000, +1.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.44444444, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25911096, +0.00000000, +0.00000000, +0.25532081, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* FreeBSD 8.1 - 8.2 */ - { 0, 0, 0.22222222, 0, 0.0013563368, 0.22222222, 0, 0, 0.22222222, 0, 0.0013563368, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0, 7.8366127e-05, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0.006484842, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 0.00091292158, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 0.00035473105, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 4.8885445e-06, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 0.00018913001, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 4.8866014e-06, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.8815437e-06, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.043895748, 0.00091292158, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, }, + { +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00135634, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00135634, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00007837, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00648482, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00091292, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00035473, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00000489, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00018913, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00000489, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000488, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04389575, +0.00091292, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, }, /* HP LaserJet P1606dn or M1212nf printer */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.0625, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.020081227, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02008115, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 6.1-RELEASE */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.23 - 2.6.33 (embedded) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.0625, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.077160494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07716049, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Thecus N4100PRO NAS device (Linux 2.6.33) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Oracle Solaris 10 or Sun OpenSolaris svn_111b */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.0625, 0, 0, 1, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.06250000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* Oracle Solaris 11 or OpenIndiana */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.88888889, 0.5, 0.22222222, 0.88888889, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.88888889, 0.22222222, 0.5, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.88888889, +0.50000000, +0.22222222, +0.88888889, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.88888889, +0.22222222, +0.50000000, +0.00000000, +0.00000000, }, /* Microsoft Windows 7 SP0 - SP1 */ - { 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0, 0, 0.028069406, 0.00023670314, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00000000, +0.00000000, +0.02806941, +0.00023670, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* OpenBSD 4.4 - 4.8 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0.0024344645, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 0.00024952452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 0.00024952452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 6.8515686e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 5.1694006e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 4.8038229e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8134298e-06, 0, 0, 1.1730038e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.8351574e-06, 0, 0, 0.00024952452, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00243446, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00024952, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00024952, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00006852, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00005169, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00004804, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000181, +0.00000000, +0.00000000, +0.00001173, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000183, +0.00000000, +0.00000000, +0.00024952, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* Cisco 1841 or 2509 router (IOS 12.3 - 15.4) */ - { 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0.22222222, 0, 0, 0.055555556, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0074919894, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.05555556, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00749196, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco IOS 12 */ - { 0, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0, 0.1875, 0.5, 0.1875, 0.1875, 0.5, 0.1875, 0.1875, 0.5, 0.1875, 0.0086550881, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.7936144e-05, 0, 0, 0.0017202783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.4722723e-05, 0, 0, 0.0016658205, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.3066537e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1199121e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.7936144e-05, 0, 0, 0.0017202783, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.75, 0, 0, 0, 0, }, + { +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.18750000, +0.50000000, +0.18750000, +0.18750000, +0.50000000, +0.18750000, +0.18750000, +0.50000000, +0.18750000, +0.00865506, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003793, +0.00000000, +0.00000000, +0.00172028, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003472, +0.00000000, +0.00000000, +0.00166582, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004307, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000112, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00003793, +0.00000000, +0.00000000, +0.00172028, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.75000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Apple Mac OS X 10.6.8 - 10.7.3 (Snow Leopard - Lion) (Darwin 10.8.0 - 11.3.0) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0034886137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00348860, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Apple Mac OS X 10.4.11 - 10.7 (Tiger - Lion) or iOS 4.3.3 (Darwin 8.11.1 - 11.3.0) */ - { 0.2755102, 0.066326531, 0.066326531, 0.2755102, 0.066326531, 0.066326531, 0.26857143, 0.066326531, 0.066326531, 0.2755102, 0.066326531, 0.066326531, 0.27678571, 0.066326531, 0.066326531, 0.2677551, 0.066326531, 0.066326531, 0, 0, 0, 0.55102041, 0.24489796, 0.24489796, 0.25, 0.25, 0.25, 0.16836735, 0.16836735, 0.16836735, 0.31122449, 0.066326531, 0.066326531, 0, 0, 0, 0, 0, 0, 0.066326531, 0.066326531, 0.066326531, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.13055739, 0.26530612, 0.066326531, 0.34693878, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.12244898, 0.066326531, 0.19085798, 0.16836735, 0.16836735, 0.67346939, 0.34360683, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.34693878, 0.066326531, 0.1925548, 0.16836735, 0.16836735, 0.67346939, 0.20786092, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.17298228, 0.16836735, 0.26958932, 0.59447314, 0.26530612, 0.066326531, 0.34693878, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.12244898, 0.066326531, 0.19085798, 0.16836735, 0.16836735, 0.67346939, 0.34360683, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.34693878, 0.066326531, 0.1925548, 0.16836735, 0.16836735, 0.67346939, 0.20786092, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.17298228, 0.16836735, 0.26958932, 0.59447314, 0.26530612, 0.066326531, 0.34693878, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.34693878, 0.066326531, 0.19085798, 0.16836735, 0.16836735, 0.67346939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.34693878, 0.066326531, 0.1925548, 0.16836735, 0.16836735, 0.67346939, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.17298228, 0, 0.26958932, 0.35883597, 0.26530612, 0.066326531, 0.34693878, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.12244898, 0.066326531, 0.19085798, 0.16836735, 0.16836735, 0.67346939, 0.34360683, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.34693878, 0.066326531, 0.1925548, 0.16836735, 0.16836735, 0.67346939, 0.20786092, 0.16836735, 0.16836735, 0, 0, 0, 0, 0, 0, 0, 0.17298228, 0.16836735, 0.26958932, 0.32968762, 0.26530612, 0.066326531, 0.37244898, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.12301587, 0.066326531, 0.22365681, 0.20408163, 0.20408163, 0.81632653, 0.41649313, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0.37244898, 0.066326531, 0.23003275, 0.20408163, 0.20408163, 0.81632653, 0.25195263, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0.2096497, 0.20408163, 0.32098765, 0.39200023, 0.26530612, 0.066326531, 0.37244898, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.12301587, 0.066326531, 0.26530612, 0.81632653, 0.81632653, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.37244898, 0.066326531, 0.26530612, 0.81632653, 0.81632653, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.21207969, 0.20408163, 0, 0.28924994, 0.26530612, 0.066326531, 0.31122449, 0.066326531, 0.066326531, 0.26530612, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.48979592, 0.12244898, 0.48979592, 0.48979592, 0.12244898, 0.12244898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.48979592, 0.12244898, 0.34013605, 0.48979592, 0.12244898, 0.12244898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.12581842, 0.12244898, 0.20005039, 0.43207781, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0.066326531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0.55102041, 0.25, 0.25, }, + { +0.27551020, +0.06632653, +0.06632653, +0.27551020, +0.06632653, +0.06632653, +0.26857143, +0.06632653, +0.06632653, +0.27551020, +0.06632653, +0.06632653, +0.27678571, +0.06632653, +0.06632653, +0.26775510, +0.06632653, +0.06632653, +0.00000000, +0.00000000, +0.00000000, +0.55102041, +0.24489796, +0.24489796, +0.25000000, +0.25000000, +0.25000000, +0.16836735, +0.16836735, +0.16836735, +0.31122449, +0.06632653, +0.06632653, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06632653, +0.06632653, +0.06632653, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.13055756, +0.26530612, +0.06632653, +0.34693878, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.12244898, +0.06632653, +0.19085798, +0.16836735, +0.16836735, +0.67346939, +0.34360683, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34693878, +0.06632653, +0.19255480, +0.16836735, +0.16836735, +0.67346939, +0.20786092, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.17300301, +0.16836735, +0.26958932, +0.59447314, +0.26530612, +0.06632653, +0.34693878, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.12244898, +0.06632653, +0.19085798, +0.16836735, +0.16836735, +0.67346939, +0.34360683, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34693878, +0.06632653, +0.19255480, +0.16836735, +0.16836735, +0.67346939, +0.20786092, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.17300301, +0.16836735, +0.26958932, +0.59447314, +0.26530612, +0.06632653, +0.34693878, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.34693878, +0.06632653, +0.19085798, +0.16836735, +0.16836735, +0.67346939, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34693878, +0.06632653, +0.19255480, +0.16836735, +0.16836735, +0.67346939, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.17300301, +0.00000000, +0.26958932, +0.35883597, +0.26530612, +0.06632653, +0.34693878, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.12244898, +0.06632653, +0.19085798, +0.16836735, +0.16836735, +0.67346939, +0.34360683, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.34693878, +0.06632653, +0.19255480, +0.16836735, +0.16836735, +0.67346939, +0.20786092, +0.16836735, +0.16836735, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.17300301, +0.16836735, +0.26958932, +0.32968762, +0.26530612, +0.06632653, +0.37244898, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.12301587, +0.06632653, +0.22365681, +0.20408163, +0.20408163, +0.81632653, +0.41649313, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.37244898, +0.06632653, +0.23003275, +0.20408163, +0.20408163, +0.81632653, +0.25195263, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20967483, +0.20408163, +0.32098765, +0.39200023, +0.26530612, +0.06632653, +0.37244898, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.12301587, +0.06632653, +0.26530612, +0.81632653, +0.81632653, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.37244898, +0.06632653, +0.26530612, +0.81632653, +0.81632653, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.21207969, +0.20408163, +0.00000000, +0.28924994, +0.26530612, +0.06632653, +0.31122449, +0.06632653, +0.06632653, +0.26530612, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.48979592, +0.12244898, +0.48979592, +0.48979592, +0.12244898, +0.12244898, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.48979592, +0.12244898, +0.34013605, +0.48979592, +0.12244898, +0.12244898, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.12583350, +0.12244898, +0.20005039, +0.43207781, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.06632653, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.55102041, +0.25000000, +0.25000000, }, /* HP OfficeJet 8500 printer */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Brother HL-L5200W or HP LaserJet CP1525nw or CP2025dn printer */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.012494264, 1.4136269e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.4220295e-05, 2.7297376e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.4377435e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.4136269e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1232821e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.4692397e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.5708118e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.01249422, +0.00001414, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005422, +0.00002730, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005438, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00001414, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00001123, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00001469, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00005571, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* AVM FRITZ!Box 7390 WAP or Cisco SA520 Security Appliance */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017813873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01781381, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.18 - 2.6.34 */ - { 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0.2025, 0.09, 0.2, 0.09, 0.09, 0.09, 0, 0, 0.09, 0, 0, 0.09, 0, 0, 0, 0, 0, 0.09, 0, 0, 0.09, 0.16, 0.16, 0.29, 0.16, 0.16, 0.29, 0.16, 0.16, 0.29, 0.035343231, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.4426254e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0044444444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.09, 0.2025, 0.09, 0.09, }, + { +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.20250000, +0.09000000, +0.20000000, +0.09000000, +0.09000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.09000000, +0.16000000, +0.16000000, +0.29000000, +0.16000000, +0.16000000, +0.29000000, +0.16000000, +0.16000000, +0.29000000, +0.03534310, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000144, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00444444, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.09000000, +0.20250000, +0.09000000, +0.09000000, }, /* Linux 2.6.18 - 2.6.34 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.41868512, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.0433755e-05, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.833484e-06, 0, 0, 0, 4.5077388e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.8674334e-06, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.29547896, 0.25, 1, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.44444444, 0.51020408, 1, 0.25, 0.41326531, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.30864198, 1, 0.25, 0.37345679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25911096, 0.25, 0.79012346, 0.2575756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.41868512, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00007043, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000283, +0.00000000, +0.00000000, +0.00000000, +0.00004508, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.00308642, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.29547896, +0.25000000, +1.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.44444444, +0.51020408, +1.00000000, +0.25000000, +0.41326531, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.30864198, +1.00000000, +0.25000000, +0.37345679, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25911096, +0.25000000, +0.79012346, +0.25757560, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* Linux 2.6.23 - 2.6.32 */ - { 0.53777778, 0.16, 0.16, 0.53777778, 0.16, 0.16, 0.64, 0.16, 0.16, 0.53777778, 0.16, 0.16, 0.53777778, 0.16, 0.16, 0.5184, 0.16, 0.16, 0, 0, 0, 0.36, 0.16, 0.16, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0.64, 0.24, 0.24, 0.26939805, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.28444444, 0.32653061, 0.64, 0.16, 0.2644898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.19753086, 0.64, 0.16, 0.23901235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0.16, 0.45925926, 0.18375051, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.28444444, 0.32653061, 0.64, 0.16, 0.2644898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.19753086, 0.64, 0.16, 0.23901235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0.16, 0.45925926, 0.18375051, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0, 0.45925926, 0.17224058, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.28444444, 0.32653061, 0.64, 0.16, 0.2644898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.19753086, 0.64, 0.16, 0.23901235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0.16, 0.45925926, 0.17060655, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.28444444, 0.32653061, 0.64, 0.16, 0.2644898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.19753086, 0.64, 0.16, 0.23901235, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0.16, 0.45925926, 0.17021872, 0.18796752, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.28444444, 0.32653061, 0.64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.19753086, 0.64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16621625, 0.16, 0, 0.16501002, 0.18822163, 0.16, 0.64, 0.16, 0.16, 0.64, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.64, 0.16, 0.16, 0.64, 0.28444444, 0.49, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.64, 0.16, 0.16, 0.64, 0.16, 0.64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16431114, 0.16, 0.45925926, 0.18397349, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.36, 0.24, 0.24, }, + { +0.53777778, +0.16000000, +0.16000000, +0.53777778, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.53777778, +0.16000000, +0.16000000, +0.53777778, +0.16000000, +0.16000000, +0.51840000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.36000000, +0.16000000, +0.16000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.24000000, +0.24000000, +0.26939854, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.28444444, +0.32653061, +0.64000000, +0.16000000, +0.26448980, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.19753086, +0.64000000, +0.16000000, +0.23901235, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.16000000, +0.45925926, +0.18375051, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.28444444, +0.32653061, +0.64000000, +0.16000000, +0.26448980, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.19753086, +0.64000000, +0.16000000, +0.23901235, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.16000000, +0.45925926, +0.18375051, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.00000000, +0.45925926, +0.17224058, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.28444444, +0.32653061, +0.64000000, +0.16000000, +0.26448980, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.19753086, +0.64000000, +0.16000000, +0.23901235, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.16000000, +0.45925926, +0.17060655, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.28444444, +0.32653061, +0.64000000, +0.16000000, +0.26448980, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.19753086, +0.64000000, +0.16000000, +0.23901235, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.16000000, +0.45925926, +0.17021872, +0.18796752, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.28444444, +0.32653061, +0.64000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.19753086, +0.64000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16621625, +0.16000000, +0.00000000, +0.16501002, +0.18822163, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.28444444, +0.49000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.64000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.64000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16433084, +0.16000000, +0.45925926, +0.18397349, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.36000000, +0.24000000, +0.24000000, }, /* Microsoft Windows XP SP3 or Windows Server 2003 SP1 */ - { 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0.75, 0.1875, 0.1875, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0, 0, 0.021052054, 0.0096840956, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, }, + { +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.75000000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00000000, +0.00000000, +0.02105205, +0.00968406, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, }, /* Microsoft Windows 7 SP1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0020384396, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00203843, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 7.4 - 8.2 */ - { 0, 0.00082058377, 0, 0, 0.00038655599, 0, 0, 0.00082058377, 0, 0, 0.00061543783, 0, 0, 6.781684e-06, 0, 0, 0.00016784668, 0, 0.75, 0.1875, 0.1875, 0.046875, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0, 0, 0, 0.0004119873, 0, 0, 0, 0, 0, 6.781684e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.023672751, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0, 0, 0.1875, 0.1875, }, + { +0.00000000, +0.00082058, +0.00000000, +0.00000000, +0.00038656, +0.00000000, +0.00000000, +0.00082058, +0.00000000, +0.00000000, +0.00061544, +0.00000000, +0.00000000, +0.00000678, +0.00000000, +0.00000000, +0.00016785, +0.00000000, +0.75000000, +0.18750000, +0.18750000, +0.04687500, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00041199, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000678, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02367266, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, }, /* Linux 2.6.32 - 2.6.37 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.055363322, 0.055363322, 0.055363322, 0.23356401, 0.10380623, 0.10380623, 0.1799308, 0.1799308, 0.1799308, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0033256001, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 1.8955117e-05, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 1.8955117e-05, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 5.2047904e-06, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 3.9269324e-06, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 3.6492215e-06, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.6626971e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 1.9276165e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.6184872e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.039984621, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.055363322, 0.22145329, 0.10380623, 0.23356401, 0.1799308, 0.1799308, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05536332, +0.05536332, +0.05536332, +0.23356401, +0.10380623, +0.10380623, +0.17993080, +0.17993080, +0.17993080, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00332559, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00001896, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00001896, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00000520, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00000393, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00000365, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00002663, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00001928, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00002618, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.03998462, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05536332, +0.22145329, +0.10380623, +0.23356401, +0.17993080, +0.17993080, }, /* Linux 2.6.16 - 3.2 */ - { 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0, 0, 0.05859375, 0.014326567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.15234375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.001880787, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.00000000, +0.00000000, +0.05859375, +0.01432651, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.15234375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00188079, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.32 - 3.2 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.15234375, 0.13183594, 0.05859375, 0.18359375, 0.109375, 0.109375, 0.109375, 0.05859375, 0.05859375, 0.234375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05859375, 0.05859375, 0.234375, 0.05859375, 0.05859375, 0.234375, 0.05859375, 0.05859375, 0.234375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0.05859375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.05859375, 0.05859375, 0.13183594, 0.109375, 0.109375, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.15234375, +0.13183594, +0.05859375, +0.18359375, +0.10937500, +0.10937500, +0.10937500, +0.05859375, +0.05859375, +0.23437500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.05859375, +0.23437500, +0.05859375, +0.05859375, +0.23437500, +0.05859375, +0.05859375, +0.23437500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.05859375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05859375, +0.05859375, +0.13183594, +0.10937500, +0.10937500, }, /* IBM AIX 7.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0014781413, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00147814, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00020996143, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00020996, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 - 7.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0014233121, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00142331, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* IBM AIX 6.1 - 7.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00092421456, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00092421, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Vista, Windows 7 SP1, Windows Server 2008 R2 or Windows 8.1 */ - { 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0.44628099, 0.19834711, 0.40086802, 0.79338843, 0.19834711, 0.19834711, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0, 0, 0.06985681, 0.010074176, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.045425026, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.045425026, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.01247303, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.0094107046, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.0087451837, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021354105, 0.063274518, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.065299459, 0.045425026, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.19834711, 0.44628099, 0.19834711, 0.19834711, }, + { +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.44628099, +0.19834711, +0.40086802, +0.79338843, +0.19834711, +0.19834711, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.00000000, +0.00000000, +0.06985681, +0.01007414, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.04542503, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.04542503, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.01247303, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.00941070, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.00874518, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00213541, +0.06327452, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06529946, +0.04542503, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.19834711, +0.44628099, +0.19834711, +0.19834711, }, /* Linux 2.6.32 - 3.2 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00077363726, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01920439, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00077363, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01920439, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 3.2 - 3.8 */ - { 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0.24489796, 0.24489796, 0.97959184, 0.55102041, 0.24489796, 0.97959184, 0, 0, 0, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0, 0, 0.24489796, 0.004846367, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.7969616e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.027210884, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0.97959184, 0.24489796, 0.55102041, 0, 0, }, + { +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.24489796, +0.24489796, +0.97959184, +0.55102041, +0.24489796, +0.97959184, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00000000, +0.00000000, +0.24489796, +0.00484635, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000680, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02721088, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.97959184, +0.24489796, +0.55102041, +0.00000000, +0.00000000, }, /* Linux 3.7 - 4.15 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.23140496, 0.23140496, 0.23140496, 0.52066116, 0.23140496, 0.23140496, 0.24793388, 0.24793388, 0.24793388, 0.082644628, 0.082644628, 0.082644628, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.0065272801, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0046933986, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0.14876033, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.23140496, 0.92561983, 0.23140496, 0.52066116, 0.24793388, 0.24793388, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23140496, +0.23140496, +0.23140496, +0.52066116, +0.23140496, +0.23140496, +0.24793388, +0.24793388, +0.24793388, +0.08264463, +0.08264463, +0.08264463, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.00652726, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00469340, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.14876033, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23140496, +0.92561983, +0.23140496, +0.52066116, +0.24793388, +0.24793388, }, /* Linux 3.7 - 3.9 */ - { 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0, 0, 0.1875, 0.015089256, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3233073e-06, 0, 0, 0, 0.00013157661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3391625e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.18750000, +0.01508920, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000132, +0.00000000, +0.00000000, +0.00000000, +0.00013158, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.39 - 3.5 */ - { 0, 0.0044444444, 0.16, 0, 0.0044444444, 0.16, 0, 0.0044444444, 0.16, 0, 0.0044444444, 0.16, 0, 0.0044444444, 0.16, 0, 0.0044444444, 0.16, 0.24, 0.24, 0.24, 0, 0, 0, 0.16, 0.16, 0.16, 0.24, 0.56, 0.24, 0, 0.0044444444, 0.24, 0, 0, 0, 0, 0, 0, 0.16, 0.17777778, 0.4, 0, 0.0044444444, 0.24, 0.16, 0.17777778, 0.4, 0, 0, 0, 0.023765865, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2.2352424e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.016790123, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0.96, 0, 0, 0.16, 0.16, }, + { +0.00000000, +0.00444444, +0.16000000, +0.00000000, +0.00444444, +0.16000000, +0.00000000, +0.00444444, +0.16000000, +0.00000000, +0.00444444, +0.16000000, +0.00000000, +0.00444444, +0.16000000, +0.00000000, +0.00444444, +0.16000000, +0.24000000, +0.24000000, +0.24000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.24000000, +0.56000000, +0.24000000, +0.00000000, +0.00444444, +0.24000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.17777778, +0.40000000, +0.00000000, +0.00444444, +0.24000000, +0.16000000, +0.17777778, +0.40000000, +0.00000000, +0.00000000, +0.00000000, +0.02376578, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000224, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01679012, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24000000, +0.96000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, }, /* OpenWrt (Linux 3.3 - 3.10) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0.5625, 0.25, 0.25, 0.25, 0.25, 0.25, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0074717286, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.4227149e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012345679, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.75, 0.25, 0.5625, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.56250000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00747170, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000342, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01234568, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.75000000, +0.25000000, +0.56250000, +0.25000000, +0.25000000, }, + /* OpenWrt (Linux 4.14) */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Citrix NetScaler load balancer (NS9.3) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Citrix NetScaler load balancer (NS9.2) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 2.6.18 */ - { 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0.22222222, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0.14114994, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.4920899e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.4920899e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.7826304e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3449665e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.2498511e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.6016591e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14114941, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000649, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000649, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000178, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000134, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000660, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* NetBSD */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.88888889, 0.22222222, 0.22222222, 0.055555556, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024691358, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0, 0, 0.22222222, 0.22222222, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.88888889, +0.22222222, +0.22222222, +0.05555556, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.22222222, +0.22222222, }, /* F5 BIG-IP load balancer */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Vista SP2 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 1.6491779e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 1, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00001649, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +1.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows Server 2008 R2 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030668966, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00306689, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 9.0 - 11.1 */ - { 0, 2.3057726e-05, 0, 0, 2.3057726e-05, 0, 0, 2.2786458e-05, 0, 0, 3.6892361e-05, 0, 0, 3.499349e-05, 0, 0, 0.00051025391, 0, 0, 0, 0, 0.4725, 0.21, 0.21, 0.16, 0.16, 0.16, 0.25, 0.25, 0.25, 0, 3.6892361e-05, 0, 0, 0, 0, 0.41868512, 0.25052327, 0.25, 0.16, 0.16064697, 0.16, 0.21, 0.21, 0.21, 0.25, 0.25, 0.25, 0.24, 0.24, 0.24, 0.011488873, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0.00062466672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0.0002727195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.008417444, 0, 0.01, 0.020498699, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.09, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01, 0.00062466672, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.25, 1, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.44444444, 0.25, 0.41326531, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0.25, 0.37345679, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.69444444, 1, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0.21, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0.24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.21, 0.4725, 0.16, 0.16, }, + { +0.00000000, +0.00002306, +0.00000000, +0.00000000, +0.00002306, +0.00000000, +0.00000000, +0.00002279, +0.00000000, +0.00000000, +0.00003689, +0.00000000, +0.00000000, +0.00003499, +0.00000000, +0.00000000, +0.00051025, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.47250000, +0.21000000, +0.21000000, +0.16000000, +0.16000000, +0.16000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00003689, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.41868512, +0.25052327, +0.25000000, +0.16000000, +0.16064697, +0.16000000, +0.21000000, +0.21000000, +0.21000000, +0.25000000, +0.25000000, +0.25000000, +0.24000000, +0.24000000, +0.24000000, +0.01148883, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01000000, +0.00062467, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01000000, +0.00027272, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00841641, +0.00000000, +0.01000000, +0.02049870, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.09000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01000000, +0.00062467, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +1.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.44444444, +0.25000000, +0.41326531, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +1.00000000, +0.25000000, +0.37345679, +1.00000000, +1.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.69444444, +1.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.21000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.24000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.21000000, +0.47250000, +0.16000000, +0.16000000, }, /* Juniper JUNOS 13 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.002061009, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.15205189, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.15205189, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.041751166, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.031500597, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.029272889, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00051640246, 0, 0, 0.0071478925, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052258974, 0, 0.0030864198, 0.15205189, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.14062357, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00052090442, 0, 0.0030864198, 0.0071552073, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00206100, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.15205189, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.15205189, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.04175117, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.03150060, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.02927289, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00051640, +0.00000000, +0.00000000, +0.00714789, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052253, +0.00000000, +0.00308642, +0.15205189, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14062357, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00052090, +0.00000000, +0.00308642, +0.00715521, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* NetComm NP805N wireless ADSL router */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* OpenBSD 5.3 - 6.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0.24, 0.24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0, 0, 0, 0.16, 0.16, 0.16, 0, 0, 0, 0.004510868, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 1.1372586e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 1.1372586e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 3.1227412e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 2.3560591e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 2.1894396e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.026666667, 1.1372586e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0.24, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24000000, +0.24000000, +0.24000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00451085, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00001137, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00001137, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00000312, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00000236, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00000219, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.02666667, +0.00001137, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.64000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.16000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24000000, +0.24000000, }, /* FreeBSD 9.1 - 11.0 */ - { 0, 0.0010494656, 0, 0, 0.001063029, 0, 0, 0.0010986328, 0, 0, 0.0011444092, 0, 0, 0.0012664795, 0, 0, 0.00087483724, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0.1875, 0.1875, 0, 0.001063029, 0, 0, 0, 0, 0, 0.0010172526, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017776935, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.9588038e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0098523134, 0, 0, 0.023533505, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.1875, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.9588038e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00104947, +0.00000000, +0.00000000, +0.00106303, +0.00000000, +0.00000000, +0.00109863, +0.00000000, +0.00000000, +0.00114441, +0.00000000, +0.00000000, +0.00126648, +0.00000000, +0.00000000, +0.00087484, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00106303, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00101725, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01777687, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00006959, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00985110, +0.00000000, +0.00000000, +0.02353350, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00006959, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* BlackBerry 10 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* IBM AIX 7.1 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* HP HP-UX B.11.23 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco IOS XR */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Joyent SmartOS */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 3.12 - 4.14 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0.24489796, 0.24489796, 0.55102041, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.20408163, 0.20408163, 0.20408163, 0, 0, 0, 0, 0, 0, 0.48979592, 0.12244898, 0.12244898, 0.24489796, 0.24489796, 0.24489796, 0.12244898, 0.12244898, 0.12244898, 0, 0, 0, 0, 0, 0, 0.0079114564, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3728419e-06, 0, 0, 0, 0.00054600737, 0, 0, 0, 0, 0, 0, 0.20408163, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.3892906e-06, 0, 0.010078105, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0.24489796, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0.12244898, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24489796, 0.97959184, 0.24489796, 0.55102041, 0.24489796, 0.24489796, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.24489796, +0.24489796, +0.55102041, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.20408163, +0.20408163, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.48979592, +0.12244898, +0.12244898, +0.24489796, +0.24489796, +0.24489796, +0.12244898, +0.12244898, +0.12244898, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00791143, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000137, +0.00000000, +0.00000000, +0.00000000, +0.00054601, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20408163, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000139, +0.00000000, +0.01007811, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.24489796, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.12244898, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24489796, +0.97959184, +0.24489796, +0.55102041, +0.24489796, +0.24489796, }, /* Apple OS X 10.9 (Mavericks) - 10.15 (Catalina) or iOS 6 - 12.4 (Darwin 13.0.0 - 19.3.0) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16635161, 0.041587902, 0.041587902, 0, 0, 0, 0, 0, 0, 0.17863894, 0.079395085, 0.079395085, 0.17013233, 0.17013233, 0.17013233, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.079395085, 0.079395085, 0.079395085, 0.11342155, 0.11342155, 0.11342155, 0.010983023, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021904527, 0, 0.004620878, 0.027732908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021904527, 0, 0.004620878, 0.027732908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021904527, 0, 0.004620878, 0.00761504, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021904527, 0, 0.004620878, 0.0057454278, 0.16635161, 0.041587902, 0.16635161, 0.041587902, 0.041587902, 0.16635161, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.073934047, 0.041587902, 0.068747348, 0.041587902, 0.041587902, 0.16635161, 0.084873269, 0.041587902, 0.041587902, 0, 0, 0, 0, 0, 0, 0, 0.16635161, 0.041587902, 0.062125137, 0.041587902, 0.041587902, 0.16635161, 0.051343089, 0.041587902, 0.041587902, 0, 0, 0, 0, 0, 0, 0, 0.042752702, 0.041587902, 0.10193937, 0.079328494, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021645185, 0, 0, 0.0013037118, 0, 0, 0, 0, 0, 0, 0, 0.1436673, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021904527, 0, 0.004620878, 0.027732908, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0.041587902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0.079395085, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0.11342155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.079395085, 0.17863894, 0.17013233, 0.17013233, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16635161, +0.04158790, +0.04158790, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.17863894, +0.07939509, +0.07939509, +0.17013233, +0.17013233, +0.17013233, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.07939509, +0.07939509, +0.07939509, +0.11342155, +0.11342155, +0.11342155, +0.01098298, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00219018, +0.00000000, +0.00462088, +0.02773291, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00219018, +0.00000000, +0.00462088, +0.02773291, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00219018, +0.00000000, +0.00462088, +0.00761504, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00219018, +0.00000000, +0.00462088, +0.00574543, +0.16635161, +0.04158790, +0.16635161, +0.04158790, +0.04158790, +0.16635161, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.07393405, +0.04158790, +0.06874735, +0.04158790, +0.04158790, +0.16635161, +0.08487327, +0.04158790, +0.04158790, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.16635161, +0.04158790, +0.06212514, +0.04158790, +0.04158790, +0.16635161, +0.05134309, +0.04158790, +0.04158790, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04275782, +0.04158790, +0.10193937, +0.07932849, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00216452, +0.00000000, +0.00000000, +0.00130371, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.14366730, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00219018, +0.00000000, +0.00462088, +0.02773291, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.04158790, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.07939509, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.11342155, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.07939509, +0.17863894, +0.17013233, +0.17013233, }, /* Dell SonicWALL firewall (SonicOS 5.9) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 3.13 - 4.6 */ - { 0, 0, 0.11764706, 0, 0, 0.11764706, 0, 0, 0.11764706, 0, 0, 0.11764706, 0, 0, 0.11764706, 0, 0, 0.11764706, 0.24221453, 0.24221453, 0.35986159, 0.56055363, 0.24913495, 0.36678201, 0.24221453, 0.24221453, 0.24221453, 0.1799308, 0.1799308, 0.29757785, 0, 0, 0.11764706, 0.22145329, 0.055363322, 0.055363322, 0, 0, 0, 0, 0, 0.11764706, 0, 0, 0.11764706, 0, 0, 0.11764706, 0.20761246, 0.20761246, 0.32525952, 0.0072198611, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00025208997, 0, 0, 0, 0, 0, 0, 0.055363322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040155496, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.055363322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.055363322, 0.055363322, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0.20761246, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24221453, 0.96885813, 0.24913495, 0.56055363, 0.24221453, 0.24221453, }, + { +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.24221453, +0.24221453, +0.35986159, +0.56055363, +0.24913495, +0.36678201, +0.24221453, +0.24221453, +0.24221453, +0.17993080, +0.17993080, +0.29757785, +0.00000000, +0.00000000, +0.11764706, +0.22145329, +0.05536332, +0.05536332, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.00000000, +0.00000000, +0.11764706, +0.20761246, +0.20761246, +0.32525952, +0.00721983, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00025209, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05536332, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00401555, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05536332, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.05536332, +0.05536332, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.20761246, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.24221453, +0.96885813, +0.24913495, +0.56055363, +0.24221453, +0.24221453, }, /* Android 7.1 (Linux 3.18) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, - /* Linux 4.19 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.5625, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.0062744735, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0030864198, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 1, 0.25, 0.5625, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* Linux 4.19 - 5.17 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.42187500, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00992502, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00510602, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00510602, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00140204, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00105781, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00098301, +0.00004125, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000213, +0.00000000, +0.00000000, +0.00024003, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000215, +0.00000000, +0.00231481, +0.00417811, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.75000000, +0.18750000, +0.42187500, +0.18750000, +0.18750000, }, + /* OpenWrt (Linux 6.6) */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* VMware ESXi 6.0.0 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 4.3412235e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00004341, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* Apple Time Capsule NAS device */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.045069931, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.045069931, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.012375526, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0093371396, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0086768212, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021187176, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.045069931, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.062498093, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0021208858, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.25, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04506993, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04506993, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01237553, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00933714, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00867682, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00211872, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04506993, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06249809, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00212089, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, }, /* IBM i 7.2 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Apple OS X 10.9 (Mavericks) - 10.12 (Sierra) (Darwin 13.0.0 - 16.6.0) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0098993348, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.109375, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013503086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00989930, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00135031, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Cisco IOS XE 15 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Microsoft Windows 8.1 or Windows 10 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0050932745, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.2729547e-05, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.2729547e-05, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.1732892e-05, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.8522822e-06, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8.2262527e-06, 0.12120831, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.9875254e-06, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.2729547e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00509326, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004273, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004273, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00001173, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000885, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000823, +0.12120831, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000199, +0.12249947, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004273, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* OpenBSD 6.0 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* DragonFly 4.7 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, - /* Windows 10 */ - { 0.017777778, 0, 0.16, 0.017777778, 0, 0.16, 0.0576, 0, 0.16, 0.017777778, 0, 0.16, 0.017777778, 0, 0.16, 0.0256, 0, 0.16, 0.24, 0.24, 0.24, 0.36, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.0028770104, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.32653061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017777778, 0.16, 0.19753086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.089354318, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.32653061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017777778, 0.16, 0.19753086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.089354318, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.024535354, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.32653061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017777778, 0.16, 0.19753086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.018511538, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.32653061, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.017777778, 0.16, 0.19753086, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01720241, 0.11940337, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.029387755, 0.16, 0.28444444, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0019753086, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040945072, 0.12249947, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.089354318, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.64, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0.16, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.24, 0.24, 0.16, 0.36, 0.16, 0.16, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* Microsoft Windows 10 */ + { +0.01215278, +0.00000000, +0.17883796, +0.01215278, +0.00000000, +0.17883796, +0.03937500, +0.00000000, +0.17883796, +0.01215278, +0.00000000, +0.17883796, +0.01215278, +0.00000000, +0.17883796, +0.04000000, +0.00000000, +0.21524175, +0.23437500, +0.23437500, +0.47072277, +0.52734375, +0.23437500, +0.55416518, +0.75000000, +0.18750000, +0.18750000, +0.23437500, +0.23437500, +0.55416518, +0.10937500, +0.00000000, +0.21524175, +0.23437500, +0.23437500, +0.55416518, +0.23437500, +0.23437500, +0.55416518, +0.25000000, +0.25000000, +0.72072277, +0.25000000, +0.25000000, +0.72072277, +0.25000000, +0.25000000, +0.72072277, +0.23437500, +0.23437500, +0.55416518, +0.00481513, +0.08373987, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.22321429, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01215278, +0.10937500, +0.13503086, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06277094, +0.08373987, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.22321429, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01215278, +0.10937500, +0.13503086, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.06277094, +0.08373987, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.43750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.43750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01723596, +0.08373987, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.22321429, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01215278, +0.10937500, +0.13503086, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01300426, +0.08373987, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.10937500, +0.22321429, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01215278, +0.10937500, +0.13503086, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01208460, +0.16162314, +0.00000000, +0.10937500, +0.10937500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.00000000, +0.00000000, +0.19444444, +0.14285714, +0.25000000, +0.33333333, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.43750000, +0.11419753, +0.25000000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.11374877, +0.10937500, +0.00000000, +0.15029346, +0.16577118, +0.00000000, +0.10937500, +0.10937500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.10937500, +0.00000000, +0.00000000, +0.43750000, +0.10937500, +0.43750000, +0.10937500, +0.19444444, +0.43750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.43750000, +0.10937500, +0.30381944, +0.10937500, +0.10937500, +0.24609375, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.11245992, +0.10937500, +0.39023920, +0.39747568, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23437500, +0.23437500, +0.23437500, +0.93750000, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.48437500, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.48437500, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.25000000, +0.48437500, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.23437500, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.23437500, +0.23437500, +0.23437500, +0.52734375, +0.18750000, +0.18750000, }, /* 3Com Switch (3Com OS 5) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, - /* Windows 10 */ - { 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0, 0, 0.089377576, 0.0050202827, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* Microsoft Windows 10 */ + { +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00000000, +0.00000000, +0.08937758, +0.00502026, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 4.4 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 11.2 */ - { 0, 0, 0, 0, 6.0281636e-06, 0, 0, 6.0281636e-06, 0, 0, 6.0281636e-06, 0, 0, 6.0281636e-06, 0, 0, 6.0281636e-06, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 6.0281636e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00010813955, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 3.5167197e-06, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 3.5167197e-06, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.8766056e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 3.5167197e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.22222222, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000603, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00010814, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000352, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000352, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000000, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000000, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000000, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000488, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00000352, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, }, /* Synology DSM 6.2.1 (Linux 3.2.40) */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 5.0 */ - { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }, + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* Linux 5.4 */ - { 0.024691358, 0, 0, 0.024691358, 0, 0, 0.08, 0, 0, 0.024691358, 0, 0, 0.024691358, 0, 0, 0.035555556, 0, 0, 0.22222222, 0.22222222, 0.22222222, 0.5, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0054018567, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.040816327, 0.22222222, 0.22222222, 0.01814059, 0.36734694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.22222222, 0.024691358, 0.010973937, 0.33196159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00088131983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.040816327, 0.22222222, 0.22222222, 0.01814059, 0.36734694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.22222222, 0.024691358, 0.010973937, 0.33196159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00088131983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.01814059, 0.88888889, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.010973937, 0.88888889, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00024199719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.040816327, 0.22222222, 0.22222222, 0.01814059, 0.36734694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.22222222, 0.024691358, 0.010973937, 0.33196159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00018258307, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.040816327, 0.22222222, 0.22222222, 0.01814059, 0.36734694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.22222222, 0.024691358, 0.010973937, 0.33196159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00016967088, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.040816327, 0.22222222, 0.39506173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.22222222, 0.22222222, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.1430458e-05, 1.1921293e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0027434842, 0.00069635147, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.22222222, 0.88888889, 0.22222222, 0.5, 0.22222222, 0.22222222, }, + { +0.02469136, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.08000000, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.02469136, +0.00000000, +0.00000000, +0.03555556, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.50000000, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00540184, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04081633, +0.22222222, +0.22222222, +0.01814059, +0.36734694, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.22222222, +0.02469136, +0.01097394, +0.33196159, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00088132, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04081633, +0.22222222, +0.22222222, +0.01814059, +0.36734694, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.22222222, +0.02469136, +0.01097394, +0.33196159, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00088132, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01814059, +0.88888889, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.01097394, +0.88888889, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00024200, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04081633, +0.22222222, +0.22222222, +0.01814059, +0.36734694, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.22222222, +0.02469136, +0.01097394, +0.33196159, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00018258, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04081633, +0.22222222, +0.22222222, +0.01814059, +0.36734694, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.22222222, +0.02469136, +0.01097394, +0.33196159, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00016967, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.04081633, +0.22222222, +0.39506173, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00004143, +0.00001192, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00274348, +0.00069635, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.88888889, +0.22222222, +0.50000000, +0.22222222, +0.22222222, }, + /* Linux 6.6 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, /* FreeBSD 12.0 - 12.1 */ - { 0, 0.00010850694, 0, 0, 0.00010850694, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6.781684e-06, 0, 0, 0, 0, 0.5625, 0.25, 0.25, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00043402778, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0035264345, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.25, 0.5625, 0, 0, }, + { +0.00000000, +0.00010851, +0.00000000, +0.00000000, +0.00010851, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000678, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.56250000, +0.25000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00043403, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00352642, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.56250000, +0.00000000, +0.00000000, }, + /* Microsoft Windows 11 */ + { +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.25000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00422612, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00748441, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00748441, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00205511, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00155054, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00144089, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000283, +0.00000000, +0.00000000, +0.00035184, +0.00013715, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000287, +0.00000000, +0.19753086, +0.00748441, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* Apple macOS 14 (Sonoma) - 15 (Sequoia) (Darwin 23.0.0 - 24.3.0) */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.42187500, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.00294949, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.11241067, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.11241067, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.03086628, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.02328812, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.02164120, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00972693, +0.00000000, +0.00000000, +0.00528438, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00984227, +0.00000000, +0.00000000, +0.11241067, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.18750000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.18750000, +0.42187500, +0.18750000, +0.18750000, }, + /* Microsoft Windows 10 21H2 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* Microsoft Windows 10 23H2 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* NetBSD 9.99 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, }, + /* VxWorks 6.5 */ + { +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, +0.22222222, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.00000000, +0.22222222, +0.22222222, }, }; /* Regression coefficients. Columns are classes, rows are features. */ static double _w[] = { /* S1.PLEN */ - -0.00837729, -0.07161158, +0.01733401, -0.01819155, -0.02970658, +0.09373716, +0.06331205, -0.02813126, +0.07736689, -0.07944120, +0.01398799, +0.00822836, +0.05232474, -0.10639475, -0.02740008, -0.06313396, -0.02779515, +0.01715609, -0.00089609, -0.12007573, -0.08233371, +0.01421845, -0.00706503, +0.00491566, -0.00475646, -0.01434296, -0.09973219, +0.06126814, -0.20170336, +0.17205319, -0.03490876, +0.10459321, +0.00291280, +0.04661626, +0.18807016, -0.02933900, -0.00965721, +0.09063710, +0.08642081, -0.03203280, -0.12122648, +0.00364916, -0.06084475, +0.00832238, -0.01663193, +0.04544169, +0.06559764, +0.11530598, -0.01384930, +0.03849319, +0.03348795, +0.10082082, -0.04382101, -0.05879637, +0.03116349, +0.07392773, +0.04040952, +0.03953526, +0.00615305, -0.06768431, -0.00703896, -0.05445067, -0.01273278, -0.06144904, -0.02817606, -0.08962702, +0.00499723, -0.05442378, -0.00658783, +0.01292244, +0.05465457, -0.07708905, -0.00856245, -0.05078347, -0.05168196, -0.05054622, -0.01934151, +0.02263173, +0.00932634, -0.06058318, +0.04781113, -0.00862717, -0.01985628, -0.21470429, +0.00226950, -0.12315961, +0.01012350, -0.02974737, +0.02443181, -0.03336348, -0.13189098, -0.03488394, + +0.01380553, -0.10435279, +0.05828311, -0.02436384, -0.03102152, +0.07625603, +0.06212954, -0.05258337, +0.06975861, -0.08098034, +0.02210389, +0.01947562, +0.04340513, -0.08795743, -0.02192615, -0.08339827, -0.03661065, +0.00274035, -0.01355721, -0.11332838, -0.08323483, -0.00188286, -0.02056164, +0.00163829, -0.00366572, -0.01918294, -0.14932778, +0.08011019, -0.09483822, +0.18859015, -0.03502300, +0.11925148, +0.00276544, +0.06130101, +0.24137875, -0.01823384, -0.01399060, +0.09258105, +0.21187956, -0.02450421, -0.04510647, +0.01317311, -0.06361700, +0.01897915, -0.00897479, +0.08368759, +0.02723570, +0.08626185, -0.03140048, +0.05544402, +0.02910229, +0.12174524, -0.01273886, -0.05276521, -0.06265174, +0.02447970, +0.08430308, +0.04656345, +0.05035080, +0.02185224, -0.21827335, -0.02125967, -0.06931157, -0.02525646, -0.06752387, -0.02685288, -0.09187282, -0.00849982, -0.06447112, +0.00369434, -0.01838484, -0.01792543, -0.07871674, -0.00836848, -0.06687853, -0.11078392, +0.03339800, -0.06304641, -0.02093265, +0.01474025, -0.01715336, -0.03159316, +0.06046405, -0.02010532, -0.04555761, -0.23297840, -0.00993619, -0.14590794, +0.01024283, -0.07269998, +0.05595213, -0.03710081, -0.18080190, -0.05575641, -0.05760258, -0.03274083, -0.07889620, -0.04749386, -0.06205723, +0.01496918, -0.04023728, /* S1.TC */ - -0.00361416, -0.10562387, +0.00188481, -0.00166382, +0.00132613, +0.07478240, +0.03119196, +0.07865525, +0.04690765, -0.03312592, +0.02295216, +0.02039874, +0.01632875, -0.09537429, +0.58446562, +0.48924666, +0.00212677, +0.00506811, +0.00192644, +0.00702739, -0.01186167, +0.00549922, +0.00144397, -0.00226222, +0.00800917, +0.29157300, -0.02265677, +0.01277569, -0.19364809, +0.09849439, +0.00149087, +0.02344110, +0.00737257, +0.04464888, +0.11814197, -0.59635499, +0.01559446, +0.21322791, +0.03947823, -0.00027165, -0.05514938, +0.00142845, -0.16204179, +0.00839305, +0.02645518, -0.00006396, +0.06772441, +0.07448779, +0.00156665, +0.04648918, +0.18257001, +0.05957658, +0.00432676, -0.01801424, +0.03405776, +0.03269564, +0.00937260, +0.03773543, -0.02048795, -0.23831934, +0.00211216, -0.01665513, +0.00301765, +0.03711161, +0.00093138, -0.10529895, +0.00171045, -0.10615787, +0.00863275, +0.00476462, +0.00299933, +0.01691289, -0.26990161, +0.00261023, +0.00078929, -0.01106765, +0.00091251, -0.03677161, +0.00309900, -0.02841428, +0.00138001, -0.01351040, +0.00173091, +0.00912695, -0.00262492, -0.00372476, +0.00846171, +0.00200508, +0.04185224, -0.00331788, -0.01086281, -0.02315119, + -0.04934952, -0.27089460, -0.00634881, -0.01820982, -0.00265668, +0.10970145, +0.03965527, +0.10669539, +0.04135822, +0.01134481, +0.03396066, +0.11011990, +0.01801369, -0.13800501, +0.59232200, +0.52308795, +0.01930545, -0.02671169, +0.00433677, +0.01958407, -0.02604703, +0.01773127, -0.00633527, -0.06549120, +0.02025729, +0.32998222, -0.04376343, -0.00022200, -0.23284655, +0.11520314, -0.01860222, +0.02773734, +0.13291421, +0.08443421, +0.13772886, -0.67187269, +0.04840905, +0.32271757, +0.35167675, +0.06078043, -0.03952027, +0.00817350, -0.18370430, +0.06483051, +0.04177005, +0.07541413, +0.08578347, +0.08863891, -0.03348569, +0.09879167, +0.23631633, -0.69240640, +1.11822318, -0.00591727, -0.05231932, +0.08118108, +0.05046071, +0.01417145, +0.05386119, -0.04920412, -0.59695044, +0.05705837, -0.02810045, +0.02428147, +0.04099460, +0.00071288, -0.13096377, -0.00911481, -0.18188917, +0.02591833, +0.02893766, -0.03137021, +0.00857150, -0.93624001, -0.06716459, -1.73468030, +1.97638967, -0.04213327, -0.00168796, -0.05887561, +0.01228703, -0.05921068, -0.01054121, -0.04773038, +0.03053780, +0.01769228, -0.03489259, -0.02191339, -0.01463811, +0.02076299, +0.05916233, -0.03243288, -0.05425677, -0.03694430, -0.00641764, +0.00493425, -0.05740628, +0.00097396, +0.01039805, -0.00437376, -0.00054217, /* S1.HLIM */ - -0.06809644, -0.90323600, +0.47532027, -0.00639549, -0.02044931, +0.26281357, -0.13510897, -0.02185063, -0.06981208, -0.03627031, -0.26703355, +0.06968710, +0.00815013, -0.08572429, -0.36780850, +0.53709898, -0.65516046, -0.00329973, -0.00693769, -0.02646889, -0.02590606, -0.01403028, -0.03096610, -0.09733798, +0.00137948, +0.16681054, -0.19477770, -0.00540396, -0.35337396, +0.09408956, -0.00230806, -0.17852274, +0.08913220, -0.40321254, +0.00083255, -0.22156968, +0.22508078, -0.08315534, -0.18655242, -0.01949474, -0.07854001, -0.01715589, -0.16219023, -0.02152819, -0.04859290, -0.03827216, -0.18815325, +0.85246622, -0.06182420, -0.33379157, +0.78871642, -0.03990280, +0.19236153, +0.26061364, -0.35668634, +0.02652312, -0.01383231, -0.36636477, +0.26812357, +0.54219249, -0.01531896, -0.11600909, -0.00545369, -0.01514595, -0.00336292, -0.12920941, -0.00637127, +0.43570866, -0.05496876, -0.47515126, -0.09239202, -0.01195359, +0.38296237, -0.07656752, -0.15678143, -0.00818911, -0.00977773, -0.08593258, -0.04773246, -0.03164137, +0.00635682, +0.30064552, -0.00489362, -0.48855218, +0.38546200, +0.08533143, -0.43219637, -0.05602014, -0.30733376, +0.51963248, -0.32087790, -0.05998362, + -0.21772366, -0.81253019, +0.83712759, -0.00771057, -0.02913417, +0.36666639, -0.11724772, -0.02212692, -0.06081777, +0.02166630, -0.40464716, -0.03991007, -0.00345432, -0.11596356, -0.39333365, +0.56519468, -0.81187429, -0.01575981, +0.00661427, -0.05008289, -0.04849214, -0.02972777, -0.05613897, -0.01082322, +0.01089913, +0.17690815, -0.21717257, -0.06212575, -0.30906272, +0.11428770, -0.03003386, -0.08709616, +0.40349051, -0.46296802, +0.08496991, -0.24961473, +0.23219475, -0.17741447, +0.34440078, +0.12632967, -0.18592560, -0.03274229, -0.17203777, -0.04882527, -0.04126584, -0.08922760, -0.17109430, +0.92570218, -0.08128611, -0.26726399, +0.88459017, +0.03158629, -0.08735414, +0.24428052, +0.48459345, -0.40751312, +0.01866753, -0.01638344, -0.39530273, +0.20020901, +0.54121997, -0.00865267, -0.13687492, +0.00079775, -0.01808428, -0.03509323, -0.13595641, +0.01416015, +0.53603408, -0.05558529, -0.78833639, -0.14724559, -0.04238832, +0.42868352, -0.04119853, -0.20120098, -0.14468813, -0.00292055, -0.07128795, -0.12086805, -0.03164799, +0.01892323, +0.00359321, +0.42934933, +0.01167786, -0.59800891, +0.45078799, -0.04176082, -0.45190856, -0.09864549, -0.28555095, +0.55389926, -0.43702591, -0.17182232, -0.04286102, +0.42666359, -0.08613293, -0.03180721, -0.05810533, -0.05059847, -0.36917116, /* S2.PLEN */ - -0.00837729, -0.07161158, +0.01733401, -0.01819155, -0.02970658, +0.09373716, +0.06331205, -0.02813126, +0.07736689, -0.07944120, +0.01398799, +0.00822836, +0.05232474, -0.10639475, -0.02740008, -0.06313396, -0.02779515, +0.01715609, -0.00089609, -0.12007573, -0.08233371, +0.01421845, -0.00706503, +0.00491566, -0.00475646, -0.01434296, -0.09973219, +0.06126814, -0.20170336, +0.17205319, -0.03490876, +0.10459321, +0.00291280, +0.04661626, +0.18807016, -0.02933900, -0.00965721, +0.09063710, +0.08642081, -0.03203280, -0.12122648, +0.00364916, -0.06084475, +0.00832238, -0.01663193, +0.04544169, +0.06559764, +0.11530598, -0.01384930, +0.03849319, +0.03348795, +0.10082082, -0.04382101, -0.05879637, +0.03116349, +0.07392773, +0.04040952, +0.03953526, +0.00615305, -0.06768431, -0.00703896, -0.05445067, -0.01273278, -0.06144904, -0.02817606, -0.08962702, +0.00499723, -0.05442378, -0.00658783, +0.01292244, +0.05465457, -0.07708905, -0.00856245, -0.05078347, -0.05168196, -0.05054622, -0.01934151, +0.02263173, +0.00932634, -0.06058318, +0.04781113, -0.00862717, -0.01985628, -0.21470429, +0.00226950, -0.12315961, +0.01012350, -0.02974737, +0.02443181, -0.03336348, -0.13189098, -0.03488394, + +0.01380553, -0.10435279, +0.05828311, -0.02436384, -0.03102152, +0.07625603, +0.06212954, -0.05258337, +0.06975861, -0.08098034, +0.02210389, +0.01947562, +0.04340513, -0.08795743, -0.02192615, -0.08339827, -0.03661065, +0.00274035, -0.01355721, -0.11332838, -0.08323483, -0.00188286, -0.02056164, +0.00163829, -0.00366572, -0.01918294, -0.14932778, +0.08011019, -0.09483822, +0.18859015, -0.03502300, +0.11925148, +0.00276544, +0.06130101, +0.24137875, -0.01823384, -0.01399060, +0.09258105, +0.21187956, -0.02450421, -0.04510647, +0.01317311, -0.06361700, +0.01897915, -0.00897479, +0.08368759, +0.02723570, +0.08626185, -0.03140048, +0.05544402, +0.02910229, +0.12174524, -0.01273886, -0.05276521, -0.06265174, +0.02447970, +0.08430308, +0.04656345, +0.05035080, +0.02185224, -0.21827335, -0.02125967, -0.06931157, -0.02525646, -0.06752387, -0.02685288, -0.09187282, -0.00849982, -0.06447112, +0.00369434, -0.01838484, -0.01792543, -0.07871674, -0.00836848, -0.06687853, -0.11078392, +0.03339800, -0.06304641, -0.02093265, +0.01474025, -0.01715336, -0.03159316, +0.06046405, -0.02010532, -0.04555761, -0.23297840, -0.00993619, -0.14590794, +0.01024283, -0.07269998, +0.05595213, -0.03710081, -0.18080190, -0.05575641, -0.05760258, -0.03274083, -0.07889620, -0.04749386, -0.06205723, +0.01496918, -0.04023728, /* S2.TC */ - -0.00357092, -0.10548258, +0.00179857, -0.00168323, +0.00132456, +0.07454827, +0.03121536, +0.07975328, +0.04686788, -0.03312906, +0.02301702, +0.01977062, +0.01632451, -0.09537636, +0.58446556, +0.48924396, +0.05023741, +0.00505665, +0.00192873, +0.00708740, -0.01182799, +0.00548273, +0.00156915, -0.00226013, +0.00798851, +0.29156913, -0.02267680, +0.01276394, -0.19371555, +0.09849080, +0.00148792, +0.02388260, +0.00744031, +0.04455546, +0.11809803, -0.59635408, +0.01468029, +0.14887423, +0.03956074, -0.00022851, -0.05515297, +0.00143367, -0.16204241, +0.00840066, +0.02638557, -0.00017243, +0.06769572, +0.07447022, +0.00146764, +0.04637473, +0.18235315, +0.05949705, +0.00429803, -0.01802714, +0.03312850, +0.03269628, +0.00936431, +0.03771381, -0.02049128, -0.25749952, +0.00211147, -0.01666102, +0.00287962, +0.03605462, +0.00097359, -0.10529138, +0.00171996, -0.10616114, +0.00862555, +0.00351004, +0.00292333, +0.01686396, -0.27004656, +0.00250411, +0.00040511, -0.01236996, +0.00091333, -0.03679225, +0.00308599, -0.02841862, +0.00135949, -0.01353547, +0.00173046, +0.00878830, -0.00262639, -0.00373201, +0.00830576, +0.00398382, +0.04184314, -0.00333702, -0.01155167, -0.02160531, + -0.04859855, -0.27069990, -0.00641251, -0.01835457, -0.00247899, +0.10916257, +0.03940525, +0.10824551, +0.04131323, +0.01148251, +0.03447948, +0.11083611, +0.01811436, -0.13793017, +0.59233441, +0.52312563, +0.10406560, -0.02665430, +0.00434939, +0.02002599, -0.02582047, +0.01768155, -0.00611204, -0.06498683, +0.02019214, +0.33001971, -0.04378984, +0.00598006, -0.23608417, +0.11520332, -0.01838856, +0.02863914, +0.13488848, +0.08429751, +0.13784008, -0.67180255, +0.04666067, +0.21997857, +0.35190510, +0.06254205, -0.03944819, +0.00829051, -0.18361207, +0.06508478, +0.04157704, +0.07686433, +0.08597916, +0.08882859, -0.03359327, +0.09963909, +0.23604241, -0.69255160, +1.11819449, -0.00594673, -0.05227069, +0.07770692, +0.05063595, +0.01418070, +0.05386820, -0.04914873, -0.62131671, +0.05705779, -0.02805119, +0.02336191, +0.03601114, +0.00096087, -0.13090873, -0.00908488, -0.18183225, +0.02598603, +0.02553212, -0.03201790, +0.00837205, -0.93473283, -0.06725379, -1.73568505, +1.97641904, -0.04290028, -0.00154271, -0.05901981, +0.01241640, -0.05929650, -0.01053067, -0.04763633, +0.03089567, +0.01719842, -0.03456891, -0.02176693, -0.01477854, +0.02717801, +0.05918775, -0.03234643, -0.05566459, -0.03891244, -0.00404328, +0.00450925, -0.05747794, +0.00098620, +0.00717668, -0.00248135, -0.00048103, /* S2.HLIM */ - +0.14269399, -0.98667779, +0.47082040, -0.00665538, -0.02102486, +0.26265403, -0.16877031, -0.02308755, -0.07054715, -0.03633593, -0.26735967, +0.06946836, +0.00792905, -0.08581466, -0.36793171, +0.53674624, -0.65537243, -0.00351272, -0.00726106, -0.02770171, -0.02670580, -0.01425289, -0.03210021, -0.09773722, +0.00126075, +0.16668987, -0.19497367, -0.00555094, -0.35353312, +0.09398898, -0.00237923, -0.18312497, +0.07120691, -0.40369559, +0.00031663, -0.22168029, +0.22471314, -0.08356637, -0.20980194, -0.07915122, -0.07878732, -0.01751384, -0.16243157, -0.02216757, -0.04868869, -0.04054285, -0.18899714, +0.85008387, -0.06269928, -0.33475933, +0.76246984, -0.04121256, +0.19214259, +0.26045219, -0.35727894, +0.02646229, -0.01397687, -0.36674213, +0.26767297, +0.54167632, -0.01638471, -0.11672365, -0.00559315, -0.02019046, -0.00345045, -0.12953085, -0.00670904, +0.43547215, -0.06016091, -0.47550291, -0.09248800, -0.01219502, +0.38062961, -0.07743905, -0.15740716, -0.00822100, -0.00988601, -0.08607468, -0.04789757, -0.03186913, +0.00569546, +0.30037165, -0.00547897, -0.48878882, +0.38431245, +0.08483167, -0.43258807, -0.05620429, -0.30765675, +0.51879025, -0.32151197, -0.06469331, + +0.14606323, -0.88330409, +0.81390039, -0.00822080, -0.02963904, +0.36654995, -0.13831716, -0.02336841, -0.06086472, +0.02298568, -0.40485511, -0.03892209, -0.00395594, -0.11549159, -0.39327518, +0.56375696, -0.80938384, -0.01408605, +0.00605361, -0.05115864, -0.04963088, -0.02961103, -0.05761439, -0.00014999, +0.01165476, +0.17643556, -0.21763031, -0.06179051, -0.30724922, +0.11430111, -0.02937736, -0.08579708, +0.34518896, -0.46258248, +0.08946624, -0.24870404, +0.23047294, -0.17208714, +0.28809886, +0.02601888, -0.18691691, -0.03260592, -0.17194859, -0.05189753, -0.04135056, -0.13202935, -0.17092014, +0.91340618, -0.08188154, -0.26670794, +0.82006765, +0.03076984, -0.08319393, +0.24260695, +0.48394735, -0.40737919, +0.01889223, -0.01635866, -0.39529199, +0.20075280, +0.54222040, -0.02946850, -0.13807654, +0.00125606, -0.02435374, -0.03332972, -0.13620147, +0.01334635, +0.53466503, -0.06363368, -0.78669471, -0.14619793, -0.04147876, +0.41575541, -0.04210773, -0.19983799, -0.14451534, -0.00194886, -0.07252892, -0.11962930, -0.02923013, +0.01074163, +0.00276390, +0.42642566, -0.00246142, -0.59809977, +0.44412059, -0.04360544, -0.45136796, -0.09517384, -0.28515935, +0.54943556, -0.43625165, -0.16893970, -0.05557871, +0.42686066, -0.08479457, -0.03215784, -0.05763463, -0.04699964, -0.36913080, /* S3.PLEN */ - +0.00069307, -0.05445507, +0.03427890, -0.02591795, -0.02088952, +0.11666113, +0.08840550, -0.02602808, +0.11012632, -0.08362996, +0.04433422, +0.02654945, +0.04291900, -0.11195662, -0.03105749, -0.07289322, -0.01511636, -0.00369541, -0.02704764, -0.21257601, -0.15890926, +0.00005743, +0.00161935, +0.02357191, -0.01159241, -0.02097031, -0.11255197, +0.05482990, -0.19206631, +0.16719579, -0.04144637, +0.14876827, +0.01034732, +0.05735838, +0.22519149, -0.03457059, -0.00160192, +0.17939473, +0.12063062, -0.01135488, -0.13113338, +0.01719779, -0.07401669, +0.02898282, -0.02098021, +0.07995033, +0.07926121, +0.14212256, +0.00911576, +0.04969896, +0.05633294, +0.14084767, -0.08345746, -0.05565924, +0.03981744, +0.06760123, +0.02990659, +0.04519334, +0.01846814, -0.06217812, -0.02877895, -0.05115248, -0.02708970, -0.05894018, -0.03684506, -0.09980725, -0.00556634, -0.06087663, -0.00263898, +0.04684959, +0.05393751, -0.12524043, +0.01798844, -0.03050187, -0.02327141, -0.03858101, -0.02178247, +0.06004066, +0.00384635, -0.06560371, +0.11135106, +0.01808733, -0.03194520, -0.35317794, +0.02117623, -0.21045584, +0.04420975, -0.01435290, +0.02946847, -0.01788641, -0.17830813, -0.02821736, + +0.00999457, -0.06953253, +0.08191390, -0.02845854, -0.01694659, +0.09909770, +0.07791997, -0.05726449, +0.09999009, -0.07437031, +0.05055750, +0.03222678, +0.03886303, -0.08442408, -0.02208187, -0.09034013, -0.02266991, -0.00872524, -0.04139240, -0.17282923, -0.13575172, -0.00846211, -0.01143562, +0.02963414, +0.00224516, -0.02076895, -0.14901924, +0.10452707, -0.07296415, +0.18716586, -0.04189853, +0.15472097, +0.00756140, +0.06372121, +0.28391929, -0.01364100, -0.00914848, +0.17261405, +0.22551463, -0.00773788, -0.05080524, +0.02298131, -0.07530410, +0.03712179, -0.00694363, +0.12673481, +0.03315964, +0.08967231, -0.00557135, +0.05612704, +0.04070394, +0.14282509, +0.00879322, -0.08406183, -0.04437782, +0.02286452, +0.08375250, +0.03944050, +0.05411110, +0.04245310, -0.18076985, -0.03993199, -0.05925389, -0.03357666, -0.05765142, -0.02371295, -0.09854041, -0.01797806, -0.06182730, +0.00374841, +0.03726339, -0.01824202, -0.10229123, +0.00929976, -0.04151335, -0.06433604, +0.05823754, -0.04892780, -0.01241465, +0.05018746, -0.00693309, -0.04103657, +0.11646353, +0.01606280, -0.05774584, -0.33282903, +0.00798137, -0.21545874, +0.04041593, -0.04133285, +0.06187399, -0.01815437, -0.21105040, -0.03661202, -0.04567588, +0.00845470, -0.09707835, -0.06906367, -0.05394927, +0.02602612, -0.04260863, /* S3.TC */ - -0.00315047, -0.02242460, +0.00186619, -0.00164576, +0.00139889, +0.07469045, +0.03140820, -0.03272263, +0.04693160, -0.03311737, +0.02316936, +0.02013256, +0.01634899, -0.09536635, +0.58447817, +0.48926141, +0.00158007, +0.00508916, +0.00196031, +0.00733498, -0.01176603, +0.00551335, +0.00232516, -0.00218582, +0.00801866, +0.29158316, -0.02264097, +0.01279147, -0.19363340, +0.09850286, +0.00149656, +0.02363335, +0.00782647, +0.04461262, +0.11816038, -0.59634271, +0.01563633, +0.22055129, +0.03994707, +0.00142025, -0.05514459, +0.00147719, -0.16202232, +0.00845207, +0.02646010, +0.00115589, +0.06774827, +0.07452737, +0.00159653, +0.04655241, +0.18259312, +0.05961426, +0.00433858, -0.01800186, +0.03404998, +0.03270348, +0.00938568, +0.03775252, -0.02047144, -0.14185240, +0.00223383, -0.01663095, +0.00303355, +0.13957939, +0.00100386, -0.10521144, +0.00177741, -0.10614069, +0.00869728, +0.00421502, +0.00301783, +0.01695186, -0.26986164, +0.00273039, +0.00062675, -0.00383199, +0.00093905, -0.03675327, +0.00311644, -0.02839219, +0.00148593, -0.01348769, +0.00183370, +0.00922259, -0.00259178, -0.00369213, +0.00848220, +0.00631160, +0.04186672, -0.00329609, -0.01082198, -0.05222159, + -0.04706460, -0.12093665, -0.00668918, -0.01818505, -0.00251781, +0.10928531, +0.03913554, -0.08084926, +0.04126590, +0.01144189, +0.03487578, +0.10876094, +0.01809465, -0.13800974, +0.59232534, +0.52312088, +0.01991377, -0.02677330, +0.00429916, +0.02088123, -0.02569833, +0.01758687, -0.00486271, -0.06627297, +0.02014691, +0.33002528, -0.04370555, -0.00022561, -0.23265046, +0.11520278, -0.01870905, +0.02773531, +0.13362968, +0.08416311, +0.13730501, -0.67182508, +0.04868834, +0.33377434, +0.34828703, +0.06901094, -0.03957216, +0.00832149, -0.18367432, +0.06497705, +0.04178291, +0.07865867, +0.08575289, +0.08865247, -0.03356595, +0.09874092, +0.23633485, -0.69281944, +1.11817665, -0.00591917, -0.05229576, +0.08085215, +0.05049736, +0.01415078, +0.05386096, -0.04918858, -0.38478033, +0.05912619, -0.02802902, +0.02423921, +0.22812224, +0.00099528, -0.13076539, -0.00869010, -0.18186907, +0.02604596, +0.02619751, -0.03152453, +0.00876286, -0.93621502, -0.06692054, -1.73487519, +1.97635231, -0.02310309, -0.00117017, -0.05878851, +0.01215728, -0.05868014, -0.01007726, -0.04770550, +0.03231222, +0.01808460, -0.03481799, -0.02178446, -0.01471213, +0.03514279, +0.05914547, -0.03248540, -0.05460458, -0.03899125, -0.06170851, +0.00513170, -0.05655919, +0.00104042, +0.01101528, -0.00061002, -0.00051646, /* S3.HLIM */ - +0.12622452, +3.70884721, +0.46972916, -0.00679791, -0.02218232, +0.26250149, -0.22837399, -0.02392608, -0.07181633, -0.03641551, -0.26776316, +0.06925781, +0.00770482, -0.08590954, -0.36807843, +0.53647005, -0.65559396, -0.00374559, -0.00782044, -0.02956583, -0.02766486, -0.01449979, -0.03295875, -0.09821652, +0.00112441, +0.16657067, -0.19512743, -0.00571955, -0.35369672, +0.09388316, -0.00245722, -0.19446327, +0.04226348, -0.40488625, -0.00123532, -0.22180247, +0.22445180, -0.08446631, -1.20097749, -1.47923915, -0.07898978, -0.01785773, -0.16266561, -0.02268475, -0.04878568, -0.04098050, -0.19916653, +0.84941864, -0.06371891, -0.33570082, +0.76183016, -0.04228721, +0.19196488, +0.26031860, -0.35776254, +0.02638003, -0.01410334, -0.36703425, +0.26718144, +0.54085965, -0.01671487, -0.11712746, -0.00571113, -0.02068032, -0.00356746, -0.12992141, -0.00710603, +0.43532307, -0.06746864, -0.47606617, -0.09260041, -0.01244254, +0.37224383, -0.07961780, -0.15812230, -0.00823352, -0.00994613, -0.08622396, -0.04810492, -0.03195478, +0.00502282, +0.30016268, -0.00576905, -0.48902986, +0.38371497, +0.08440830, -0.43315682, -0.05639274, -0.30828811, +0.51831089, -0.32208828, -0.07050403, + +0.11781172, +2.86917188, +0.81141698, -0.00816969, -0.03059286, +0.36654081, -0.19065967, -0.02293426, -0.06144991, +0.02443722, -0.40525947, -0.03762412, -0.00452551, -0.11510250, -0.39326603, +0.56269990, -0.80667834, -0.01337495, +0.00434306, -0.05535866, -0.05146877, -0.02977274, -0.05880781, -0.00010625, +0.01220739, +0.17596483, -0.21725165, -0.06098334, -0.30383393, +0.11431188, -0.02879267, -0.08772568, +0.27179874, -0.46294563, +0.08653300, -0.24839168, +0.23005482, -0.16929986, -2.32750223, -1.48200153, -0.18597875, -0.03251032, -0.17194880, -0.05261936, -0.04142985, -0.12676624, -0.18662294, +0.90962465, -0.08352798, -0.26489104, +0.81871142, +0.03371520, -0.08142771, +0.24154068, +0.48355333, -0.40779101, +0.01841174, -0.01620824, -0.39526545, +0.20014241, +0.54224750, -0.03296182, -0.13874563, +0.00218885, -0.02181981, -0.03311699, -0.13677308, +0.01093366, +0.53430688, -0.07775366, -0.78607434, -0.14491162, -0.04067563, +0.34606403, -0.04728610, -0.20004615, -0.14459113, -0.00018120, -0.07242595, -0.11869015, -0.02944514, +0.01288207, +0.00198682, +0.42506361, -0.00698852, -0.59811955, +0.44045177, -0.04510291, -0.45108626, -0.09291946, -0.28458152, +0.54716872, -0.43526665, -0.16957062, -0.07024095, +0.42695012, -0.08375057, -0.03235786, -0.05628657, -0.04681527, -0.36891865, /* S4.PLEN */ - -0.00819238, -0.07142486, +0.01935717, -0.01791297, -0.02911019, -0.10856589, +0.06373703, -0.02790186, +0.07791486, -0.07716709, +0.01507509, +0.00912490, +0.05341355, -0.10337845, -0.02715931, -0.06211816, -0.02713028, +0.01775035, -0.00072406, -0.11975726, -0.08181452, +0.01538225, -0.00614718, +0.00510096, -0.00430373, -0.01379927, -0.05592007, +0.06224645, +0.19978292, +0.17221990, -0.03473009, +0.10483650, +0.00323884, +0.05610857, +0.18982530, -0.02883147, -0.00919409, +0.09076522, +0.08666577, -0.03182724, -0.11381565, +0.00383020, -0.06033037, +0.00868694, -0.01290053, +0.04557272, +0.06595390, +0.11562628, -0.01349968, +0.03937916, +0.03572415, +0.10127227, -0.04190652, -0.05571756, +0.03221231, +0.07398499, +0.04087390, +0.04239967, +0.00655183, -0.06725396, -0.00568494, -0.05083227, -0.01212005, -0.06134232, -0.02808170, -0.08863591, +0.00516093, -0.05330472, -0.00617982, +0.01319129, +0.05548384, -0.07521835, -0.00823905, -0.05050765, -0.04933954, -0.05046496, -0.01927793, +0.02300008, +0.00967540, -0.05877269, +0.04799224, -0.00467332, -0.01965417, -0.20927286, +0.00277833, -0.12279165, +0.01061666, -0.02354288, +0.02457490, -0.03308772, -0.12896442, -0.03462069, + +0.01301553, -0.10456705, +0.10426110, -0.02449648, -0.02956724, -0.10927630, +0.06184493, -0.05276132, +0.06973062, -0.08480093, +0.02556649, +0.01553646, +0.04483012, -0.07500576, -0.02211643, -0.08389502, -0.03760057, +0.00342659, -0.01375935, -0.11303090, -0.08329684, -0.00035964, -0.02091160, +0.00038756, -0.00369425, -0.01949793, -0.09385517, +0.07069113, +0.10950501, +0.18856740, -0.03535114, +0.11865308, -0.00251500, +0.07501572, +0.21405566, -0.02126170, -0.01564167, +0.09129072, +0.21163931, -0.02500256, -0.03606677, +0.01306549, -0.06535673, +0.01847287, -0.00735636, +0.08469229, +0.02635630, +0.08593083, -0.03164475, +0.05211224, +0.02975974, +0.12079980, -0.01483970, -0.05084889, -0.06179144, +0.02449129, +0.08417111, +0.04685027, +0.05065462, +0.02074526, -0.21872493, -0.01722383, -0.06274929, -0.02493478, -0.06802187, -0.02722670, -0.09163312, -0.01074025, -0.06457132, +0.00319572, -0.02237957, -0.01771012, -0.07737648, -0.00906245, -0.06716707, -0.11175730, +0.03317895, -0.06345329, -0.02119953, +0.01467119, -0.01887911, -0.03681374, +0.05997513, -0.01777391, -0.04492069, -0.20907734, -0.00951430, -0.14625170, +0.01009340, -0.04349361, +0.05562276, -0.03732191, -0.17958151, -0.04356812, -0.05746004, -0.03336673, -0.07851214, -0.03972843, -0.06210361, +0.01447213, -0.03920365, /* S4.TC */ - -0.00325317, -0.02284617, +0.00916241, -0.00153520, +0.00166268, -0.05437576, +0.03145228, -0.03811812, +0.04739548, -0.03161368, +0.02383007, +0.02041569, +0.01703938, -0.09336753, +0.58462795, +0.48991685, +0.05069530, +0.00541223, +0.00204008, +0.00742782, -0.01147759, +0.00583302, +0.00270034, -0.00210910, +0.00824315, +0.29193051, +0.00639913, +0.01359437, +0.03276476, +0.09859616, +0.00160638, +0.02393904, +0.00790886, +0.05180077, +0.11932983, -0.59601560, +0.01502497, +0.09993247, +0.03997826, +0.00123329, -0.05021538, +0.00157155, -0.16169751, +0.00866168, +0.02879459, +0.00026948, +0.06797826, +0.07473131, +0.00186029, +0.04705915, +0.18422464, +0.05990459, +0.00519670, -0.01599048, +0.03400169, +0.03273486, +0.00963793, +0.04004933, -0.02021321, -0.11791163, +0.00287059, -0.01425796, +0.00320693, +0.19322992, +0.00100836, -0.10468317, +0.00183194, -0.10541721, +0.00890436, +0.00511103, +0.00313343, +0.01785098, -0.26964871, +0.00279541, +0.00114046, -0.00558623, +0.00096239, -0.03653943, +0.00328921, -0.02720317, +0.00150886, -0.01079934, +0.00187036, +0.00999446, -0.00227996, -0.00351745, +0.00870670, +0.00461577, +0.04195079, -0.00313657, -0.01091753, -0.06915296, + -0.04986874, -0.12147600, +0.06904114, -0.01861531, -0.00134126, -0.11838524, +0.03856489, -0.08715249, +0.04186648, +0.00919951, +0.03990535, +0.09996967, +0.02014391, -0.12498545, +0.59201888, +0.52095704, +0.10147539, -0.02635353, +0.00377492, +0.02034421, -0.02636140, +0.01816070, -0.00446681, -0.06745416, +0.01990228, +0.32752877, -0.00096829, +0.00488202, +0.12492708, +0.11520217, -0.01940623, +0.02763470, +0.11610906, +0.10764376, +0.11899008, -0.67259974, +0.04179730, +0.12941887, +0.34759834, +0.06520449, -0.02998594, +0.00805535, -0.18517508, +0.06576039, +0.04290619, +0.07791026, +0.08408030, +0.08810821, -0.03374364, +0.09544863, +0.23718027, -0.69386451, +1.11612947, -0.00355617, -0.05112168, +0.07787130, +0.05006467, +0.01457298, +0.05470159, -0.05010098, -0.34290093, +0.06421630, -0.02251396, +0.02334849, +0.30982910, -0.00000012, -0.13058175, -0.01022830, -0.18060715, +0.02574504, +0.02694221, -0.03166133, +0.00990789, -0.93665753, -0.06749688, -1.73702442, +1.97606448, -0.02520098, -0.00172609, -0.05867015, +0.00583915, -0.06502378, -0.01293341, -0.04305568, +0.03062421, +0.02364283, -0.03239026, -0.02193215, -0.01495359, +0.02911127, +0.05897207, -0.03285001, -0.05490719, -0.02682216, -0.08691075, +0.00397617, -0.05587927, +0.00733607, +0.00739650, -0.00033846, +0.00105347, /* S4.HLIM */ - +0.14282030, -0.98654511, +0.47816442, -0.00650868, -0.02070619, +0.13372453, -0.16847102, -0.02293768, -0.07002729, -0.03482427, -0.26663621, +0.07008856, +0.00863634, -0.08380880, -0.36777385, +0.53741467, -0.65492625, -0.00316480, -0.00715907, -0.02751373, -0.02637528, -0.01390796, -0.03158421, -0.09761447, +0.00151077, +0.16704750, -0.16590206, -0.00472585, -0.12706025, +0.09409110, -0.00226234, -0.18295736, +0.07144097, -0.39646441, +0.00153972, -0.22134500, +0.22502202, -0.08348281, -0.20963132, -0.07900681, -0.07385131, -0.01739494, -0.16209276, -0.02192511, -0.04628413, -0.04045839, -0.18872369, +0.85032710, -0.06232572, -0.33408685, +0.76432923, -0.04081713, +0.19303345, +0.26248349, -0.35641319, +0.02649820, -0.01370781, -0.36441401, +0.26794555, +0.54197474, -0.01555750, -0.11432836, -0.00527370, -0.02012353, -0.00339263, -0.12889887, -0.00660695, +0.43621167, -0.05990179, -0.47391221, -0.09229235, -0.01122878, +0.38100149, -0.07724588, -0.15666616, -0.00818460, -0.00984977, -0.08582925, -0.04770059, -0.03066688, +0.00581609, +0.30309890, -0.00536509, -0.48771018, +0.38464928, +0.08503534, -0.43219664, -0.05563796, -0.30755519, +0.51898132, -0.32090600, -0.06455266, + +0.14438787, -0.88333266, +0.86386362, -0.00847281, -0.02850614, +0.18198269, -0.13833802, -0.02358863, -0.06026063, +0.02039956, -0.39926133, -0.04433425, -0.00207972, -0.10342131, -0.39334730, +0.56259932, -0.80991067, -0.01400741, +0.00563185, -0.05109024, -0.04987444, -0.02898084, -0.05707644, -0.00180149, +0.01154951, +0.17572022, -0.17576022, -0.06283666, +0.03620810, +0.11430038, -0.02950011, -0.08608422, +0.33456221, -0.44071236, +0.07069825, -0.25032671, +0.22677454, -0.17435655, +0.28762958, +0.02485900, -0.17818476, -0.03273173, -0.17337847, -0.05106790, -0.03966153, -0.13086463, -0.17230778, +0.91185733, -0.08155991, -0.26988276, +0.82044744, +0.02978097, -0.08479805, +0.24284088, +0.48308124, -0.40468692, +0.01858555, -0.01596619, -0.39436554, +0.19933968, +0.54048571, -0.02369279, -0.13210694, +0.00137886, -0.02501670, -0.03390437, -0.13588652, +0.01191177, +0.53366415, -0.06373381, -0.78376027, -0.14603727, -0.04017767, +0.41436750, -0.04242438, -0.20080082, -0.14465347, -0.00228533, -0.07283366, -0.11925320, -0.03507078, +0.00481364, +0.00140417, +0.42741315, -0.00308892, -0.59447613, +0.44386838, -0.04411733, -0.45145621, -0.09498193, -0.28542345, +0.54801950, -0.43563866, -0.15871905, -0.05539816, +0.42601791, -0.08434680, -0.02603857, -0.05689743, -0.04677110, -0.36644213, /* S5.PLEN */ - -0.00766535, -0.07093349, +0.03934551, -0.01592514, -0.02863599, -0.26310488, +0.06445383, -0.02716103, +0.08032243, -0.07666709, +0.01635623, +0.10921862, +0.05448950, -0.10278821, -0.02688755, -0.06142351, -0.02286794, +0.02010747, +0.00096272, -0.11896090, -0.08116552, +0.01737330, -0.00529408, +0.00578445, -0.00254973, -0.01310208, -0.05200218, +0.19537656, +0.17050873, +0.17412312, -0.03304943, +0.10541782, +0.00403031, +0.06057298, +0.19129154, -0.02855586, -0.00551694, +0.09117097, +0.08733933, -0.03109891, -0.11316101, +0.00452199, -0.05979502, +0.00961680, -0.01138472, +0.04607916, +0.06942803, +0.11701234, -0.01065850, +0.04285757, +0.03910709, +0.10324885, -0.03829247, -0.05389901, +0.03796283, +0.07495250, +0.04949657, +0.04482844, +0.00718618, -0.06296889, -0.00262189, -0.04988707, -0.00904320, -0.06105374, -0.02736400, -0.08789490, +0.00590735, -0.05266223, -0.00541034, +0.02343977, -0.52183975, -0.07356231, -0.00520686, -0.04866652, -0.04143134, -0.04991131, -0.01881303, +0.02471100, +0.17359951, -0.05830984, +0.04883986, -0.00043590, -0.01853591, -0.20325354, +0.00497738, -0.12095865, +0.01189439, +0.00123978, +0.02517429, -0.03215465, -0.12662348, -0.03055897, + +0.00791099, -0.10859785, +0.11938050, -0.02470046, -0.03151233, -0.24382177, +0.06161747, -0.05370440, +0.07142449, -0.08969444, +0.02509472, +0.11357128, +0.04526616, -0.07372724, -0.02242330, -0.08507937, -0.03969827, +0.00375407, -0.01256517, -0.11410924, -0.08468063, +0.00019142, -0.02193248, -0.00771631, -0.00296234, -0.02029464, -0.08777566, +0.11824456, +0.05573068, +0.18638941, -0.03621147, +0.11714604, -0.01055692, +0.07697747, +0.20621495, -0.02384980, -0.01404349, +0.08867461, +0.20810722, -0.02941112, -0.04470602, +0.01209871, -0.06729005, +0.01640542, -0.00613013, +0.08561300, +0.02905598, +0.08477320, -0.02924618, +0.03737857, +0.03029934, +0.11717587, -0.02285382, -0.04689430, -0.05997177, +0.03009821, +0.08407391, +0.05434082, +0.05148159, +0.01914252, -0.21321792, -0.01083082, -0.06265481, -0.02064441, -0.06940007, -0.02803175, -0.09174759, -0.01345038, -0.06589526, +0.00028119, -0.00221686, -0.11131568, -0.07747339, -0.00990694, -0.06639378, -0.11222837, +0.03303261, -0.06404893, -0.02171154, +0.01536835, +0.12128188, -0.04413303, +0.05716399, -0.01430830, -0.04595926, -0.20376883, -0.00679851, -0.14391680, +0.00951622, -0.00701228, +0.05034867, -0.03759133, -0.18045813, -0.03169577, -0.04610197, -0.03309205, -0.04695247, -0.03843027, -0.04848294, +0.01238141, -0.03920429, /* S5.TC */ - -0.00299350, -0.02250626, +0.00942485, -0.00062355, +0.00183870, -0.05265826, +0.03170488, -0.03537827, +0.04829409, -0.03142894, +0.02453269, +0.02095503, +0.01746950, -0.09312663, +0.58473653, +0.49015512, +0.00277779, +0.00649238, +0.00284214, +0.00790255, -0.01113999, +0.00665766, +0.00336789, -0.00181539, +0.00889154, +0.29220051, +0.00731597, +0.07978441, +0.07547409, +0.09949626, +0.00237704, +0.02524502, +0.00838162, +0.05204496, +0.11973487, -0.59590507, +0.01617098, +0.01571976, +0.04043313, +0.00104933, -0.04997598, +0.00188927, -0.16148550, +0.00907501, +0.02903907, +0.00075784, +0.06955938, +0.07523213, +0.00287479, +0.04837836, +0.18478942, +0.06063818, +0.00543646, -0.01580969, +0.03512758, +0.03320856, +0.01381906, +0.04029761, -0.01998553, -0.00704387, +0.00423445, -0.01395981, +0.00420777, +0.20229002, +0.00150163, -0.10442086, +0.00217228, -0.10519756, +0.00915836, +0.00607139, -0.28589632, +0.01849553, -0.26848359, +0.00353609, +0.00198934, -0.00366292, +0.00118354, -0.03577908, +0.08508923, -0.02703936, +0.00182406, -0.00975617, +0.00235829, +0.01076469, -0.00130422, -0.00270082, +0.00920163, +0.00710988, +0.04218684, -0.00282225, -0.00959141, -0.07457867, + -0.05634592, -0.12264460, +0.06737463, -0.01849680, -0.00260961, -0.08259552, +0.03780223, -0.08215104, +0.04266546, +0.00815227, +0.04248587, +0.09442225, +0.02093784, -0.12319783, +0.59182361, +0.51978093, +0.02054770, -0.02296042, +0.00515757, +0.02038064, -0.02632383, +0.01965711, -0.00472739, -0.07026954, +0.02113231, +0.32619940, +0.00146839, +0.03504549, +0.09528271, +0.11512471, -0.01790089, +0.02956780, +0.10587915, +0.10477881, +0.11710266, -0.67262535, +0.04195965, -0.00729482, +0.33732803, +0.05768674, -0.03309989, +0.00794093, -0.18499931, +0.06528665, +0.04324107, +0.07076674, +0.09008943, +0.08870368, -0.02662767, +0.08640223, +0.23694958, -0.69801626, +1.11315658, -0.00355538, -0.05113179, +0.07984934, +0.05118499, +0.01943479, +0.05467984, -0.04995556, -0.14094208, +0.07412740, -0.02185561, +0.02790920, +0.32412886, +0.00055824, -0.13027791, -0.01072121, -0.18048841, +0.02411735, +0.02487352, -0.42280322, +0.01081002, -0.93477556, -0.06619025, -1.73639901, +1.97633534, -0.02311829, -0.00082360, -0.05659850, +0.21600120, -0.06957381, -0.01375020, -0.04082192, +0.02740220, +0.02506127, -0.02933956, -0.01689690, -0.01498305, +0.03425068, +0.05700547, -0.03266921, -0.05354593, -0.02658793, -0.08667968, +0.00375972, -0.02835158, +0.00786071, +0.01208672, +0.00427375, +0.00104805, /* S5.HLIM */ - +0.14299447, -0.98639362, +0.47838826, -0.00562134, -0.02056301, +0.13530834, -0.16824526, -0.02271252, -0.06918184, -0.03464848, -0.26612619, +0.07029449, +0.00904904, -0.08357482, -0.36767469, +0.53763902, -0.65462095, -0.00211294, -0.00637776, -0.02721130, -0.02614144, -0.01310841, -0.03137399, -0.09739639, +0.00213390, +0.16730706, -0.16501065, +0.06144467, -0.08442318, +0.09498233, -0.00150017, -0.18276382, +0.07164944, -0.39626317, +0.00189244, -0.22124593, +0.22525109, -0.08333876, -0.20941357, -0.07875207, -0.07361835, -0.01710847, -0.16189803, -0.02155465, -0.04610768, -0.04031053, -0.18718181, +0.85078898, -0.06141551, -0.33289053, +0.76467587, -0.04018283, +0.19324437, +0.26264667, -0.35619692, +0.02696666, -0.00954091, -0.36419601, +0.26815714, +0.54249476, -0.01418164, -0.11404586, -0.00441323, -0.02000807, -0.00306321, -0.12862508, -0.00629782, +0.43642047, -0.05967854, -0.47364421, -0.38140576, -0.01066249, +0.38202001, -0.07651880, -0.15624418, -0.00757306, -0.00963141, -0.08510204, +0.03407861, -0.03051092, +0.00609307, +0.30410907, -0.00488309, -0.48724996, +0.38560620, +0.08582853, -0.43187237, -0.05538864, -0.30733770, +0.51926140, -0.32026379, -0.06316638, + +0.14095185, -0.88403429, +0.86230027, -0.00855674, -0.02948325, +0.20740090, -0.13883565, -0.02409944, -0.05954739, +0.01912835, -0.39754708, -0.04619997, -0.00137513, -0.10185749, -0.39338869, +0.56207902, -0.80955854, -0.01214474, +0.00683830, -0.05096950, -0.04986936, -0.02772588, -0.05755350, -0.00443569, +0.01244261, +0.17563430, -0.17335140, -0.02860510, +0.00437888, +0.11422256, -0.02936636, -0.08648568, +0.32806953, -0.44256750, +0.06891375, -0.25073237, +0.22532539, -0.17564935, +0.28298684, +0.02194440, -0.18122507, -0.03284973, -0.17334524, -0.05156028, -0.03943383, -0.13461574, -0.16711881, +0.91044429, -0.07673267, -0.27769992, +0.82000024, +0.02659237, -0.08739762, +0.24197077, +0.48277212, -0.40426018, +0.01959581, -0.01128161, -0.39435093, +0.19908119, +0.54354201, -0.01576054, -0.13147367, +0.00366256, -0.02554640, -0.03415311, -0.13556384, +0.01117779, +0.53293363, -0.06508680, -0.78586448, -0.43820325, -0.03961791, +0.41508924, -0.04122509, -0.20098064, -0.14464144, -0.00188439, -0.07212066, -0.11783182, +0.15497979, +0.00039398, -0.00010653, +0.42722138, -0.00483655, -0.59446964, +0.44458188, -0.04185675, -0.45157523, -0.09525629, -0.28767155, +0.54684747, -0.43560039, -0.15861770, -0.04748933, +0.42551901, -0.05969897, -0.02557892, -0.05571380, -0.04687838, -0.36623957, /* S6.PLEN */ - -0.01324994, -0.09784338, +0.02736751, -0.01295907, -0.03075206, -0.23564917, +0.04518753, -0.02740909, +0.04604924, -0.07283370, +0.01186990, +0.10721182, -0.14596881, -0.10376553, -0.02363990, -0.05517378, -0.02652768, +0.06239326, +0.00575859, -0.16969215, -0.04842314, +0.02212572, -0.00756636, +0.00771617, -0.00005757, -0.00798016, -0.04466876, +0.02046650, +0.06021297, +0.22734696, +0.00937467, +0.06044887, +0.00326146, +0.05471340, +0.17224548, -0.02352447, -0.00669025, +0.05601278, +0.08629732, -0.02487391, -0.11175069, +0.00251586, -0.05128089, +0.00668951, -0.00665068, +0.04809600, +0.06163658, +0.09310370, -0.01075773, +0.03783138, +0.02020861, +0.05023110, -0.05715041, -0.04113163, +0.01994895, +0.07608748, +0.04390950, +0.08904463, +0.05383400, -0.06271378, -0.00048681, -0.11542880, -0.00518264, -0.06185945, -0.02544480, -0.08117716, +0.01034257, -0.03882242, -0.00559699, -0.01807236, +0.08191968, -0.09653190, -0.00654486, -0.04769448, -0.07138250, -0.05063325, -0.01768696, +0.01832565, +0.02485555, -0.05795133, +0.06523525, -0.00672783, -0.01453734, -0.25293979, +0.00361203, -0.15070198, +0.00352869, -0.00449251, +0.02544075, -0.03145453, -0.14645121, -0.03323657, + +0.00875463, -0.18924431, +0.12394956, -0.02227330, -0.03841000, -0.24001662, +0.04233908, -0.05243975, +0.03286268, -0.07487458, +0.02293186, +0.12135003, -0.15926913, -0.07904937, -0.02098346, -0.07333690, -0.05469651, +0.04698619, -0.00953136, -0.16982094, -0.05636579, +0.00820264, -0.02457115, +0.00259543, +0.00016198, -0.01790621, -0.07754858, -0.01524055, -0.00843775, +0.24776669, -0.00672457, +0.04576857, +0.00414205, +0.06330037, +0.17908263, -0.02085982, -0.01126498, +0.03312926, +0.27188952, -0.01057250, -0.03718099, +0.01387504, -0.05674443, +0.01896083, -0.00005609, +0.17779465, +0.01194138, +0.06243920, -0.02842225, +0.04966382, +0.02342426, +0.05087405, -0.02985839, -0.06730935, -0.04359631, +0.00976810, +0.07714688, +0.04733787, +0.09788634, +0.06910033, -0.21243867, -0.01244098, -0.13090838, -0.01311272, -0.07328078, -0.02281851, -0.08561206, -0.00423655, -0.05047806, +0.00557645, +0.01671284, -0.00699543, -0.08394515, +0.00200527, -0.06449333, -0.11688448, +0.01552922, -0.05449249, -0.02111261, +0.01127537, -0.00045902, -0.03520169, +0.08879032, +0.00378601, -0.01886568, -0.34300080, -0.00366355, -0.18240691, -0.00180578, -0.02765857, +0.06310908, -0.03369067, -0.18234126, -0.05421223, -0.05294451, -0.01385100, -0.05208801, -0.09713211, -0.02548499, +0.00287097, -0.03445796, /* S6.TC */ - -0.00363902, -0.02485687, +0.00914436, -0.00202030, +0.00155480, -0.05424880, +0.03108258, -0.04853480, +0.04739731, -0.03161981, +0.02348069, +0.02072701, +0.01699127, -0.09337507, +0.58461389, +0.48989987, +0.00368629, +0.00539637, +0.00157948, +0.00707404, -0.01159001, +0.00581183, +0.00233034, -0.00218904, +0.00823582, +0.29192182, +0.00639313, +0.01353753, +0.03271239, +0.09857317, +0.00158340, +0.02401667, +0.00743614, +0.05179213, +0.11934991, -0.59603131, +0.01615423, -0.21697128, +0.03955909, -0.00022018, -0.05021862, +0.00149510, -0.16171955, +0.00854739, +0.02884354, -0.00063030, +0.06797379, +0.07471121, +0.00189290, +0.04709364, +0.18441962, +0.05993915, +0.00519171, -0.01599840, +0.03489929, +0.03253741, +0.00960923, +0.04005054, -0.02022899, +0.25041063, -0.00239153, -0.01428366, +0.00316252, +0.24499985, +0.00041457, -0.10492048, +0.00158937, -0.10543799, +0.00882966, +0.00591090, +0.00312722, +0.01785689, -0.26954605, +0.00270278, +0.00119481, -0.00492259, -0.00230209, -0.03654480, +0.00321480, -0.02721767, +0.00138439, -0.01081580, +0.01493248, +0.01023192, -0.00234299, -0.00356012, +0.00882849, +0.00753052, +0.04194335, -0.00314899, -0.01027213, -0.08953414, + -0.05429789, -0.12432844, +0.06907745, -0.01940014, -0.00166162, -0.11796396, +0.03858572, -0.10535198, +0.04195416, +0.00910234, +0.03862723, +0.09873266, +0.01993004, -0.12503365, +0.59200150, +0.52088966, +0.01821041, -0.02619444, +0.00343487, +0.01892073, -0.02683347, +0.01824021, -0.00519173, -0.06733625, +0.02000531, +0.32745718, -0.00103809, -0.00133368, +0.12628460, +0.11520262, -0.01795487, +0.02881818, +0.11717990, +0.10769166, +0.11940493, -0.67271005, +0.04394856, -0.34472879, +0.34920167, +0.05753252, -0.02989441, +0.00779538, -0.18528426, +0.06528339, +0.04304461, +0.07280364, +0.08395007, +0.08801109, -0.03359932, +0.09476431, +0.23745531, -0.69342464, +1.11622089, -0.00359617, -0.05119987, +0.08152039, +0.04929333, +0.01456354, +0.05469589, -0.05016898, +0.35951853, +0.05412151, -0.02264825, +0.02381122, +0.39959076, -0.00228014, -0.13108482, -0.01118767, -0.18070023, +0.02552739, +0.02810457, -0.03144734, +0.01000707, -0.93814983, -0.06770485, -1.73601501, +1.97636291, -0.02596671, -0.00774584, -0.05861079, +0.00563593, -0.06525702, -0.01354838, -0.04322270, +0.05894478, +0.02383881, -0.03290208, -0.02225189, -0.01473727, +0.03424066, +0.05896875, -0.03288647, -0.05325755, -0.02639173, -0.11706157, +0.00424534, -0.05615538, +0.00725784, +0.00904517, -0.00418354, +0.00096654, /* S6.HLIM */ - +0.14282030, -0.98654511, +0.47816442, -0.00650868, -0.02070619, +0.13372453, -0.16847102, -0.02293768, -0.07002729, -0.03482427, -0.26663621, +0.07008856, +0.00863634, -0.08380880, -0.36777385, +0.53741467, -0.65492625, -0.00316480, -0.00715907, -0.02751373, -0.02637528, -0.01390796, -0.03158421, -0.09761447, +0.00151077, +0.16704750, -0.16590206, -0.00472585, -0.12706025, +0.09409110, -0.00226234, -0.18295736, +0.07144097, -0.39646441, +0.00153972, -0.22134500, +0.22502202, -0.08348281, -0.20963132, -0.07900681, -0.07385131, -0.01739494, -0.16209276, -0.02192511, -0.04628413, -0.04045839, -0.18872369, +0.85032710, -0.06232572, -0.33408685, +0.76432923, -0.04081713, +0.19303345, +0.26248349, -0.35641319, +0.02649820, -0.01370781, -0.36441401, +0.26794555, +0.54197474, -0.01555750, -0.11432836, -0.00527370, -0.02012353, -0.00339263, -0.12889887, -0.00660695, +0.43621167, -0.05990179, -0.47391221, -0.09229235, -0.01122878, +0.38100149, -0.07724588, -0.15666616, -0.00818460, -0.00984977, -0.08582925, -0.04770059, -0.03066688, +0.00581609, +0.30309890, -0.00536509, -0.48771018, +0.38464928, +0.08503534, -0.43219664, -0.05563796, -0.30755519, +0.51898132, -0.32090600, -0.06455266, + +0.14448485, -0.88084663, +0.86029885, -0.00778548, -0.02769225, +0.14413475, -0.13592841, -0.02629046, -0.06004970, +0.02395457, -0.40024139, -0.03930852, -0.04003646, -0.10264043, -0.39293294, +0.55724873, -0.80349779, -0.01926702, +0.00715665, -0.05451133, -0.04937434, -0.03147106, -0.05712578, +0.00604608, +0.01232357, +0.17433573, -0.19453228, -0.06254634, +0.05103986, +0.11430397, -0.02741088, -0.08434721, +0.35217406, -0.43691173, +0.05237143, -0.24445511, +0.22274976, -0.16719087, +0.29204069, +0.03526808, -0.17685090, -0.03156348, -0.17053045, -0.04815215, -0.04684156, -0.13139223, -0.17033923, +0.90677852, -0.08001946, -0.26379604, +0.79947348, +0.04520329, -0.07612240, +0.23946268, +0.48195459, -0.40052741, +0.02251198, -0.01658683, -0.39425530, +0.19942539, +0.52350390, -0.02877299, -0.13610159, -0.00935065, -0.02648607, -0.03081664, -0.13912128, +0.01675392, +0.52893188, -0.06374576, -0.78038599, -0.15283524, -0.08760844, +0.33157798, -0.04340127, -0.19861442, -0.14442678, -0.03716970, -0.07096919, -0.12386023, -0.03139834, +0.00574283, +0.00329597, +0.35860198, -0.00858779, -0.26243301, +0.43384248, -0.04848036, -0.45130972, -0.09001457, -0.28430986, +0.53649798, -0.53136354, -0.15816897, -0.05783771, +0.42613741, -0.13105483, +0.16802689, -0.11660351, -0.04283513, -0.36587323, /* IE1.PLEN */ - -0.10939243, -0.19996123, -0.20772191, +1.01196132, +1.96679675, -0.44183345, +2.02840494, -0.12756135, +0.37906068, +0.94997689, -0.64016143, -0.10345095, +0.06292015, +0.00722586, +0.11390796, -0.01336208, -0.40986898, +0.22471020, +1.32101247, +0.36824562, +0.01541999, +0.24817149, -0.66520866, +5.54378098, +1.40124889, +0.44722868, -0.26719092, -0.53623489, -1.81535501, +0.03960216, -1.10125679, -0.07703763, +0.03151956, +0.30863335, +0.16177116, +0.14607824, +0.45719696, +1.43042689, -0.49914350, -0.01831052, +0.66258714, +0.11404021, +0.02736010, +0.41213066, -0.06133141, -3.45806955, +0.27315950, -1.07198588, -0.09396458, -0.62631447, +0.00548623, -0.38315495, -0.13089200, -0.07603887, +0.83339252, +0.51692517, -0.12239685, +0.47032396, +0.01133409, -1.23274445, -0.84520400, +0.11034352, -0.80455348, -0.26961739, -0.34845991, +0.11615408, +0.09361518, -0.46998166, -1.00126825, -0.91316167, -0.21626522, +0.09087040, +0.04690186, +0.27001785, -0.25134869, -0.17713393, -0.26252358, +0.16492732, -0.20572320, +0.06309522, -0.02142754, -0.10740459, -0.23678425, +0.47427178, -0.14089737, +0.10653244, +0.22475813, -0.33185446, +0.41776901, +0.08925257, +0.21934992, -0.48649354, + +0.01790692, -0.02581616, -0.55925350, +1.04954347, +1.97220248, -0.42142127, +2.04080231, -0.06686421, +0.33402923, +1.01180780, -0.66473876, -0.28421353, +0.07955334, -0.02767868, +0.05678313, -0.06198125, -0.54946687, +0.22198101, +1.36000091, +0.40317257, -0.01694675, +0.21374633, -0.76751528, +6.42591946, +1.47487273, +0.49258237, -0.25433437, -0.63700241, -1.86743275, +0.08900027, -1.34508697, +0.04386803, -0.72717640, +0.14120644, -0.33118952, +0.16123879, +0.47735589, +1.31879381, -0.97896307, -0.34586761, +0.43122994, +0.05038809, +0.04037676, +0.47995592, -0.04096128, -5.88192007, +0.43528528, -1.24502074, -0.08669098, -0.58910994, +0.00455791, -0.53836093, +0.24582250, -0.13823192, +0.00631542, +0.81498637, +0.36028498, -0.11381188, +0.49949215, -0.12508445, -1.20393867, -0.97069660, +0.11285346, -0.86358155, -0.26469967, -0.24622076, +0.13095540, +0.01611085, -0.51579802, -1.24028303, -1.96604981, -0.15472060, +0.09500888, +0.21029180, +0.23486107, -0.38134684, +0.01525251, -0.11643863, -0.23579938, +0.18866224, -0.26424289, +0.08201989, -0.11590528, -0.05597212, -0.33474756, +0.17293955, -0.12444971, +0.14984908, +0.22703899, -0.37349858, +0.42783439, +0.07125580, +0.30673717, +0.59185686, -0.40020640, +0.59912640, +0.13164968, -0.05233066, -0.19903453, -0.43502333, -0.23922789, /* IE1.TC */ - -0.03781063, +0.29575534, -0.19942459, +0.35051310, +0.14099496, -0.43586038, +0.32758324, -0.11012627, +0.53049408, +0.95798231, -0.62078113, -0.08220171, +0.08069800, +0.02840354, +0.03214565, +0.12526659, -0.40239310, +0.13348385, +0.60474408, +0.14940368, +0.06497650, +0.15336330, -0.15347080, +0.04975578, +0.44371073, +0.07076312, -0.16143429, -0.37209455, -1.68595773, +0.13036196, +0.59852315, +0.15479178, +0.13412155, +0.33034244, +0.26138702, +0.35397728, +0.47825692, +0.39498621, -0.15738255, +0.32948925, +0.67259586, +0.12572972, +0.05060036, +0.46276643, -0.05410287, +0.35583218, +0.28752697, -1.05694503, -0.08324357, -0.61728696, +0.01769464, -0.34576128, -0.12266383, -0.06945958, +0.84544502, +0.12578005, -0.09759563, +0.48092606, +0.03716742, -0.73603861, -0.43293527, +0.13045009, -0.45641935, -0.14196011, -0.18483214, +0.15801414, +0.19016823, -0.42482278, +0.10849940, -0.89248905, -0.17674869, +0.11831568, +0.06411477, +0.31499596, -0.24163490, -0.16747051, -0.14341780, +0.20859380, -0.17068877, +0.06629185, +0.07563401, -0.09874947, -0.14491919, +0.52928050, -0.13089166, +0.12978708, +0.28161562, -0.32385665, +0.48572214, +0.11706811, +0.24778180, -0.39370255, + +0.03168964, +0.54109278, -0.56848497, +0.34601374, +0.10022919, -0.42707230, +0.22787530, -0.06841138, +0.57622176, +1.07133425, -0.65271420, -0.21606489, +0.10973883, +0.00613120, +0.01068210, +0.15451872, -0.56132526, +0.13479172, +0.64374185, +0.13934822, +0.06309074, +0.14676102, -0.19028600, -0.47285519, +0.48701303, +0.03263053, -0.12376000, -0.44589285, -1.66795712, +0.11484053, +0.65962536, +0.15194004, -0.39788725, +0.28057605, -0.08414722, +0.49161377, +0.52191099, +0.30665195, -0.22643497, +0.20511225, +0.84905607, +0.05600940, +0.06958191, +0.71906827, -0.03324236, +1.33803526, +0.42057547, -1.24778343, -0.08330131, -0.59412534, +0.01113410, -0.46351907, +0.29503057, -0.13158275, +0.00746560, +0.87805041, +0.03667445, -0.09364115, +0.50639624, -0.08221988, -0.76993607, -0.41366973, +0.14071460, -0.49376603, -0.07992284, -0.11870127, +0.22094718, +0.20347509, -0.48715464, +0.07034875, -1.83215959, -0.12420364, +0.14604383, +0.22595546, +0.30656597, -0.38545719, +0.11131651, -0.11781947, -0.13052593, +0.24431213, -0.24907533, +0.07554598, +0.01917281, -0.04961737, -0.16881744, +0.30643029, -0.12005367, +0.18426691, +0.30298424, -0.38532262, +0.48099393, +0.10790030, +0.33768758, +0.66742397, -0.30760948, +0.67358396, +0.13407880, -0.04588044, -0.18952296, -0.38865590, -0.21924824, /* IE1.HLIM */ - -0.27334639, -0.03581162, +0.26618492, +0.33741271, +0.41105818, -0.47959666, +0.13312386, -0.13602139, +0.36331852, -0.05065630, -1.18321611, -0.09858454, +0.06525056, +0.00828223, -0.04493287, -0.11274925, -0.42978263, +0.11082760, +0.51550776, +0.04800484, -0.01054566, +0.51867040, -0.18429699, -0.05488867, +0.36022249, +0.03994004, -0.20944289, -0.39624691, -1.68531811, +0.10873148, +0.34547587, -0.08787839, +0.17031068, -0.14081375, +0.29230050, +0.19069207, +0.75211621, +0.23062133, -0.45069653, +0.08276432, +1.72458256, +0.28429063, +0.62135601, +1.04378593, -0.07617150, +0.35743130, -0.01068442, -0.26330232, -0.17639725, -0.61118236, -0.22965308, -0.58736973, -0.16838246, -0.09953571, +0.48598823, +0.28840359, -0.10682124, +0.17719211, +0.31129110, -0.84327831, -0.44613578, +0.07425051, -0.46537711, -0.15475218, -0.17302688, -0.09559894, -0.15894839, -0.46633718, +0.46391250, -0.09224871, -0.20898222, +0.05857888, -2.46524368, +0.21748901, -0.35812598, -0.19921531, -0.11189874, +0.10897295, -0.22604354, +0.00874502, +0.07870239, -0.12798265, -0.12982305, +0.22183785, -0.21126410, +0.22774624, -0.30005409, -0.35110163, +0.06044424, +0.56464351, -0.10905041, -0.46460342, + -0.31545914, -0.02965153, +0.31497050, +0.33397311, +0.32447934, -0.41774497, +0.05544724, -0.08045773, +0.42050391, +0.02138918, -1.10015436, -0.28668573, +0.08485684, -0.02023366, -0.01069212, -0.14004349, -0.50556938, +0.09858338, +0.47448148, +0.05340221, -0.00662256, +0.48267781, -0.19429699, -0.43084723, +0.38274622, -0.01255625, -0.16600235, -0.51646081, -1.66012225, +0.09974497, +0.27719513, -0.01608726, -0.19640322, -0.20805637, +0.02922727, +0.26322939, +0.74856209, +0.09113094, -0.68575021, -0.16320104, +1.54208958, +0.13900928, +0.62378506, +1.30086600, -0.05054730, +1.21880470, +0.07379328, -0.35069743, -0.17101058, -0.59248752, -0.20427164, -0.67442451, +0.17871081, -0.18979482, -0.01994596, +0.53439644, +0.19987471, -0.09568460, +0.15770764, +0.11452744, -0.79729622, -0.38163186, +0.07115627, -0.45352689, -0.05594311, -0.14094919, -0.06489335, -0.25328118, -0.52725555, +0.44457559, -0.70578375, -0.12716408, +0.04846863, -1.54370515, +0.24253362, -0.44076218, -0.00675445, -0.12216657, -0.10006279, +0.09871119, -0.27822039, -0.01141110, +0.04389600, -0.08711798, -0.15106439, +0.17771773, -0.22911775, +0.10829564, -0.34060301, -0.41260565, -0.03269208, +0.45204088, -0.06874162, +0.47057565, -0.34418780, +1.09463226, +0.12349433, -0.05751333, -0.28407806, -0.41273998, -0.30032024, /* IE2.PLEN */ - -0.56569316, -0.34865590, -0.48383324, -0.70205234, +1.07963043, -0.10274493, +0.32498812, -0.78776902, +0.90754254, +0.35494099, +0.42458707, -0.18984632, +0.05750436, +0.02909536, -0.03965731, +0.69367712, -0.21610383, +0.11852077, +1.08065176, +0.23989789, +0.07529062, +0.18905287, -0.50689793, +3.05760461, +1.07732057, +0.46990654, -0.89937684, +0.78139909, -0.11657413, +0.08552362, +1.87687425, +0.41951292, -0.19768612, +0.82143602, +1.42991728, +0.73722450, -0.20483293, +0.97852502, +0.14574045, +0.64030174, +0.80881346, -0.06909086, -0.20379018, -0.27586250, -0.07616615, -1.99877608, +1.28993508, -1.15866968, -0.03107686, -0.42157428, -1.50673662, -1.27004424, -0.16993517, -0.10994732, -1.17164984, +1.57345480, -0.50420254, -1.41483607, +1.38999244, +2.31992529, -1.10522314, -0.37755889, -0.90392272, -1.92983658, +0.69428027, -0.11212069, +0.10009834, -0.54457412, -0.37590317, +1.47077175, +0.56867221, +0.11123288, +0.92515830, +0.55090001, -0.20665696, -0.77889273, -1.98193956, +0.13604869, +0.36700480, -1.45822511, +0.27727116, -0.40751601, -0.35789730, -0.19354966, +0.22681155, +0.15469480, +0.70340787, -0.15002283, +0.71534814, +0.24262108, -0.69282803, +0.04444317, + -0.41825140, -0.20811519, -0.69800566, -0.68863181, +1.07429533, -0.06726979, +0.28127125, -0.92413262, +0.85935095, +0.19771510, +0.46288026, -0.18762395, +0.06587434, +0.00502615, -0.13794084, +0.62748834, -0.22014296, +0.08141616, +1.13815537, +0.16076979, +0.01144196, +0.14266178, -0.50114975, +2.94580522, +1.07876391, +0.46377098, -0.82895931, +0.87382126, +0.07189376, +0.14783626, +2.07495240, +0.25735177, -0.30350736, +0.75612901, +1.27609288, +0.67026482, -0.15717869, +0.83396479, +0.12761178, +0.52979608, +0.37543629, -0.14288501, -0.31951534, -0.73060420, -0.11533391, -2.32553090, +1.14293810, -1.09906392, -0.07038048, -0.21017285, -1.50729633, -1.61882477, +0.22098707, -0.15631135, -0.45146488, -1.06707829, +1.65874729, -0.44447460, -1.45599170, +1.47460580, +2.34729991, -1.20381760, -0.35594200, -0.90182023, -1.96707288, +0.80996071, -0.15544131, +0.04579473, -0.50272535, -0.42579968, +2.76941955, +0.38877221, +0.12045374, +0.60161617, +0.50267647, -0.17933243, +0.09303555, -0.65397217, -1.95081455, +0.12523075, +0.56216713, -1.15753713, +0.20785569, -0.35261183, -0.22916142, -0.33048828, +0.27556985, +0.13188710, +0.65485799, -0.09379691, +0.76168364, +0.20723358, -0.80067969, +0.50449546, +0.00755331, -0.25789661, -1.72230661, -0.10925391, -0.63164174, +0.10973837, +0.63167487, /* IE2.TC */ - -0.35863351, -0.16336029, -0.30409632, -0.43662588, +0.12296398, -0.04848349, -0.07897468, -0.50735214, +0.67580977, +0.25188505, +0.11884919, -0.09950394, +0.04797443, +0.03462597, +0.03386379, +0.42706577, -0.12123020, +0.05569176, +0.46849736, +0.07382681, +0.05851123, +0.09966711, -0.16121415, +0.21939554, +0.41180746, +0.18060324, -0.56590565, +0.59681724, -0.02948133, +0.09310745, +1.40487183, +0.35249575, -0.10397617, +0.57238252, +1.00889784, +0.35463163, -0.11371702, +0.31677934, +0.18467876, +0.54183160, +0.55684944, +0.03103289, +0.04995380, +0.04595138, -0.03636624, -0.05192698, +0.89251155, -0.74512000, -0.00138248, -0.25058033, -0.97639172, -0.81362918, -0.09957629, -0.05892283, -0.75499599, +0.91984154, -0.31948791, -0.92645470, +0.94546778, +1.74110068, -0.58844293, -0.23927048, -0.48240107, -1.22450135, +0.52898155, +0.15815015, +0.10320560, -0.34236457, +0.12952006, +1.02261481, +0.41775580, +0.09386161, +0.64152185, +0.40577234, -0.10637959, -0.49563530, -1.27166868, +0.09391804, +0.27880333, -0.95833741, +0.23333503, -0.25546905, -0.21173151, -0.10311806, +0.15230392, +0.11251383, +0.51002575, -0.07630657, +0.52357571, +0.19101521, -0.42879960, +0.07402053, + -0.31708512, -0.13832961, -0.48353428, -0.43456918, +0.13925335, -0.03035934, -0.07899351, -0.61444234, +0.69130894, +0.18861453, +0.12949219, -0.09777868, +0.06487688, +0.02775464, +0.00402954, +0.46131251, -0.13230097, +0.04277775, +0.49805759, +0.02617470, +0.03576496, +0.09841676, -0.17093753, -0.08228833, +0.48150189, +0.20124146, -0.58552511, +0.74449477, +0.16557210, +0.11588730, +1.68258245, +0.20695296, -0.23006316, +0.65334516, +0.99113167, +0.36087881, -0.08624157, +0.21154111, +0.36685021, +0.72576979, +0.44882004, -0.03059353, -0.00633748, -0.01771947, -0.06598893, +0.35544249, +0.96015249, -0.79431451, -0.03291340, -0.12356604, -1.01004565, -1.14517940, +0.20612921, -0.09390368, -0.28974710, -0.70617926, +1.13669793, -0.29161042, -0.96165622, +1.09695498, +2.04684526, -0.67876879, -0.25155986, -0.51604132, -1.29309232, +0.63637924, +0.17948065, +0.10116559, -0.33990719, +0.17394334, +2.16486514, +0.50030989, +0.12317436, +0.51017210, +0.41093015, -0.09157199, +0.11489840, -0.41961842, -1.34093104, +0.09543917, +0.53858603, -0.79961298, +0.25462995, -0.23328362, -0.14201085, -0.19407329, +0.21094864, +0.12146468, +0.50017800, -0.04131611, +0.56718497, +0.19753223, -0.52240412, +0.41954127, +0.07048845, -0.14937303, -1.19653644, -0.06302268, -0.40204675, +0.10578748, +0.45927309, /* IE2.HLIM */ - -0.75983659, -0.31838683, -0.06056538, -0.47494223, +0.39420192, -0.05613014, -0.24218349, -0.52651656, +0.50973191, -0.69693336, -0.44286398, -0.11238429, +0.02791563, +0.01839588, -0.04522274, +0.19114403, -0.13108990, +0.03332969, +0.36498996, -0.03152863, -0.01717487, +0.46377679, -0.17837060, +0.17391974, +0.28939594, +0.15049814, -0.61178835, +0.57122330, +0.00189704, +0.06543751, +1.14534411, +0.11942683, +0.18353385, +0.18776716, +1.04629082, +0.18742772, -0.15257361, +0.13856287, -0.07036806, +0.35932271, +1.19346351, +0.19023671, +0.62201530, +0.62798598, -0.04483135, -0.19038540, +0.59507413, +0.06789232, -0.09774787, -0.24277143, -1.17397065, -1.06517645, -0.13603606, -0.08177701, -0.76390879, +0.90356743, -0.32981820, -1.22786152, +1.22082866, +1.64520885, -0.60584934, -0.29162146, -0.50231904, -1.23189543, +0.51279196, -0.09495958, +0.09136034, -0.38202498, +0.49666867, +0.98610245, +0.38549911, +0.03628428, -1.88710489, +0.30967644, -0.22201888, -0.50879271, -1.27549748, -0.00433140, +0.22241455, -0.95131122, +0.29332525, -0.28246255, -0.23069137, -0.28093823, +0.07414535, +0.21295988, -0.07293708, -0.08440309, +0.09737964, +0.64229636, -0.78403088, +0.00820544, + -0.66453442, -0.55368327, +0.11392087, -0.47623682, +0.36633416, -0.01711712, -0.24764258, -0.58838775, +0.53264256, -0.73888447, -0.55963475, -0.10411963, +0.03518424, +0.00533039, -0.02957420, +0.14694771, -0.11857749, +0.01287978, +0.32060971, -0.06989103, -0.03324622, +0.46457130, -0.16975964, -0.02580899, +0.30668415, +0.14559295, -0.60273926, +0.60566579, +0.15537240, +0.10090816, +1.27715624, +0.00635081, +0.14935582, +0.19497656, +1.06910172, +0.11445505, -0.13592268, -0.03616247, -0.08601890, +0.23958278, +0.78547374, +0.08578596, +0.58821383, +0.84929238, -0.06869681, +0.18546556, +0.59225643, +0.02353500, -0.13861641, -0.11959889, -1.11712181, -1.36845065, +0.07719568, -0.13905059, -0.29170434, -0.68925862, +1.08344648, -0.28940874, -1.29534636, +1.19056757, +1.95274467, -0.61447042, -0.28953138, -0.50404677, -1.25848824, +0.57458398, -0.10788090, +0.10007943, -0.37815938, +0.54634009, +2.18572004, +0.42570318, +0.02893591, -1.05377235, +0.34355466, -0.16589225, -0.00108806, -0.39427545, -1.32017183, -0.04451414, +0.44429553, -0.72474502, +0.29474311, -0.26090206, -0.16061279, -0.10757602, +0.07328488, +0.05664007, -0.15599222, -0.00184683, +0.06450123, +0.54698435, -0.88062535, +0.24560822, +0.02237053, -0.15367030, -1.19725656, -0.07329144, -0.43233137, +0.05112551, +0.33935419, /* NS.PLEN */ - +0.05749987, -0.10963870, -0.16630733, -0.64584498, -1.23006300, -0.80555490, -1.34438947, +0.90311088, -1.17946963, +5.70356604, +0.24319525, +0.56832179, +0.20712585, +0.00637249, -0.27598379, -0.18110889, +0.46919798, +0.29588613, -0.23547436, +0.10558878, -0.01553712, -0.01093093, +1.90109433, +0.86504653, +0.23797549, +0.16934127, -0.29763401, -1.26000402, -0.62231723, +0.34381748, +3.41166446, +1.37184706, +0.68941540, -0.16109372, -0.10064789, +0.78334013, +0.88247877, +0.15696512, -0.03229325, -1.09084105, -4.26271402, +1.59010819, +0.61977158, -1.25505557, -0.07892561, -0.05002181, -1.76945480, +1.67937792, +0.14960969, -1.52835030, -0.26149106, +0.57232057, -0.20550054, -0.09136187, -0.88655960, -0.05380941, -0.26699192, +1.17785508, +0.31977482, -0.61126674, -0.26610845, -0.34089394, -0.29481835, -1.54284243, +0.54073485, -0.72890492, -0.18417414, -0.37270400, -0.91530956, +0.01729656, +0.22792089, +0.56962422, -0.46179039, -1.33249369, +1.09583397, +0.09501059, -0.05525639, +0.49167661, -0.79309590, -0.04892990, -0.82477966, -0.21664945, -0.19748141, +2.19387110, -0.33948051, -0.60103277, +0.47899757, -0.38757433, +0.41564534, +0.12772889, -0.42594917, -0.53020982, + -0.10269227, -0.18604163, -0.30437934, -0.63824397, -1.20062240, -0.81701974, -1.39801149, +1.08054712, -1.14937667, +6.34952089, +0.31219171, +0.56745715, +0.21969448, -0.02694006, -0.30383248, -0.11841507, +0.27918933, +0.25426334, -0.16270598, +0.07864088, -0.04062211, -0.02617363, +1.86790885, +0.70597154, +0.23353342, +0.16036220, -0.28169972, -1.43171738, -0.78432097, +0.24690647, +2.91558172, +1.59342412, +0.31321104, -0.30264740, -0.33412086, +0.69557556, +0.83476535, -0.06442128, -0.11576851, -0.95267864, -3.83436370, +1.74132362, +0.52236740, -1.71644993, -0.07590223, -0.03608117, -1.59683017, +1.38491285, +0.17070738, -1.56937467, -0.30953289, +0.43095337, +1.04862300, -0.23171284, -0.07528901, -0.90726187, -0.21099493, -0.25564451, +1.24643394, +0.17287641, -0.63661002, -0.07099092, -0.32807687, -0.35007594, -1.46719120, +0.61998750, -0.62461532, -0.19375953, -0.35885667, -0.91073436, -0.42584488, +0.02985994, +0.49543001, -0.37451378, -1.53897016, +1.03215799, +0.18392533, +0.09840980, -0.05002233, +0.42373849, -0.73563536, -0.12796356, -0.66792632, -0.14178339, -0.16039965, +1.65804943, -0.31708472, -0.80438608, +0.42458958, -0.43878777, +0.33635793, +0.08970029, -0.56202162, -0.63941143, -0.47656754, +0.71876463, +0.67754544, -0.07769835, -0.38870133, +0.00899376, -0.05407551, /* NS.TC */ - +0.14009311, +0.43005268, -0.06922491, -0.34870744, -0.61596757, -0.44002191, -1.24899325, +0.94359181, -0.99843335, -0.06353319, -0.15348625, +0.08197336, +0.05793484, +0.22191964, +0.62764841, +0.15739919, +0.94974908, +0.07369967, -0.27885724, +0.12385834, +0.02488631, -0.05678795, +0.85966878, +0.38562777, -0.02307074, +0.65444526, -0.42292426, -0.93784821, -0.21821759, +0.09098612, +1.43951154, +1.62679824, +0.76186766, -0.07738256, +0.47508567, -0.83447470, +0.35205568, +0.44291343, +0.01170231, -1.07549946, -1.07389669, +0.24668054, +0.63210181, +0.74034077, -0.06156598, -0.12259386, -1.74808504, +1.92163815, +0.19641620, -1.50539986, -0.11742553, +0.86461688, -0.11427834, -0.08712780, -0.52073701, -0.02585133, -0.23770422, +0.53121910, +0.07154127, -0.48492554, -0.26107272, -0.24154851, +0.06692692, -1.53019973, +0.54566419, -0.73193287, -0.15347159, -0.33624826, -0.49669893, +0.32021590, +0.46643077, +0.22931520, -0.40971961, -1.30976016, +1.25140469, +0.19114522, -0.04875972, +0.02961452, -0.75430904, +1.03311032, -0.42483964, -0.16257969, -0.18539515, +0.76900415, -0.35495413, -0.36211850, +0.75246722, +0.05776275, +0.60455802, +0.23434194, -0.03327809, -0.49965245, + +0.06183383, +0.37111992, -0.23183332, -0.31142441, -0.60182334, -0.43009344, -1.33300465, +1.13833176, -0.98051530, -0.60365569, -0.19981304, +0.18356617, +0.07940884, +0.24154201, +0.64330208, +0.21138671, +1.19428472, +0.05037348, -0.25474046, +0.17875492, +0.03813067, -0.05888710, +0.97012190, +0.29426841, -0.01045248, +0.67460092, -0.46168470, -1.04111000, -0.12706271, +0.09429633, +1.61240041, +1.96461136, +0.85951981, -0.10063005, +0.55781299, -0.70470128, +0.38678549, +0.47662820, -0.08044093, -1.04415725, -0.89088672, +0.16289566, +0.61978012, +1.15037495, -0.06195533, -0.02004498, -1.63478185, +2.02522141, +0.19858525, -1.59071666, -0.24546721, +0.93798208, +1.27122855, -0.12316297, -0.07179887, -0.53830418, -0.06958912, -0.22328259, +0.58901328, -0.04063436, -0.46303828, -0.18222109, -0.23179095, +0.11119489, -1.50004176, +0.69389155, -0.66499734, -0.13988577, -0.29012960, -0.49741979, -0.30084271, +0.24998222, +0.21798655, -0.37281047, -1.55516855, +1.51446047, +0.22924278, +0.19859617, -0.01998875, -0.02153675, -0.77710853, +1.18265330, -0.35644606, -0.11407533, -0.19412184, +0.80903614, -0.34657598, -0.49418222, +0.78452707, +0.12119903, +0.62604007, +0.24511359, -0.06828568, -0.66603809, -0.50111773, +0.15949646, +0.77315145, -0.04799650, -0.15039422, +0.23274691, -0.02622981, /* NS.HLIM */ - +0.15308269, +0.43599108, -0.06571973, -0.34542148, -0.61076450, -0.43279015, -1.23970709, +0.95018287, -0.98852043, +0.12974697, +0.40579072, +0.08503718, +0.07388275, +0.04157694, +0.14438521, +0.06493083, +0.95315989, +0.09387820, -0.19716067, +0.19584622, +0.10643109, -0.05248976, +0.87511014, +0.40122991, -0.02003576, +0.28856469, -0.22518753, -0.93070042, -0.07160463, +0.10637605, +1.45185681, +1.65551838, +0.77727255, -0.07352766, +0.58820656, +0.04707351, +0.35705965, +0.47514230, +0.03233207, -1.01338405, -0.11368013, +0.07346766, +0.20197132, +0.13796615, -0.04890862, -0.11105422, -1.74301952, +1.96555632, +0.21382948, -1.49996616, -0.11027120, +0.92786804, -0.10971275, -0.04614098, -0.51746120, +0.00143974, -0.21932921, +0.55060556, +0.10668803, -0.48036345, -0.24812069, -0.19605056, +0.06919432, -1.52771565, +0.55706484, -0.40730952, -0.14957863, -0.23209494, -0.49069206, +0.32324514, +0.47364578, +0.24013632, -0.40198879, -1.30542553, +1.25513245, +0.19360083, -0.04639237, +0.15226623, -0.74873561, +0.09457214, -0.41916596, -0.14193507, -0.17160468, +0.80088924, -0.30188083, -0.32536718, +0.75948498, +0.06045016, +0.60936376, +0.23963373, -0.02696272, -0.49319451, + +0.06326668, +0.32297347, -0.23583070, -0.31304108, -0.60382911, -0.43632276, -1.34658513, +1.14283196, -0.97923473, -0.49474701, +0.49027464, +0.17552751, +0.10237380, +0.03050470, +0.13654353, +0.08650507, +1.19238239, +0.07154022, -0.14309791, +0.23516960, +0.10144837, -0.05867904, +1.00928182, +0.33328019, -0.01162238, +0.35431923, -0.23257334, -0.97605925, -0.04694829, +0.10042767, +1.66807255, +2.01602934, +0.85629030, -0.10732043, +0.65984931, +0.08373444, +0.39623302, +0.51850325, -0.09494198, -0.94346261, +0.34281014, +0.04397729, +0.20420439, +0.27846452, -0.05054537, -0.13059610, -1.64075478, +2.09555724, +0.24708376, -1.59283494, -0.23883824, +1.04050592, +1.30730632, -0.12267642, -0.05733505, -0.54892851, -0.04058097, -0.20240408, +0.59711595, +0.01024931, -0.46822574, -0.17898764, -0.19687420, +0.10637550, -1.50787595, +0.70294329, -0.33140060, -0.15033653, -0.20152716, -0.50079759, -0.32034193, +0.26048424, +0.22963869, -0.37013738, -1.55986498, +1.50431186, +0.34514941, +0.19517259, -0.01846994, +0.12726397, -0.79119062, +0.02952626, -0.37674220, -0.09049929, -0.16643278, +0.85996456, -0.30307753, -0.45726672, +0.78696083, +0.10977150, +0.61998177, +0.25231337, -0.07110317, -0.67390393, -0.51042882, +0.13469083, +0.73002222, -0.04018473, -0.15295296, +0.25624536, +0.07438146, /* U1.PLEN */ - -0.23006787, -1.15295360, -0.39487040, +0.02617407, +0.02789912, -0.09738708, +0.12157475, -0.94311740, -0.12082478, +0.19942636, +0.02075906, -0.13094913, +0.01576115, +0.01792206, +0.00897487, +0.38865459, +1.09397867, -0.08972701, +0.01227653, +0.03677267, +0.03057702, +0.04656649, +0.07459117, +0.03186115, -0.25721480, +0.13066009, -0.09075061, +0.18416571, +0.30913612, +0.01292733, +0.09666748, +0.06418886, +1.02659781, -2.06431401, -1.02509488, +0.01802386, -0.36222278, +0.17846928, +1.02810448, +0.12196482, +0.42972130, +0.00978962, +0.02057950, +0.01398179, -0.09848336, +0.16405356, +0.25780148, -0.00927437, +0.09402849, -1.30695593, +0.15692759, +3.74573494, -0.12922545, -0.17545172, +0.17017360, +0.00874523, +0.01760802, -0.04605307, +0.02108082, -0.60265944, +0.02818925, +0.02953359, +0.10967642, -0.21275833, +0.00546292, +0.06875525, +0.01496558, +0.12706821, +0.06582861, -1.96493586, +0.24903273, -0.34199569, -0.56939592, +0.14752894, +1.19622480, -0.80251040, +0.00939028, +0.02554654, +0.02002522, +0.09896396, +0.03025111, +0.08226213, +0.01284691, +0.00604036, +0.02684747, +0.05359891, +1.36612109, -0.14091555, +0.61468798, +0.17409764, +0.33882701, +0.74656314, + -0.26302577, -0.77792540, -0.07274200, +0.03401137, +0.03044699, -0.07758741, +0.06890392, -1.08621761, -0.27690904, +0.30174950, -0.02513564, -0.12293465, +0.02791248, -0.00397742, -0.01038183, +0.47689610, +1.17281396, -0.18800686, -0.00551058, +0.02563479, +0.01896008, +0.06503191, +0.09722846, -0.03913617, -0.27702866, +0.16884222, -0.13898217, +0.33726522, +0.91236361, +0.00059439, +0.01120059, +0.03984182, +2.61793675, -2.52196201, -1.02652513, -0.15603181, -0.43971477, +0.24407051, +1.51010137, +0.20711427, +0.42729072, -0.02447513, -0.06533921, -0.00534943, -0.14263216, +0.28018381, +0.30238930, -0.07999554, +0.09521276, -1.79140099, +0.18822952, +4.45238296, +0.54320796, -0.13320231, -0.45771725, +0.15817224, -0.03002630, +0.00810974, -0.04095751, -0.01230838, -0.51857070, +0.06911807, +0.02177812, +0.22069500, -0.16913761, -0.03167276, +0.05714596, -0.01485634, +0.18308932, +0.04979826, -3.56599689, +0.41954629, -0.38521196, -0.64215192, +0.20805852, +1.70143048, +0.12541346, -1.12181737, +0.00037744, +0.03039629, -0.21689281, +0.16516809, +0.01842068, +0.15190898, +0.02682290, -0.10156664, +0.02720433, +0.03644598, +1.49673352, -0.17773128, +0.54803340, +0.19539773, +0.45904716, -0.57815851, +0.88358220, -0.20012429, +0.30380944, -0.11811138, +0.77257600, +0.04034277, +0.49130119, /* U1.TC */ - -0.22989359, -1.15250445, -0.39854628, +0.02634860, +0.02775795, -0.09757191, +0.12426299, -0.94307250, +0.12314657, +0.19943793, +0.02078851, -0.13107986, +0.01577995, +0.01793089, +0.00897992, +0.38858442, +1.09369605, -0.08964393, +0.01228576, +0.03679025, +0.03060236, +0.04623915, +0.07417586, +0.03191329, -0.25724738, +0.13068653, -0.08797773, +0.18431982, +0.30983850, +0.01295764, +0.09668513, +0.06435460, +1.02665570, -2.06451988, -1.04562484, +0.01803060, -0.36247365, +0.17849142, +1.02812645, +0.12211415, +0.42973915, +0.00979932, +0.02059275, +0.01399575, -0.09850440, +0.16602874, +0.26577321, +0.27658617, +0.10150627, +0.36838392, +1.68089293, +0.24307369, -0.12926438, -0.17546641, +0.16894272, +0.00874590, +0.01779337, -0.04607264, +0.02114076, -0.60305783, +0.02823567, +0.02962980, +0.10763453, -0.21273152, +0.00546517, +0.06877240, +0.01497681, +0.12710191, +0.06542078, -1.96751710, +0.24904894, -0.34225379, -0.99571760, +0.15001371, +1.20035196, -0.80138702, +0.00939372, +0.02558652, +0.02017489, +0.09904445, +0.03035138, +0.07973887, +0.01286165, +0.00597031, +0.02689484, +0.05364490, +1.33526816, -0.14105860, +0.61621056, +0.17163573, +0.27902364, +0.74650013, + -0.26412256, -0.77715816, -0.08897155, +0.03530944, +0.03045325, -0.07756171, +0.07371295, -1.08567156, +0.11484550, +0.30193193, -0.02487417, -0.12301072, +0.02807764, -0.00416206, -0.01036888, +0.47720462, +1.17285604, -0.18676140, -0.00561353, +0.02573215, +0.01923422, +0.06320439, +0.09601620, -0.04131851, -0.27702260, +0.16908754, -0.13261551, +0.33644177, +0.94710530, +0.00060575, +0.01092937, +0.04015841, +2.58742011, -2.52193405, -1.09641830, -0.15612363, -0.44003836, +0.24400327, +1.43501912, +0.20927409, +0.42552063, -0.02436443, -0.06518506, -0.00533067, -0.14258388, +0.30974512, +0.31890787, +0.33395974, +0.10894327, +0.34052046, +1.53797998, +0.00564254, +0.52020543, -0.13327047, -0.45763381, +0.15722730, -0.03008323, +0.00864559, -0.04096481, -0.01253875, -0.51860121, +0.07084587, +0.02216299, +0.21244468, -0.17056791, -0.03197032, +0.05728013, -0.01408586, +0.18315080, +0.04809562, -3.56938506, +0.41983649, -0.38612241, -0.50717069, +0.21069442, +1.70534675, +0.12649238, -1.12072685, +0.00063870, +0.03079919, -0.22179731, +0.16835516, +0.01884634, +0.14746652, +0.03192463, -0.10152412, +0.02755463, +0.03675021, +1.41963275, -0.17786189, +0.54886536, +0.19161146, +0.39233735, -0.57838232, +0.88316041, -0.19999273, +0.29788746, -0.11847557, +0.73099603, +0.04045383, +0.49131865, /* U1.HLIM */ - +1.03753418, -2.28623279, -0.42597256, -0.01273037, +0.20794916, -0.10010159, -0.12095294, -0.98404583, -0.00316624, -0.79778065, -0.54448406, -0.10303168, -0.00679611, -0.00778790, -0.07165889, +0.15372249, +0.49055938, -0.11396862, -0.09266672, -0.07974759, -0.05373555, +0.40944332, +0.33648499, -0.07407080, -0.37983631, +0.09906045, -0.13021107, +0.15798378, +0.28930910, -0.02167242, -0.16343683, -0.28081433, +0.95894908, -2.04102611, -1.03912669, -0.15150710, -0.39776576, -0.00982271, +0.14034758, -0.15774605, +1.16130457, +0.16607127, +0.58884237, +0.59156511, -0.10701699, +0.15981112, +0.00376954, +1.04038493, +0.04720109, +0.05004265, -0.04924663, +0.14414995, -0.16534994, -0.19817488, -0.10555243, -0.00854612, +0.00505707, -0.32102406, +0.29245323, +0.00311901, +0.00523193, -0.02832251, +0.09034414, -0.22324732, -0.01187915, -0.18680818, +0.00110150, +0.08457437, +0.38205538, -1.08152426, +0.21758275, -0.40381552, +1.12116269, +0.06030602, +1.05863856, -0.80217320, +0.00365581, -0.07441202, -0.03641377, +0.04834969, +0.03128706, +0.05407699, -0.00876932, -0.16714531, -0.05412581, +0.14993917, +0.78586664, -0.10807530, +0.26233663, +0.62141327, -0.04076041, +0.65615120, + +1.07338901, -2.28621788, -0.04811159, -0.01188741, +0.14489782, -0.04663046, -0.12033004, -1.07862016, -0.00225084, -0.74762189, -0.74802669, -0.01824472, -0.00637435, -0.03906202, -0.04524407, +0.14530476, +0.62847214, -0.17732649, -0.18406891, -0.11349870, -0.07236171, +0.48445561, +0.30186840, -0.08055287, -0.41398769, +0.10496366, -0.18304935, +0.11688282, +0.70062633, -0.02165589, -0.38347759, -0.18125999, +1.77747114, -2.42480443, -0.90011218, -0.35896357, -0.48321129, -0.02875768, +0.63724757, -0.28244629, +0.88569045, +0.09856484, +0.59402143, +0.88848727, -0.13795800, +0.36641973, +0.02711919, +0.97152745, +0.00918216, +0.10471382, -0.02218790, -0.08267760, +0.39283533, -0.17244191, -0.45350033, -0.05537420, -0.06721178, +0.00293284, -0.32795711, +0.17984757, -0.01671191, +0.05004126, -0.05404481, +0.19640140, -0.10163141, -0.08892138, -0.23390323, -0.00847904, +0.09717672, +0.40164149, -2.41467994, +0.31244377, -0.44359638, +0.51286794, +0.15179950, +1.43121760, +0.00234899, -1.06152418, -0.02425152, -0.11860474, -0.28268685, +0.08275542, +0.02518833, +0.08816261, -0.03265747, -0.01721842, -0.12465360, -0.01756202, +0.82517537, -0.08183314, +0.19579953, +0.55728434, -0.13800935, -0.58501345, +0.75689114, -0.20515567, +0.30182066, -0.12444673, +0.69965949, -0.03008134, +0.36341820, /* TECN.PLEN */ - -0.00916804, -0.04346888, +0.01980218, -0.02471645, -0.02677781, +0.11734399, +0.08119647, -0.02720101, +0.12713262, -0.11632633, -0.05689453, -0.00403888, -0.15922764, +0.20313332, -0.03626263, -0.05695233, -0.00361483, -0.04709615, -0.00240893, +0.08295277, -0.02880790, -0.00571715, -0.00311228, -0.00836374, -0.00709839, -0.04447988, +0.12496237, +0.11709444, +0.01127846, +0.20942695, +0.00241178, +0.14041498, +0.00599591, +0.06255227, +0.08980895, -0.04397910, -0.00627311, +0.06752952, +0.05540091, -0.04780297, -0.22857085, -0.04747148, -0.03713573, -0.05173777, -0.34659085, +0.02199504, +0.08505998, +0.15132154, -0.03111937, +0.04678810, +0.07254190, +0.17157528, +0.03108934, +0.04111651, +0.04844137, +0.04690772, +0.01234131, +0.00778662, -0.05571107, -0.07395825, -0.01538067, +0.01579424, -0.02535155, -0.05961898, -0.03454201, -0.05652234, -0.00460290, -0.06217982, -0.00748836, +0.01972211, -0.06394609, +0.02792005, -0.02588696, -0.06481442, -0.01516982, -0.05063955, -0.02579185, -0.07272544, -0.05778355, -0.12827994, -0.03692533, -0.08389576, -0.02351640, +0.09073607, -0.05925218, +0.02245671, +0.01564393, -0.03252698, +0.01698898, -0.04304363, -0.04359962, -0.03275456, + -0.02030640, -0.12119855, +0.02773395, -0.02811715, -0.01927438, +0.04139805, +0.08590193, -0.05080614, +0.12584883, -0.07054897, -0.04623421, -0.01983691, -0.15315571, +0.19975822, -0.03553187, -0.07195143, +0.00286738, -0.05594378, -0.00159359, +0.05862898, -0.03200191, -0.02015087, -0.01947057, -0.02363889, +0.00166341, -0.04542400, +0.08197711, +0.23705113, +0.07752648, +0.24131243, -0.01116059, +0.19928854, -0.01177293, +0.07477674, +0.11186767, -0.08984835, -0.01504384, +0.07854184, +0.08217645, -0.04843979, -0.15293512, -0.04554418, -0.02584469, -0.00854190, -0.33983274, +0.01959421, +0.07943011, +0.10326713, -0.04690168, +0.05478132, +0.06758275, +0.19679373, -0.01337599, +0.01652040, +0.00305779, +0.03275864, +0.07809861, +0.01453639, +0.00964301, -0.05961248, -0.21364301, -0.01130091, +0.00775047, -0.02740751, -0.05641769, -0.05581593, -0.04774625, -0.02263018, -0.09320668, -0.00790112, -0.11639859, -0.05233306, +0.03542831, -0.00402111, -0.08411889, -0.13471332, +0.04173102, -0.04936747, -0.02981959, -0.07022842, -0.10833986, -0.14264049, -0.06171134, -0.05841328, -0.02897696, -0.00171061, -0.05739904, +0.00190232, +0.01924389, -0.06358746, +0.01416166, -0.04936504, -0.03724519, -0.03512025, -0.05944269, -0.10752678, -0.11868757, -0.11264684, -0.02485375, -0.00435358, +0.04072241, /* TECN.TC */ - -0.00364546, -0.03516660, +0.00229104, -0.00205425, +0.00102925, +0.16371770, +0.03050414, -0.02188054, +0.04515303, -0.08881513, +0.02226860, +0.02448935, +0.01556263, +0.38604804, +0.56849532, +0.49075504, +0.06923268, +0.00312846, +0.02336771, +0.00589284, -0.01384163, +0.00491660, +0.00209604, -0.00628470, +0.00808239, +0.22259148, +0.11460426, +0.01259716, -0.13914242, +0.08059434, +0.00071193, +0.02294232, +0.00729479, +0.04490156, -0.09037515, -0.63948368, +0.01540135, +0.06896935, +0.01760182, +0.00066205, -0.20621382, +0.00107341, -0.16229854, +0.00666570, -0.23104327, -0.00797517, +0.06643881, +0.07139791, +0.00139971, +0.04553305, +0.18257170, +0.05716307, +0.00692077, +0.06758397, +0.03532127, -0.01227692, -0.01149216, +0.03969001, -0.02284683, -0.06629453, -0.01094137, -0.02264849, +0.00294879, +0.16790473, -0.00020595, -0.08497920, +0.00116131, -0.10656766, +0.00823337, +0.00491207, +0.00272876, +0.01573440, -0.27693074, +0.00226740, +0.00068156, -0.00642111, -0.00257679, -0.04366554, +0.00276094, -0.12128995, +0.00100865, -0.01217795, +0.01424647, +0.01750142, -0.00302436, -0.00456707, +0.00738260, -0.02136541, +0.03876227, -0.00358947, -0.01054554, -0.06570221, + -0.05157047, -0.14405919, -0.00381462, -0.01575300, -0.00263554, +0.18464589, +0.04568528, -0.06065226, +0.03985923, -0.01555454, +0.03022940, +0.07111209, +0.01422618, +0.50715656, +0.57203585, +0.51491401, +0.17644165, -0.03332955, +0.03576179, +0.01216995, -0.02703579, +0.01016928, -0.00847237, -0.08582644, +0.02029678, +0.24608902, +0.09249827, -0.00168158, -0.14678950, +0.10800361, -0.01977833, +0.02859612, +0.12366835, +0.07470096, -0.09998288, -0.78140490, +0.04053572, +0.08858623, +0.22955584, +0.04980016, -0.22675340, +0.00419928, -0.18203259, +0.05211714, -0.36532894, +0.01522840, +0.08133371, +0.07677582, -0.03797979, +0.09670826, +0.23501411, -0.69056946, +1.11799018, +0.00140684, +0.04182891, +0.08126384, +0.00077451, -0.02205243, +0.05530220, -0.05817472, -0.24902912, +0.05055551, -0.03959395, +0.01834297, +0.26962497, -0.00390641, -0.09931388, -0.01527376, -0.19874900, +0.02311326, +0.03114454, -0.02639390, +0.00566125, -0.96119224, -0.06865274, -1.73006368, +1.97600553, -0.02798570, -0.00823839, -0.06958780, +0.00597241, -0.26953840, -0.01531004, -0.04631464, +0.07628772, +0.04959793, -0.03546180, -0.02656077, -0.01643942, +0.00320606, +0.05706149, -0.03511974, -0.05432318, -0.02393453, -0.08402186, +0.00257590, -0.05748847, +0.00360595, +0.00715464, -0.04662044, +0.07942326, /* TECN.HLIM */ - +1.62464855, -1.53004434, +0.45949288, -0.00711464, -0.02235726, +0.35222734, -0.21862922, -0.03291670, -0.07583308, -0.06410628, -0.26926298, +0.06996363, +0.00674343, +0.15447101, -0.37640139, +0.53841968, -0.63952633, -0.00563067, -0.00851510, -0.03611571, -0.03273257, -0.01622167, -0.04921124, -0.10223783, +0.00093679, +0.13263506, -0.05528553, -0.00573177, -0.28487642, +0.08453092, -0.00312664, -0.28805112, -0.30983472, -0.40684366, -1.39681548, -0.24205264, +0.21825038, -0.08933447, -0.88478629, -0.12981020, -0.15293917, -0.01949874, -0.16280318, -0.02535650, -0.30642936, -0.05394882, -0.19379168, +0.67929946, -0.07293939, -0.33995163, +1.40821902, -0.07273514, +0.19427416, +0.34593151, -0.35958107, +0.00490456, -0.02495214, -0.37229642, +0.26319909, +0.54037606, -0.01875055, -0.12120087, -0.00635481, -0.02325032, -0.00402755, -0.10887440, -0.00810839, +0.43661723, -0.06495038, -0.47714938, -0.09293794, -0.01794727, -0.51234185, -0.08152085, -0.16282735, -0.01667808, -0.01037975, -0.09006155, -0.04855218, -0.07969312, +0.00365208, +0.30028105, -0.00690146, -0.47919543, +0.38264387, +0.08293308, -0.50655701, -0.05441199, -0.31441772, +0.49117986, -0.38710999, -0.07191206, + +1.71760431, -1.59914336, +0.77218903, -0.00545655, -0.02820278, +0.38919554, -0.15176829, -0.05450692, -0.06191901, +0.01232641, -0.40722330, -0.05226420, -0.04472155, +0.18642185, -0.40311698, +0.55082502, -0.74241839, -0.02318298, +0.00978810, -0.07181592, -0.05702504, -0.03836912, -0.08958532, +0.01901666, +0.01578486, +0.13234652, -0.09359704, -0.06280726, -0.11376041, +0.11069026, -0.02391147, -0.10470783, -0.45569713, -0.46134903, -1.50695112, -0.30208330, +0.20217386, -0.15633433, -0.59443249, -0.08195710, -0.26272247, -0.03380022, -0.17060885, -0.06465059, -0.39262261, -0.23087536, -0.16958718, +0.68967974, -0.09984668, -0.25846207, +1.56641220, -0.01843774, -0.07083601, +0.23781320, +0.54647601, -0.39908704, +0.00109836, -0.03452893, -0.41547962, +0.19664895, +0.52840355, -0.07549238, -0.14953423, -0.01264074, -0.00827994, -0.02948516, -0.10846670, +0.01780981, +0.51943260, -0.07053487, -0.77638858, -0.14144832, -0.09828004, -0.49739049, -0.04507432, -0.20989868, -0.14958929, -0.04600810, -0.07361013, -0.12450737, -0.02418605, -0.12640263, +0.00261294, +0.34686587, -0.01463169, -0.25101595, +0.42402778, -0.05552786, -0.49353447, -0.06760522, -0.28539309, +0.49570238, -0.57976455, -0.14697498, -0.06616551, +0.42860344, -0.11941081, +0.15999948, -0.11666113, -0.06449509, -0.28509677, /* T2.PLEN */ - -0.03673710, -0.03180459, +1.18659341, -0.01674473, +0.02690720, +0.02993128, -0.08985481, +0.00177618, -0.08053451, -0.00907691, -0.04366195, -0.00660350, -0.02177577, +0.21326113, +0.32916509, -0.31847014, +0.04035514, -0.01932233, -0.38269120, -0.08242556, -0.05210387, -0.00082267, -0.00434906, +0.17713980, -0.01915851, +0.32430867, -0.28619471, -0.21804204, -0.40919363, -0.00757732, +0.00388731, -0.17380535, -0.04194594, -0.12156720, +1.20069168, +0.59551839, -0.05807952, -0.17502961, -0.01926990, -0.06842256, -0.03878660, -0.00513164, -0.22618254, -0.03045610, +0.01920160, +0.39082324, -0.25745775, -0.16822099, -0.17489466, -0.24162637, -0.51354423, -0.41578345, +0.26026102, -0.09398009, -0.11339276, +0.27487174, +0.44886370, +0.10813234, +0.18341762, +0.01411471, -0.35080546, +0.13856141, -0.01499231, +0.03191081, +0.19750647, -0.27885524, +0.17746420, +0.28380659, +0.00245554, -1.44601522, -0.06870482, -0.01062317, +1.29182574, -0.08969833, -0.07976262, -0.05872693, +0.51064541, +0.31982445, -0.12754893, -0.01914443, +0.19199724, -0.01893501, -0.29848012, +0.10777639, -0.03720982, +0.18180244, -0.10650090, +0.04504597, -0.13125517, +0.02252185, -0.03902707, -0.05953772, + -0.03309447, +0.01797591, +1.95283175, -0.02614926, +0.04372249, +0.03733060, -0.08302879, -0.00836005, -0.05751811, -0.06164033, -0.05793966, -0.12205232, -0.02342427, +0.14984585, +0.32294881, -0.32961763, +0.09211308, -0.01518727, -0.39180622, -0.10885168, -0.04209859, +0.00832532, -0.01637186, +0.11814722, -0.02889069, +0.31855988, -0.28976577, -0.22641627, -0.32781847, -0.06534500, -0.08025663, -0.21223611, -0.17005727, +0.03193053, +1.10832984, +0.57329451, -0.08815846, -0.27975288, +0.10995934, -0.09488990, -0.04642357, -0.02969738, -0.21299990, -0.05579969, +0.02429789, +0.13262868, -0.17205299, -0.12687101, -0.14350997, -0.32417661, -0.58713640, -0.39620500, -0.05582153, +0.24487492, -0.15527736, -0.13809957, +0.27821230, +0.44305291, +0.08192262, +0.14095802, -0.00929433, -0.34317906, +0.11528271, -0.01979999, +0.04818719, +0.20659412, -0.26420047, +0.18857016, +0.26456546, -0.00482352, -1.95123906, -0.03935556, -0.01320826, +0.63563713, -0.08041804, +0.00425054, -0.11426269, -0.11060259, +0.50024990, +0.29464776, -0.12507648, -0.04140199, +0.10721029, -0.00129403, -0.28111718, +0.03183583, -0.04265268, +0.13162099, -0.11769812, +0.09801413, -0.14141349, +0.02156991, +0.03522287, +0.01755557, -0.19889730, -0.03563830, -0.12368132, +0.01227906, -0.10548629, +0.58845938, -0.03157472, /* T2.TC */ - -0.03651745, -0.01971376, +0.58142034, -0.01377095, +0.02655643, +0.02785990, -0.08846432, +0.00156181, -0.07354356, -0.03875421, -0.04667595, -0.00287255, -0.02510461, +0.42267572, +1.12476549, -0.62680748, +0.04090611, -0.03066726, -0.38187219, -0.08470459, -0.06912169, -0.00022080, -0.00472449, +0.16624189, -0.01595134, +0.74606655, -0.43881097, -0.21880884, -0.42563755, -0.01722185, +0.00121854, -0.17645707, -0.03665559, -0.04287054, +0.43513296, -0.05101107, -0.05719733, -0.17505722, -0.02925258, -0.06728837, -0.11752227, -0.00689244, -0.27622290, -0.03449222, +0.01330793, +0.38807277, -0.11204703, -0.16576160, -0.14769539, -0.10914605, -0.24216728, -0.29337066, +0.25940916, -0.10112030, -0.03013738, +0.26782332, +0.43300549, +0.10330952, +0.15525300, +0.01538069, -0.35066420, +0.10672831, -0.01384539, +0.03165084, +0.19949345, -0.30553500, +0.14687365, +0.19462742, +0.00452519, -0.67922681, -0.06913367, -0.01346284, +0.64211069, -0.02512858, -0.02732164, -0.04474066, +0.51355725, +0.26980485, -0.12783968, -0.06768378, +0.19174283, -0.02112374, -0.29573379, +0.10693450, -0.04002156, +0.17441807, -0.04815807, +0.04590135, -0.12183889, +0.02562067, -0.00412472, -0.05938392, + -0.03363496, +0.02827461, +1.00324132, -0.01617777, +0.04266976, +0.03648444, -0.07614528, -0.00914358, -0.05848013, -0.04313668, -0.06070464, -0.11883079, -0.02688820, +0.33259009, +1.19840124, -0.65799777, +0.09182840, -0.02184926, -0.39018399, -0.11111782, -0.05475163, +0.01047079, -0.01561455, +0.06496661, -0.02309255, +0.66729544, -0.44258195, -0.22807462, -0.34599312, -0.06836761, -0.07490049, -0.21339669, -0.13170141, +0.06878591, +0.39537745, -0.05650060, -0.08727108, -0.27898953, +0.09471966, -0.09033405, -0.10986550, -0.02974079, -0.24550521, -0.04996734, +0.01801483, +0.17508943, -0.06477676, -0.12938493, -0.12733694, -0.20911317, -0.26733281, -0.28343253, -0.11031929, +0.24444068, -0.15618552, -0.03387195, +0.26872843, +0.41965085, +0.08096343, +0.09858146, -0.00829866, -0.33220082, +0.08637438, -0.01677553, +0.04605272, +0.20601625, -0.26695536, +0.14337861, +0.17130430, +0.00362747, -0.91104924, -0.03909092, -0.01555970, +0.33548918, -0.01110146, +0.03369469, -0.21528954, -0.05072029, +0.50083708, +0.24859330, -0.12633155, -0.14690157, +0.10990759, -0.00373161, -0.26488010, +0.02785182, -0.04603223, +0.12544094, -0.04743750, +0.10104333, -0.12521202, +0.02246713, +0.05796050, +0.05300196, -0.19673794, -0.02727020, -0.11826901, +0.00955646, -0.10197629, +0.55614186, -0.04276552, /* T2.HLIM */ - -0.06676958, -0.02360929, +0.52484805, -0.01467238, +0.02346444, +0.01985683, -0.10231782, -0.00443230, -0.09956672, -0.01039989, -0.04728137, -0.03528864, -0.02477690, +0.21020933, +0.29531768, -0.32515786, +0.03708826, -0.02375525, -0.38300423, -0.09630581, -0.06126654, -0.00213418, -0.00840636, +0.08773423, -0.01685251, +0.31067457, -0.28916769, -0.22328988, -0.41154297, -0.00846087, +0.00318156, -0.22689604, -0.04708248, -0.04596347, +0.52439340, +0.69223878, -0.09249853, -0.24144860, -0.02410250, -0.10669309, -0.04053226, -0.01482134, -0.25170034, -0.03553081, +0.01667382, +0.39962676, -0.12253879, -0.23046988, -0.20043544, -0.11550488, -0.24653620, -0.30612277, +0.55908240, -0.16313702, -0.03426844, +0.28575788, +0.43876953, -0.18240480, +0.53530639, -0.00491132, -0.35174145, +0.09890909, -0.01491108, +0.02761680, +0.19747296, -0.28969587, +0.14403836, +0.25241390, -0.00030653, -0.68456400, -0.07052457, -0.01858306, +0.63653362, -0.03408459, -0.04131469, -0.06965452, +0.50535185, +0.30014714, -0.17045677, -0.02006674, +0.20952432, -0.02571254, -0.29679767, -0.32490435, -0.05858731, +0.28448122, -0.05695983, +0.04133227, -0.13605490, +0.01725103, -0.01140340, -0.08719074, + -0.09496469, +0.05350578, +0.86133373, -0.01518954, +0.04202478, +0.02726500, -0.08280883, -0.00896088, -0.08890632, -0.06531154, -0.05979876, -0.18762034, -0.02757474, +0.14034391, +0.30230123, -0.33164956, +0.09615885, -0.01870494, -0.38773198, -0.12616176, -0.05139641, +0.00907659, -0.02091168, +0.03411200, -0.02145019, +0.29472702, -0.28335469, -0.21900449, -0.30772269, -0.06682199, -0.08710819, -0.26383841, -0.11812035, +0.07198323, +0.48862280, +0.64065603, -0.13933292, -0.34888134, +0.12674952, -0.13711602, -0.06731488, -0.04927451, -0.23768823, -0.06208241, +0.02228330, +0.22072380, -0.07628443, -0.19822537, -0.17946610, -0.21795281, -0.26999650, -0.30733394, -0.10012629, +0.50545500, -0.25726158, -0.03805387, +0.27063920, +0.42659686, -0.25212942, +0.49746190, -0.02649870, -0.32517645, +0.07402190, -0.01574415, +0.05045456, +0.16287776, -0.26757854, +0.14044196, +0.18353307, -0.00347768, -0.90934490, -0.04360973, -0.03309992, +0.33144441, -0.02139601, +0.01362219, -0.13176564, -0.06425395, +0.44798643, +0.26400584, -0.18048484, -0.02397186, +0.09624081, -0.00764872, -0.26071048, -0.21277202, -0.07668558, +0.06663090, -0.05671777, +0.10128372, -0.14002960, -0.00069433, +0.05431677, +0.05926820, -0.20955514, -0.07030568, -0.12934048, +0.00797293, -0.15749540, +0.50970247, -0.03824920, /* T3.PLEN */ - +0.23463735, +0.80561409, +0.64265140, -0.10034834, +0.07925236, -0.14319247, +0.30246980, +0.13349428, -0.31818916, -0.00048386, +0.15411613, -0.06902754, +0.11966083, -0.02177337, +0.29785685, +0.10038632, -0.07970548, -0.06944877, +0.13917962, +0.08440874, +0.07731224, -0.05848271, +0.12299310, +0.07472608, -0.06553462, -0.33261589, -0.30700624, -0.15518363, -0.29325872, -0.06799720, -0.06591943, +0.26585626, +0.17211991, -0.27447713, +0.96862510, +0.16079556, -0.10655669, +0.19784548, +0.35750959, +0.27958881, -0.01138647, +0.06474776, +0.08130557, +0.10916293, -0.05643818, +0.14958023, -0.33472702, -0.37977348, -0.32100605, -0.32852955, -0.67989393, -0.61323134, +0.16318219, +0.26014207, -0.20952492, +0.16857580, -0.19502867, +0.03532305, +0.07900034, -0.17405277, +0.20302893, +0.08295472, -0.05309138, +0.09205001, +0.09623232, +0.13427967, +0.10941930, +0.20096536, +0.09849409, +1.74603971, -0.14842123, -0.07211793, -1.29802258, -0.15258210, -1.07897108, -0.27538158, +0.12737652, -0.21208300, -0.15475058, +0.00643799, +0.09553966, -0.17544059, +0.18165548, +0.12529012, +0.16613148, +0.08301944, -0.37355721, -0.02708480, -0.40380040, -0.11618876, -0.17497159, +0.12037253, + +0.24706320, +1.12119193, +1.04734581, -0.07598744, +0.00405367, -0.08697484, +0.30404790, +0.16963842, -0.30358839, -0.00409723, +0.12825941, -0.06713257, +0.12908751, -0.03130884, +0.29774911, +0.11033583, -0.06931658, -0.07006857, +0.12180048, +0.03312933, +0.02918165, -0.03202785, +0.07587572, +0.00336483, -0.03613554, -0.36195012, -0.29014606, -0.14320910, -0.18744389, -0.03814993, -0.10828570, +0.28143577, -0.15914423, -0.12793965, +0.89377639, +0.08453760, -0.09085726, +0.11624037, +0.60183195, +0.22260906, -0.07882632, +0.02313529, +0.01507126, +0.09055264, -0.06677624, +0.21666402, -0.32145494, -0.38100868, -0.30056999, -0.32085996, -0.79021119, -0.64968069, -0.29440149, +0.16357538, +0.19526594, -0.23575608, +0.19135409, -0.19529933, +0.02651134, +0.06377744, -0.21974910, +0.21838169, +0.06682581, -0.00942363, +0.05824771, +0.03396276, +0.08635877, +0.05102813, +0.21832694, +0.06450937, +3.74526759, -0.08898053, -0.04442963, -0.63671601, -0.14057723, -1.23149804, -0.11981950, -0.24372900, +0.08576428, -0.22095936, -0.14443593, +0.02886242, +0.11953531, -0.17681958, +0.18060709, +0.02342128, +0.14908116, +0.03759202, -0.37677530, +0.00660136, -0.43109545, -0.10294659, -0.08508490, -0.25141185, +0.14110940, -0.04399245, -0.08907424, -0.03136585, -0.14851949, +0.01277223, +0.17071682, /* T3.TC */ - +0.16698890, +0.59633336, +0.28532755, -0.06687655, +0.06733561, -0.13478817, +0.21504433, +0.08744237, -0.25257666, +0.00324736, +0.09944153, -0.04893284, +0.13546877, -0.02365294, +1.11393033, +0.60142035, -0.05041954, -0.05644814, +0.13146860, +0.09367135, +0.06474356, -0.04029522, +0.09532500, +0.10130159, -0.04075411, -0.51804810, -0.31280607, -0.10314814, -0.19860144, -0.05699775, -0.04690413, +0.15180892, +0.13217677, -0.12379221, +0.37156609, -0.43231451, -0.09310196, +0.10105085, +0.26695221, +0.20070820, -0.00093312, +0.04460187, -0.07213490, +0.07961373, -0.05237236, +0.21519010, -0.24547971, -0.32130895, -0.25718384, -0.23760155, -0.37165122, -0.46918088, +0.17970104, +0.25002123, -0.10391727, +0.11625355, -0.14933121, +0.05311431, +0.10374008, -0.27918607, +0.14338985, +0.08597173, -0.03118483, +0.23434960, +0.07725396, +0.06454350, +0.07815719, +0.19436257, +0.08054121, +0.84312704, -0.09045490, -0.05524429, -0.70517980, -0.10532575, -0.56957407, -0.22150360, +0.09741134, -0.17466835, -0.12757902, +0.01127356, +0.11978651, -0.13617341, +0.13911672, +0.16202445, +0.16532280, +0.11000411, -0.22811202, -0.00853940, -0.33028354, -0.07732969, -0.11246532, +0.09690415, + +0.14788423, +0.88479710, +0.49735496, -0.04628787, +0.01148850, -0.09689527, +0.22248315, +0.09260231, -0.24394906, -0.00459067, +0.07359850, -0.07865539, +0.14737685, -0.04035176, +1.15882149, +0.64560360, -0.03450204, -0.06172665, +0.12618152, +0.05248708, +0.03864879, -0.01573874, +0.05926969, +0.05426378, -0.01412526, -0.58599185, -0.31475046, -0.09305567, -0.08845220, -0.03374883, -0.08805578, +0.15231424, -0.10900623, -0.05221840, +0.32580649, -0.44651163, -0.09114670, +0.01492710, +0.55533757, +0.14030935, -0.05296263, +0.00261162, -0.08322908, +0.07185581, -0.06332297, +0.36888407, -0.23875775, -0.32380969, -0.25374191, -0.23199761, -0.42534827, -0.48903803, -0.24428088, +0.18538421, +0.20862274, -0.11120770, +0.11418307, -0.15460892, +0.04136304, +0.09027503, -0.36108365, +0.15964545, +0.07501251, +0.00788057, +0.29984225, +0.01416937, +0.03658109, +0.01881511, +0.21516085, +0.05954822, +1.91373002, -0.05524054, -0.03810769, -0.37842134, -0.09553664, -0.60435719, -0.11721882, -0.18907114, +0.04475891, -0.18820874, -0.13529719, +0.04397825, +0.13437857, -0.13979528, +0.15645379, +0.04908340, +0.15510410, +0.06820294, -0.22067100, +0.02917328, -0.35702665, -0.07149870, -0.03965647, -0.12374424, +0.14547937, -0.04143505, -0.04804284, -0.02440991, -0.14167876, -0.06316178, +0.14604130, /* T3.HLIM */ - +1.91549938, -0.95058314, +0.67898976, -0.07139682, +0.04596463, -0.29412598, -0.03262574, +0.07539323, -0.29848183, +0.00066182, -0.17689888, -0.09463707, +0.12811346, -0.02169363, +0.02101631, +0.64837534, -0.05954918, -0.06525262, +0.09447032, +0.05319593, +0.04655893, -0.04799958, +0.05023641, +0.00296980, -0.04538163, -0.34289310, -0.36219452, -0.11777175, -0.20736801, -0.06062997, -0.05032667, -0.15774206, -0.17975252, -0.59396278, +0.34137690, +0.21605078, -0.13650311, -0.00783195, -0.74042937, +0.07555315, -0.02138380, +0.02556825, -0.07317754, +0.04993497, -0.10991634, +0.19879451, -0.28386239, -0.52108494, -0.32668424, -0.25768728, -0.45600087, -0.50557492, +0.41949503, +0.60241826, -0.12404346, +0.11260033, -0.16276198, -0.25521945, +0.41426186, -0.20900662, +0.13454433, +0.05048431, -0.03535605, +0.05162808, +0.07348469, +0.05141256, +0.06946021, +0.09504943, +0.00988230, +0.77702172, -0.09549515, -0.06931804, -0.74318407, -0.12959081, -0.59789847, -0.24449612, +0.08769061, -0.20187106, -0.17576913, +0.00746893, +0.12589850, -0.23843670, +0.13226457, -0.28339212, +0.64764164, +0.20444841, -0.25025776, -0.01918970, -0.35697302, -0.11625396, -0.13080032, +0.00995569, + +2.14923092, -0.59855236, +0.91042550, -0.04430433, +0.00472167, -0.22787801, +0.01623784, +0.09597124, -0.27850996, +0.00889098, -0.27278155, -0.15353266, +0.13601862, -0.03790012, -0.06037419, +0.72691084, -0.01416924, -0.06128467, +0.08776012, +0.00398374, +0.01328167, -0.01777197, +0.01759375, +0.02434471, -0.00910973, -0.37355311, -0.32932435, -0.08960249, -0.05171673, -0.03119665, -0.09485336, -0.01629914, -0.61898045, -0.46095345, +0.36475066, +0.16712923, -0.14704488, -0.07845606, -0.69603772, +0.09196279, -0.15144900, -0.02444905, -0.09022653, -0.00910102, -0.09492010, +0.29522021, -0.25877809, -0.55527081, -0.31199925, -0.24041723, -0.54408130, -0.50304771, -0.24954223, +0.39732025, +0.80057220, -0.11832155, +0.09472297, -0.16915150, -0.30325846, +0.36970356, -0.18769586, +0.10447076, +0.03188050, +0.01467364, +0.06485382, -0.02501550, +0.03211332, +0.01106573, +0.00120489, -0.01334717, +1.87329207, -0.05558266, -0.05642566, -0.40640308, -0.11362959, -0.61420104, -0.13619004, -0.18732009, -0.01201317, -0.21493677, -0.17415288, +0.05261429, +0.11976518, -0.26417910, +0.13437635, -0.20065761, +0.63859782, +0.00486834, -0.22660049, +0.05751986, -0.36274614, -0.13749454, -0.03513565, -0.20915657, +0.04757370, -0.04118384, -0.03323895, -0.03228850, -0.16840777, -0.12660147, -0.15000989, /* T4.PLEN */ - +0.01012998, +0.08880027, +0.30598254, +0.02295820, +0.00947910, -0.28175720, +0.04305821, +0.03026637, +0.08747950, -0.05201028, +0.03582330, -0.14751786, +0.03082893, +0.18111152, +0.01151341, +0.08173304, -0.25156663, +0.03110249, +0.00625861, +0.00994479, +0.02949128, +0.02424229, +0.02562822, +0.02523263, -0.13793656, +0.02468690, +0.28054877, +0.04928919, +0.39345687, +0.10290977, +0.10821011, +0.04140741, +0.04826526, +0.38303849, +0.07594046, +0.03682490, -0.17825435, +0.00567997, +0.04257128, +0.01158211, -0.09972470, +0.00882205, +0.04412161, +0.02059887, -0.09028427, +0.05614462, +0.10734181, +0.14067772, +0.09914982, +0.11045124, +0.07830411, +0.15315338, -0.14274131, -0.18104564, -0.34123796, -0.01559276, +0.02132492, -0.04389017, +0.02012816, +0.20744402, +0.01457195, +0.03051420, -0.06756793, +0.03635143, -0.00067783, +0.06094658, +0.07517478, +0.11348778, +0.02164595, -0.39990300, -0.07847519, +0.47295827, +0.18652703, +0.02991870, +0.35938220, +0.14421211, +0.00351618, +0.01553301, +0.03186498, -0.06121125, +0.01679718, +0.05715286, +0.00511114, -0.34415905, +0.02105499, +0.04719654, +0.08412515, -0.22469094, +0.05781925, +0.00305360, -0.03907138, +0.02428101, + -0.33076878, -0.07472204, +0.55266612, +0.01696366, +0.01020005, -0.25251486, +0.01594235, +0.02330354, +0.08027841, -0.00593894, +0.03557099, -0.08719652, +0.01396310, +0.18475153, -0.00640208, +0.13924641, -0.28873691, +0.01942827, -0.00197912, -0.02858118, +0.02232608, -0.00697954, +0.00577633, -0.04464147, -0.17243025, -0.03224148, +0.33445212, -0.04103504, +0.44746967, +0.11175981, +0.07141645, +0.03474213, +0.24217678, +0.44640529, +0.03739251, +0.12558271, -0.13945993, -0.03118729, -0.08104062, -0.48909097, +0.02834283, -0.02822753, +0.09008652, -0.02730146, -0.06783060, +0.13135078, +0.02627307, +0.19374218, +0.11410081, +0.13652381, +0.12932714, +0.31579438, +0.02842824, -0.15739190, -0.13485263, -0.35325887, -0.02999220, +0.00934707, -0.02149750, +0.01308202, +0.20403003, -0.00323846, +0.01300246, -0.10092484, +0.04727306, -0.05063465, +0.08155847, +0.10334005, +0.13232368, +0.00434788, -0.50212673, +0.02453706, +0.60742728, +0.15797421, -0.00948068, +0.14065436, +0.02377540, +0.07434599, -0.00251659, +0.00858238, -0.11883634, -0.07095952, -0.03223732, +0.04502657, +0.02995280, -0.40753170, -0.00825395, +0.05001741, +0.09536449, -0.26216739, +0.04410524, -0.01027081, -0.24308087, +0.25941898, +0.04161794, -0.08267575, +0.11365495, +0.02431059, +0.21425753, -0.01969341, -0.25266870, /* T4.TC */ - +0.00422518, +0.08747336, +0.30336123, +0.02216986, +0.00835409, -0.28753664, +0.04071193, +0.02920056, +0.07388323, -0.08245215, +0.03061389, -0.14883268, +0.02497828, +0.38886568, +0.57159536, +0.55278935, -0.25272439, +0.01666314, +0.00786564, +0.01652503, -0.00538166, +0.03272985, +0.02878725, +0.01276625, -0.12994006, +0.22898610, +0.22370729, +0.04422393, +0.37606554, +0.09315728, +0.10489619, +0.03478326, +0.04604582, +0.38155001, -0.03653333, -0.63085841, -0.17911252, +0.00571131, +0.02898569, +0.01034620, -0.17966692, +0.00582651, -0.15391526, +0.01338832, -0.10234032, +0.04735210, +0.10303581, +0.12779900, +0.09498610, +0.09630364, +0.24489081, +0.14067578, -0.14496282, -0.21474268, -0.34282131, -0.00598564, +0.00445541, -0.05418562, -0.01132575, +0.22574347, +0.01448033, -0.01143873, -0.06650513, +0.03539834, +0.00374880, -0.06320756, +0.01248047, -0.01107990, +0.02002742, -0.40179505, -0.07531340, +0.04946438, -0.09241566, +0.02796969, +0.35699295, +0.16138916, +0.00970397, -0.03119717, +0.03074055, -0.11626634, +0.01483911, +0.03572939, +0.01062382, -0.18407709, +0.01108683, +0.03920790, +0.10966149, -0.22659905, +0.05460615, +0.02068445, +0.18564317, +0.02384028, + -0.37512397, -0.05916780, +0.54475776, +0.01116728, +0.00886245, -0.25520644, +0.02142983, +0.02565580, +0.06312625, +0.03334411, +0.02202758, -0.08376091, +0.00296345, +0.42525467, +0.56358157, +0.56775096, -0.28208492, -0.00067938, +0.00055931, -0.00688833, -0.01654779, +0.02964455, +0.02958410, -0.10718113, -0.14260612, +0.16427613, +0.21096575, -0.04417878, +0.48122638, +0.10819255, +0.06454073, +0.02371022, +0.25760576, +0.44151217, -0.10306098, -0.62924328, -0.13381754, -0.01690080, -0.09163155, -0.44164469, -0.05467256, -0.02646088, -0.11623213, -0.01886919, -0.08055410, +0.13482509, +0.02489820, +0.16381360, +0.10894420, +0.11424794, +0.26916633, +0.30037923, -0.01378823, -0.15767378, -0.16924884, -0.34743528, -0.00731989, -0.01662301, -0.02421740, -0.04867314, +0.25579699, +0.03970884, -0.04210127, -0.08832885, +0.03264864, -0.04376653, -0.05670303, -0.00493599, -0.04205837, +0.00682078, -0.49363913, +0.03189107, +0.03030130, -0.14936440, -0.01045509, +0.14773012, -0.10907558, +0.10240275, +0.01157895, -0.04636334, -0.10916134, -0.23743070, -0.02304681, +0.00765760, +0.07375731, -0.15062914, -0.03102628, +0.03605662, +0.11086631, -0.24774324, +0.04961753, +0.00023727, +0.16637043, +0.26633131, +0.05001390, -0.05241566, +0.11847779, +0.02065414, +0.23333503, -0.05181487, -0.26638486, /* T4.HLIM */ - +1.63621316, -1.41844993, +0.85995589, +0.02142742, -0.01378503, -0.29680199, -0.21740043, -0.00272303, -0.03556718, -0.05471372, -0.00470143, -0.17594410, +0.02210408, +0.17584864, -0.02486060, +0.05343656, -0.26082748, +0.01813547, -0.06680935, -0.03593725, +0.00109815, +0.00404758, -0.02348222, -0.07582323, -0.13621878, +0.00623522, +0.27633915, -0.02812302, +0.36795210, +0.09833397, +0.10442733, -0.27324601, -0.26834385, -0.09982833, -1.33667852, +0.13198639, -0.23156218, -0.08119418, -0.87194801, -0.11954495, -0.12165036, -0.01027293, +0.01223207, -0.00040058, -0.09457315, +0.04994789, -0.15421618, +0.76327383, +0.02249695, -0.28731248, +0.27344045, +0.00470431, -0.18602787, -0.19308837, -0.35981848, -0.02453150, +0.00832500, -0.35308988, +0.29887948, +0.11828511, +0.41430825, -0.01568306, -0.07299714, -0.00147604, -0.00615140, +0.04452854, +0.00154583, +0.08226684, -0.05103120, -0.64201407, -0.09149023, +0.44592282, -0.29633459, -0.05474580, +0.24072212, +0.11670434, -0.09167420, -0.00838753, -0.02419461, -0.06608410, +0.02139208, +0.04345280, -0.07771077, -0.50035626, -0.02099834, +0.17236176, -0.43895764, -0.23538566, -0.29912591, +0.50203819, -0.41612607, -0.05013922, + +1.42004033, -1.54553264, +1.45825220, +0.02649983, -0.00314336, -0.27272955, -0.21565161, -0.02621184, -0.02638096, +0.02698161, -0.03585039, -0.12815374, -0.03655678, +0.16355610, -0.02579881, +0.05033732, -0.26059944, +0.00128826, -0.04722247, -0.10887719, -0.02038274, -0.04868473, -0.06008460, -0.05528041, -0.14227010, -0.07279395, +0.31348101, -0.24330695, +0.43521819, +0.10543589, +0.05613059, -0.13531395, -0.44524465, -0.11492462, -1.61789106, +0.24410544, -0.21306285, -0.08108936, -1.00200365, -0.41628408, -0.12180004, -0.06124307, +0.03705744, -0.10348765, -0.07235308, +0.06382993, -0.24478642, +0.73663282, +0.00230889, -0.21344252, +0.13596330, +0.00561925, -0.07522550, -0.21811378, -0.15183785, -0.32545492, -0.09005487, -0.00347539, -0.38765906, +0.22658389, +0.13491525, +0.69842664, -0.05210857, -0.08599598, +0.00830939, -0.08535026, +0.07524563, -0.00533392, +0.03972304, -0.08462383, -0.59705524, +0.01628098, +0.45901556, -0.35533453, -0.05713830, +0.05869940, -0.03722417, +0.04707491, -0.14054678, -0.03122252, -0.20170297, -0.07548971, -0.02133539, -0.05438861, -0.06542183, -0.09832358, -0.14464823, +0.06921722, -0.42056104, -0.19963230, -0.31815118, +0.48411579, -0.74640881, +0.11032682, -0.04402271, -0.05283309, +0.06258311, +0.17117620, +0.12163372, -0.07828244, -0.25117603, /* T5.PLEN */ - +0.06270797, +0.25538598, -0.25430525, +0.01604154, +0.02639056, -0.11982024, +0.03976291, +0.04403893, +0.04600217, +0.06950954, +0.01367015, -0.54978752, +0.01408373, +0.01027210, +0.00461393, +0.08243698, -0.10614529, +0.01773921, +0.00447406, +0.00423643, +0.01423333, +0.04646854, +0.04595899, +0.02145934, -0.02268528, +0.01348934, -0.07558411, +0.08406168, -0.08978791, +0.06895035, -0.30918332, +0.07453550, -0.07594947, -0.18262674, +0.52173117, +0.01472019, +0.64400673, +0.03794566, +0.12531153, +0.08840787, -0.37248405, +0.00765092, +0.01721526, +0.01093798, -0.06282375, +0.03893362, +0.08213782, +0.06520785, -0.07003902, +0.11186504, +0.41934576, +0.07488880, -0.12835131, -0.12684755, +0.05599470, -0.05386249, +0.01886647, -0.02336729, +0.01719743, +0.51384930, +0.01620821, +0.02177502, +0.13625014, +0.05128832, -0.00466472, +0.05271079, +0.12904888, +0.10812712, +0.09245639, -0.10352011, +0.13871415, +0.45999588, +0.41864973, +0.04869134, -0.32475107, +0.15446391, -0.00277013, +0.01167607, +0.02463541, +0.07194713, +0.02377561, +0.06689710, -0.00229005, -0.33536532, +0.01928120, +0.04628551, +0.24400094, -0.31186857, +0.05650775, +0.01732756, +0.06606954, +0.04784862, + +0.13264472, +0.14899099, -0.38505441, +0.00001581, +0.04074723, -0.09227971, +0.01364659, +0.03466326, +0.04213029, +0.09247974, -0.00918023, -0.60019428, -0.00402381, -0.02639744, -0.01162111, +0.12807592, -0.14488280, -0.01303116, -0.00344309, -0.05573274, +0.00414831, +0.02406535, +0.02605555, -0.02234454, -0.06545945, -0.05342521, -0.08819991, +0.20148135, -0.14377866, +0.09089833, -0.30894083, +0.07075192, -0.02653320, -0.17415894, +0.52574947, +0.06338530, +0.68470292, +0.00156062, +0.18641743, +0.07025769, -0.22822748, -0.02449885, +0.04248305, +0.00222629, -0.05169066, -0.01546204, +0.10082207, +0.05562623, -0.07844434, +0.14307222, +0.50637291, +0.05894604, +0.05923670, -0.11645812, -0.08945900, +0.07520449, -0.09729301, +0.00490030, -0.00211236, -0.01993751, +0.51444424, +0.00366885, +0.00368800, +0.16055487, -0.00338741, -0.04369240, +0.06471913, +0.17038040, +0.14281449, +0.09837867, -0.08852151, +0.18744351, +0.56257868, +0.40542454, +0.10036102, -0.33759578, +0.04836433, +0.13502533, -0.01462995, -0.00589019, -0.20512809, -0.00091326, +0.01248637, +0.05724946, -0.01048820, -0.36360668, +0.00395345, +0.01155636, +0.25184834, -0.36753369, +0.07489922, +0.00930542, +0.01855122, -0.17786417, +0.02431434, -0.14157616, +0.17690718, +0.02987891, +0.13214072, +0.00244081, -0.14583999, /* T5.TC */ - +0.05606067, +0.24726519, -0.25670891, +0.01928379, +0.02541170, -0.12740788, +0.04167199, +0.04304635, +0.03194196, -0.13568022, +0.00800201, -0.55125231, +0.00822488, +0.20535334, +0.56463321, +0.55280427, -0.10694115, +0.00267392, +0.00841957, +0.01148230, -0.02113916, +0.05514189, +0.04897849, +0.00898743, -0.00828858, +0.21695474, -0.13484963, +0.07910898, -0.24135118, +0.05641123, -0.31153380, +0.06634242, -0.07868067, -0.18419728, +0.39846353, -0.65271246, +0.64187546, +0.04036096, +0.11089235, +0.08709897, -1.39733548, +0.00455952, -0.18212669, +0.00322902, -0.07610572, +0.03076372, +0.07759746, +0.01818974, -0.07439570, +0.09603682, +0.58220604, +0.00327580, -0.13069423, -0.16110067, +0.05357474, -0.01529099, +0.00210867, -0.03975661, -0.01452415, +0.51693284, +0.01684212, -0.02136085, +0.13916510, +0.05062440, +0.00428489, -0.07203909, +0.01180765, -0.01716064, +0.09081979, -0.10548437, +0.14194629, +0.03595913, +0.13925477, +0.04660679, -0.32641521, +0.17351672, +0.00929459, -0.03532543, +0.02361888, +1.07388077, +0.02207620, +0.04507940, +0.00882327, -0.17583519, +0.00912274, +0.03824498, +0.26924625, -0.31295551, +0.05266463, +0.03483122, +0.29065557, +0.04797671, + +0.08051239, +0.19421140, -0.38439060, +0.00170832, +0.03939335, -0.09789003, +0.02490424, +0.03748170, +0.02503929, -0.05882818, -0.02142372, -0.59581655, -0.01272590, +0.27713307, +0.56049731, +0.55094552, -0.13839177, -0.02995119, +0.00088809, -0.03088445, -0.03190248, +0.06016065, +0.04912612, -0.08312586, -0.02166451, +0.14867079, -0.14703111, +0.19882890, -0.28092317, +0.08424806, -0.31043610, +0.05597431, -0.03073535, -0.17459358, +0.38949365, -0.67768378, +0.67854887, +0.02684332, +0.15892465, +0.10283974, -1.72923083, -0.02251560, -0.16825302, +0.00671070, -0.06522213, -0.00266045, +0.09914353, -0.01891805, -0.07908781, +0.12237193, +0.64061849, -0.10625624, +0.01698595, -0.11697473, -0.12371811, +0.07851853, -0.03182575, -0.02056305, -0.00871529, -0.07788073, +0.54296913, +0.04604209, -0.05165282, +0.17708102, -0.01741733, -0.03196628, -0.07354547, -0.02190229, -0.03512837, +0.10090343, -0.07806037, +0.19522314, +0.01012743, +0.10819560, +0.09934295, -0.32622595, -0.08416020, +0.16494964, +0.01052201, -0.05866027, -0.19465534, +1.43603589, +0.02626122, +0.02103148, +0.03883634, -0.11290834, -0.01751317, -0.00027813, +0.26714116, -0.35330634, +0.07997898, +0.02001353, +0.41931312, -0.16946240, +0.03314411, -0.11020712, +0.23144273, +0.02641168, +0.15060873, -0.02376576, -0.16022189, /* T5.HLIM */ - +1.74166818, -1.14719082, -0.34006440, +0.01986432, +0.00942926, -0.16315301, -0.19554871, +0.01493756, -0.07970267, -0.92547283, +0.00406346, -0.72118633, +0.00581636, -0.01257862, -0.03167008, +0.05786557, -0.12832732, +0.00460897, +0.00090535, -0.03394314, -0.01311125, +0.02730539, +0.01007718, -0.07953702, -0.01386708, -0.00626800, -0.08004817, +0.07480224, -0.09531448, +0.04807585, -0.31171770, -0.22619197, -0.11219863, -0.19647472, -0.77348576, +0.10830681, +0.93850883, -0.04564551, -0.75651905, -0.01986369, +0.36357421, -0.00958333, -0.02142576, -0.01221342, -0.06777435, +0.03118612, -0.17952372, +0.67946355, -0.13336878, -0.28482116, +2.17532821, -0.07416519, -0.16352651, -0.13408516, -0.02345222, -0.00199222, +0.01039544, -0.32774289, +0.29610833, +0.46921830, +0.00388695, -0.02482077, +0.13408017, +0.01848001, +0.00038205, +0.03583037, +0.00437537, +0.07668960, +0.04115362, -1.06824388, +0.12840410, +0.43195524, -0.05877581, -0.03546016, -0.42927130, +0.12444244, +0.00658081, -0.01238429, -0.02179579, +0.02323258, +0.02937710, +0.05432935, +0.00315821, -0.50185177, -0.01854891, +0.17238261, -0.27929304, -0.32297083, -0.30174095, +0.51817619, -0.31022557, -0.02102062, + +1.92746747, -1.33593103, -0.55835844, +0.01732607, +0.03058514, -0.16800531, -0.15194966, +0.00799572, -0.06838603, -0.94775551, -0.02118712, -0.85280791, -0.04822589, -0.05318014, -0.02881130, +0.04479295, -0.12860451, -0.02656756, +0.00350994, -0.10543308, -0.02885746, -0.01674492, -0.02898506, -0.05053433, -0.02538995, -0.09256758, -0.08035033, +0.21929860, -0.19431177, +0.06822094, -0.31447606, -0.09034614, -0.33602847, -0.15552086, -0.91217867, +0.18483319, +0.89623423, -0.05914173, -0.60475190, +0.05943119, +0.48430426, -0.05367832, -0.02532208, -0.09273985, -0.05550671, -0.06500553, -0.17494786, +0.63774391, -0.12098802, -0.20405000, +2.53037846, -0.22839971, -0.05554824, -0.16396189, -0.08862089, +0.02885283, -0.03254052, -0.00256909, -0.36441023, +0.18952679, +0.55825032, +0.00013840, -0.05787408, +0.15139090, -0.03431103, -0.06833033, +0.05761834, -0.01510604, +0.05149539, +0.02819752, -1.00777819, +0.16712287, +0.42595304, -0.20125609, +0.04732033, -0.39891370, -0.01418208, +0.10425511, -0.00588646, -0.04707008, -0.27580857, -0.04967220, +0.01683801, -0.03611163, +0.01107837, -0.07931238, -0.11387761, +0.03512268, -0.26748875, -0.32064117, -0.28939192, +0.49549746, -0.49385942, -0.16058853, -0.04813368, -0.14255580, +0.13921894, +0.17189932, +0.01793244, -0.05553099, -0.14336936, /* T6.PLEN */ - +0.06442206, +0.25788487, -0.21644272, +0.02128848, +0.02766657, -0.05476021, +0.04027996, +0.04997070, +0.05346753, +0.07038575, +0.01516324, -0.04652849, +0.01568932, +0.01075913, +0.00454546, +0.08366936, -0.14529459, +0.02086401, +0.00303807, +0.00453714, +0.01507791, +0.05445428, +0.05299296, +0.02541266, +0.12399173, +0.01451491, -0.07289803, +0.09592040, -0.02457190, +0.07306650, -0.29701602, +0.07614419, -0.07090918, -0.17500468, +0.54419988, +0.01417787, -0.17840345, +0.03710002, +0.12782634, +0.09006602, -0.37175357, +0.00861346, +0.01810737, +0.01218683, -0.05673632, +0.05526191, +0.08849148, +0.08076566, -0.05099105, +0.13184022, +0.37462894, +0.10956958, -0.11993983, -0.12383077, -0.22458583, -0.08923479, +0.02500793, -0.01427377, +0.01844316, -0.75262210, +0.02109390, +0.02321628, -0.01794896, +0.08139063, -0.00938837, +0.05364791, +0.19949078, +0.10910436, +0.09582373, -0.30475752, -0.14076648, +0.46680033, +0.55100792, +0.05678217, -0.29695550, +0.28001791, -0.00874231, +0.01452806, +0.04327564, +0.07294902, +0.02704026, +0.08036944, -0.00453998, -0.26407990, +0.02086451, +0.04827672, +0.26744704, -0.03358692, +0.06027819, +0.02627804, +0.11809655, +0.05239954, + -0.03562139, +0.11882966, -0.35586973, +0.00515125, +0.02741083, +0.01806695, +0.01594273, +0.04094400, +0.04514473, +0.08484500, -0.01725696, +0.11262571, -0.00552302, -0.04289663, -0.01500177, +0.12121261, -0.08540401, -0.01048603, -0.00881089, -0.06939143, -0.00565010, +0.03284959, +0.03231569, -0.05354222, +0.10742318, -0.05910764, -0.08911564, +0.10247307, -0.10420218, +0.09136404, -0.31102929, +0.06646227, -0.00319018, -0.17178602, +0.55272757, +0.04818703, -0.19568141, -0.00946118, +0.14431201, -0.05195652, -0.25629579, -0.03232687, +0.03144665, -0.01264997, -0.04038913, -0.03101003, +0.08414631, +0.06732974, -0.06466591, +0.12047937, +0.46931837, +0.08313531, +0.02106943, -0.09707452, -0.08651685, -0.21678223, -0.15616282, +0.00696093, +0.00392167, -0.02691177, -0.82005980, +0.01814112, +0.00140768, -0.08291740, +0.09452481, -0.05324772, +0.06107338, +0.27939117, +0.13508218, +0.09590009, -0.28869018, -0.25865981, +0.55003151, +0.59728044, +0.10151549, -0.29710937, +0.05148375, +0.23963029, -0.03444211, -0.00299658, -0.21316595, +0.03737565, +0.00475638, +0.06864945, -0.02136936, -0.28767146, -0.00498741, +0.00364807, +0.26878096, +0.05884929, +0.07140698, +0.01886708, +0.06028350, -0.19541396, +0.02948568, -0.04930503, +0.37542438, +0.03141049, +0.21250452, -0.00791125, -0.14499002, /* T6.TC */ - +0.05876404, +0.25682987, -0.21875333, +0.02982676, +0.02703777, -0.06229616, +0.04101986, +0.04933328, +0.03954414, -0.13476379, +0.00966578, -0.04793261, +0.01109567, +0.20594618, +0.56514679, +0.55411533, -0.14599551, +0.00607420, +0.01007823, +0.01331763, -0.01964911, +0.06367204, +0.05621105, +0.01323988, +0.14664072, +0.21806352, -0.13209886, +0.09141137, -0.17596204, +0.06188489, -0.29790571, +0.06931516, -0.07318250, -0.17646710, +0.42100431, -0.65222938, -0.18045096, +0.04264861, +0.11574467, +0.08989242, -1.39655197, +0.00567722, -0.18114682, +0.00470664, -0.06996577, +0.04831433, +0.08404240, +0.03381666, -0.05525623, +0.11613207, +0.53757547, +0.03917131, -0.12210301, -0.15801171, -0.22692270, -0.01452219, +0.00903475, -0.03057298, -0.01315945, -0.74921877, +0.02309165, -0.01975124, -0.01239850, +0.08152081, +0.00530261, -0.07091427, +0.01450112, -0.01604256, +0.09451627, -0.30665822, -0.13732085, +0.04289071, +0.27168476, +0.05480809, -0.29853978, +0.29911894, +0.01072810, -0.03234726, +0.04263039, +1.07493259, +0.02587581, +0.05865710, +0.01373438, -0.10446709, +0.01084681, +0.04047969, +0.29278596, -0.03459591, +0.05648138, +0.04386159, +0.34279531, +0.05347080, + -0.08419535, +0.17082807, -0.35597216, +0.01581546, +0.02643986, +0.01154638, +0.02974328, +0.04367592, +0.02810236, -0.06535911, -0.02817183, +0.11503952, -0.01153451, +0.25704015, +0.55936235, +0.54263360, -0.07895794, -0.02502759, -0.00224982, -0.04014636, -0.03860660, +0.06931586, +0.05520314, -0.11275624, +0.16733875, +0.14079804, -0.14671495, +0.10027294, -0.24122089, +0.08470000, -0.30984470, +0.05271668, -0.00939356, -0.17294384, +0.41522306, -0.68222562, -0.19142144, +0.02359407, +0.12014685, -0.01377684, -1.74226010, -0.02997824, -0.17477861, -0.00702757, -0.05391655, -0.00573394, +0.08284246, -0.00577925, -0.06567177, +0.10011958, +0.58454350, -0.07733058, -0.02088467, -0.09761145, -0.12056945, -0.21262225, -0.03829484, -0.01753224, -0.00261570, -0.08368137, -0.79591627, +0.06518182, -0.05246528, -0.05731914, +0.08122567, -0.03588826, -0.07641011, -0.01485430, -0.03961412, +0.09929673, -0.27852647, -0.24862343, +0.01879481, +0.31222263, +0.10043543, -0.28648819, -0.08089879, +0.26854862, +0.00317398, -0.05424632, -0.20284701, +1.45244356, +0.02307174, +0.03363933, +0.03633791, -0.03946904, -0.02511684, -0.00665432, +0.28385898, +0.07050012, +0.07648499, +0.02975804, +0.45102802, -0.18731656, +0.03863072, -0.01863381, +0.42826150, +0.02840653, +0.23001770, -0.02724794, -0.15948814, /* T6.HLIM */ - +1.74406792, -1.14392848, -0.27585943, +0.03060696, +0.01121655, -0.06077904, -0.19246467, +0.02211122, -0.07027047, -0.92441381, +0.00592739, -0.05913494, +0.00889187, -0.01190381, -0.03108891, +0.05940753, -0.15252130, +0.00838387, +0.00268626, -0.03185878, -0.01143151, +0.03630682, +0.01803929, -0.07437572, +0.14159855, -0.00498697, -0.07690618, +0.08734652, -0.02927872, +0.05368939, -0.29795426, -0.22383433, -0.10594844, -0.18734085, -0.74720971, +0.10885503, -0.23038121, -0.04318984, -0.75317915, -0.01712849, +0.36445745, -0.00832753, -0.02031025, -0.01056040, -0.06114047, +0.05143134, -0.17204338, +0.70366661, -0.11047834, -0.26192094, +0.78792001, -0.03699276, -0.15318359, -0.13041472, -0.22993904, -0.00119134, +0.01755252, -0.31708121, +0.29771867, -0.78424243, +0.01028695, -0.02297684, -0.01497609, +0.04924482, +0.00146271, +0.03708915, +0.00720849, +0.07798862, +0.04526719, -0.29491348, -0.15024273, +0.43974727, +0.11297005, -0.02634935, -0.39900613, +0.25170926, +0.00804090, -0.00911645, -0.00250867, +0.02442122, +0.03372314, +0.07003806, +0.00820953, -0.41594266, -0.01656668, +0.17492750, -0.25315215, -0.03959183, -0.29730131, +0.52990802, -0.25464767, -0.01520948, + +1.80593880, -1.36270634, -0.51281371, +0.03019025, +0.01774565, +0.00561308, -0.14687719, +0.01535590, -0.06300819, -0.94400528, -0.02865283, +0.08458773, -0.04729858, -0.06748218, -0.02974714, +0.03832873, -0.07111108, -0.02312997, -0.00017704, -0.11297725, -0.03690914, -0.00590204, -0.02009458, -0.07729200, +0.16111129, -0.09810222, -0.08190388, +0.11741083, -0.16499642, +0.06866563, -0.31493332, -0.09465995, -0.31959577, -0.15442194, -0.87509464, +0.17460751, -0.26840236, -0.06540521, -0.62833781, -0.02151994, +0.45106933, -0.06105945, -0.03507421, -0.10660876, -0.04506443, -0.05626667, -0.18919309, +0.65003707, -0.10568181, -0.22174588, +0.75539538, -0.20765846, -0.09754763, -0.14147744, -0.08521661, -0.19578123, -0.03963027, +0.00021847, -0.35744054, +0.18127462, -0.79953821, +0.01787071, -0.05923778, -0.05116920, +0.05824491, -0.07283306, +0.05372985, -0.01182837, +0.04468976, +0.02783866, -0.15635303, -0.23646537, +0.42321100, -0.01634326, +0.04878766, -0.36181960, -0.01111272, +0.20669680, -0.01488853, -0.04388906, -0.28899949, -0.01679335, +0.01290128, -0.01788493, +0.00781620, -0.01088703, -0.11912296, +0.02609503, -0.24948821, +0.09443215, -0.29461486, +0.49991233, -0.44895435, -0.18329678, -0.04280886, -0.04805044, +0.33355734, +0.17061604, +0.10374813, -0.06087664, -0.14398597, /* T7.PLEN */ - +0.11293390, +0.81386319, -0.17800804, +0.16083369, -0.16007153, -0.03866045, +0.08961366, +0.07233873, +0.15867237, +0.19868244, +0.03772724, -0.03092957, +0.03819321, +0.02073016, +0.01022709, -0.35752822, -0.09384677, +0.04930176, +0.02997030, +0.06972744, +0.03278245, -0.17878025, -0.22156719, +0.04863912, -0.27703244, +0.10613701, +0.23714159, +0.14847861, +0.14989961, +0.17764714, +0.29211223, +0.11326343, -0.03051623, -0.09305616, +1.50311485, +0.02138147, -0.13871862, +0.11881943, +0.16931533, +0.22476502, +0.44484975, +0.01653213, +0.02944403, +0.02893182, -0.04593666, +0.08870462, +0.50066895, +0.31050543, +0.09311076, +0.53488861, -1.04414351, +0.34335651, -0.11153657, -0.11381405, -0.22133698, -0.03073645, +0.09214742, +0.00535924, +0.02891356, -0.18747526, +0.03608337, +0.03367622, -0.21816931, +0.11912653, +0.00569901, +0.07593200, +0.12834394, +0.11877657, -0.24539206, -0.13595376, -0.15040450, -0.14178030, -0.97568623, +0.27372629, +0.37706013, +0.11317562, +0.00636331, +0.07499802, +0.12726970, +0.09662638, +0.03961035, -0.25926999, +0.03942025, +0.16605321, +0.11259873, +0.07083314, -0.63065984, -0.01440231, +0.40844916, -0.37280809, -0.40109695, +0.09244969, + +0.01654420, +0.99322094, -0.51276428, +0.14261082, -0.11569718, +0.04933788, +0.07059594, +0.04841645, +0.14255404, +0.16625888, +0.02924601, +0.08354300, +0.05640856, -0.01622315, -0.01633294, -0.37940608, -0.06249692, +0.05085456, +0.02626812, +0.09383477, +0.02101897, -0.15638654, -0.19659220, +0.00862094, -0.29247757, +0.10174494, +0.25775997, +0.15492172, +0.18450625, +0.14707927, +0.31378725, +0.04443350, -0.13262617, +0.03253285, +1.70186473, -0.00935825, -0.12560749, +0.09549960, +0.04745734, +0.11061655, +0.48903726, -0.04407394, +0.02118884, +0.05559323, -0.02118343, +0.10307295, +0.46122527, +0.31583073, +0.07694688, +0.52849887, -1.17781852, +0.15230214, +0.41023233, -0.08858092, -0.07936612, -0.24180097, -0.09419275, +0.12119465, +0.02819064, -0.03016918, -0.14083087, +0.07013217, +0.01818844, -0.17200198, +0.15046566, -0.05578631, +0.09071596, +0.15778060, +0.12276113, -0.21846382, +0.00684186, -0.08292407, -0.13028898, -0.97510776, +0.29427564, +0.36564050, +0.18967692, +0.16111308, -0.03439714, +0.07509985, +0.59547986, +0.01150647, -0.02067261, -0.24733458, +0.02813438, +0.17529616, +0.14735709, +0.03535126, -0.67017270, +0.03653218, +0.42544534, -0.36044499, -0.50691350, -0.07420739, +0.12611772, -0.03771290, +0.04326932, -0.07014299, -0.19541115, -0.00662064, -0.13579398, /* T7.TC */ - +0.10690123, +0.80656044, -0.15323280, +0.16227637, -0.16089411, -0.04499359, +0.09223332, +0.07129925, +0.15274455, -0.00640431, +0.03216510, -0.03204684, +0.03218619, +0.21615915, +0.57201198, -0.35553826, -0.09506372, +0.03369128, +0.03272169, +0.06562260, -0.00212032, -0.17923750, -0.22355531, +0.03624890, -0.26768416, +0.39476014, +0.46724267, +0.14555687, -0.00332462, +0.16468625, +0.28930731, +0.10538299, -0.03214105, -0.09392341, +0.30899987, -0.64437961, -0.14085565, +0.11957193, +0.15571086, +0.22393025, -0.57972384, +0.01340230, -0.16542729, +0.02124251, -0.05656819, +0.08306309, +0.50135118, +0.26771830, +0.09362692, +0.53689678, -0.79004987, +0.34216862, -0.11373190, -0.14386834, -0.15030343, -0.00631191, +0.07540859, -0.00959342, -0.00237118, -0.18812645, +0.03630605, -0.00766506, -0.21559984, +0.11817320, +0.01238376, -0.03743996, +0.03776960, -0.00233527, -0.24449734, -0.13529480, -0.15164940, -0.14696543, -0.45730111, +0.27347022, +0.37714799, +0.11175544, +0.01554831, +0.02320008, +0.12621649, +1.09879094, +0.03832248, -0.26597126, +0.04781024, +0.16070691, +0.10343757, +0.06144285, -0.62078669, -0.01537416, +0.40697784, -0.37377949, -0.38424047, +0.09244285, + -0.02635852, +1.03626706, -0.29166380, +0.14153700, -0.11419865, +0.04431818, +0.08299736, +0.04884795, +0.13678195, +0.01447847, +0.01896664, +0.08552204, +0.04831792, +0.25380366, +0.55300443, -0.38995654, -0.06081969, +0.03171756, +0.03137285, +0.08897488, -0.01115532, -0.15142635, -0.19241210, -0.05692623, -0.27261946, +0.36667814, +0.42247239, +0.15362539, +0.00328351, +0.14040464, +0.30980610, +0.03547732, -0.09637918, +0.03272936, +0.39013547, -0.72178577, -0.12508600, +0.10255030, +0.03217343, +0.13403040, -0.95177428, -0.04240556, -0.16562582, +0.05690205, -0.03287563, +0.15168408, +0.46437304, +0.24948734, +0.08060024, +0.53684188, -0.85634805, +0.16144076, +0.33160251, -0.08962594, -0.10860353, -0.14254639, -0.05433664, +0.09634068, +0.02213973, -0.08508601, -0.13734342, +0.10034077, -0.03104184, -0.15962090, +0.13346996, -0.04917572, -0.03150906, +0.01973186, -0.03886919, -0.20664655, +0.01834059, -0.07967820, -0.13402880, -0.44622303, +0.29430654, +0.37500160, +0.05094137, +0.15850528, -0.01870667, +0.01770884, +0.59974157, +1.36164884, -0.00993380, -0.25435184, +0.06651258, +0.16297387, +0.13158031, +0.02421798, -0.65319591, +0.04278996, +0.43093845, -0.36061885, -0.49134726, -0.07343439, +0.13507871, -0.01755417, +0.09873338, -0.07591393, -0.18816101, -0.03469155, -0.15021397, /* T7.HLIM */ - +1.79628228, -0.58659923, -0.20249761, +0.16335561, -0.17568917, -0.04400878, -0.14396712, +0.04470207, +0.04313755, -0.79599278, +0.02863517, -0.04220743, +0.03009655, -0.00182668, -0.02603354, -0.37883180, -0.09986543, +0.03742881, +0.02560849, +0.03177247, +0.00594489, -0.18719761, -0.25373925, -0.05043182, -0.27027998, +0.08706793, +0.23380235, +0.13978751, +0.14590728, +0.15670264, +0.28942106, -0.18584242, -0.06328839, -0.10260590, +0.48107825, +0.11479662, -0.18238730, +0.03453538, -0.70992573, +0.11819025, +1.18117520, -0.00027711, -0.00872922, +0.00639533, -0.05007601, +0.08760657, +0.25085921, +1.08109299, +0.05313440, +0.14986313, -0.94320606, +0.29263017, -0.14451507, -0.12017374, -0.15048112, +0.00706415, +0.08418825, -0.29164232, +0.31011671, -0.21522545, +0.02372423, -0.01165038, -0.21767697, +0.08623691, +0.00870678, +0.05946410, +0.03068559, +0.08780078, -0.29269311, -0.10564911, -0.15463485, -0.15744612, +0.63584285, +0.23413222, +0.51329739, +0.09532404, +0.01291039, +0.05196541, +0.08154996, +0.04835694, +0.04676473, -0.26708993, +0.04248286, +0.01594943, +0.07541572, +0.19810564, -0.54686876, -0.01954760, +0.06004943, -0.65969885, -0.38027040, +0.02411312, + +1.75647728, -0.49262849, -0.44389178, +0.15334400, -0.11776275, +0.05759583, -0.10104058, +0.02367697, +0.03733354, -0.82215170, +0.01860341, +0.05148539, +0.04451028, -0.04301074, -0.03510966, -0.41759889, -0.05798538, +0.03692147, +0.02763938, +0.03837670, -0.01159525, -0.15481762, -0.21696111, -0.02881820, -0.26432118, +0.05946726, +0.27175480, +0.16659384, +0.10034851, +0.12434737, +0.29886608, -0.11756213, -0.39694371, +0.04675011, +0.61578495, +0.10438326, -0.18925633, +0.01707891, -0.66816510, +0.11368742, +1.00236130, -0.07379884, -0.04342130, -0.03941948, -0.02220837, +0.06735873, +0.18667953, +0.92516449, +0.04192274, +0.19611003, -1.05116218, +0.06063187, +0.26110577, -0.13295459, -0.07979766, -0.12859774, -0.05761632, +0.11298753, -0.31485986, +0.17499412, -0.13742186, +0.05328181, -0.03559765, -0.14379318, +0.11203510, -0.09239415, +0.08522579, +0.01448206, +0.03700605, -0.25581594, +0.13415940, -0.07461652, -0.14915719, +0.07742345, +0.25793166, +0.60603624, +0.15207450, +0.17120497, -0.03880190, +0.03837612, +0.49309592, -0.02968496, -0.01840296, -0.25096610, +0.03718338, +0.25940004, +0.03875867, +0.04680711, -0.51756546, +0.06245770, +0.04663242, -0.65519268, -0.45070005, -0.05744963, +0.05384285, -0.06390923, +0.06185478, -0.07539455, -0.22915280, -0.07409949, -0.13726464, /* TCP_ISR */ - +1.44882005, -2.75616291, -0.59806257, +0.29332578, -0.05652177, +0.12196519, +0.70961249, -0.46636961, +0.37810721, -0.05097613, +0.11327715, -0.08897848, -0.02282689, -0.09038547, -0.17733680, +0.11946716, -0.26356919, +0.05702998, +0.10964934, -0.10783654, -0.07044890, -0.12459465, -0.07879756, +0.03117105, +0.24114654, +0.12032899, -0.03392430, +0.41452405, -1.16634919, -3.46917425, +4.15775347, +0.65078836, +0.58115291, +0.02712711, -2.11542464, +0.14450382, +0.03984736, +0.75376844, -0.69479921, -0.39009379, -0.08102008, +0.11464077, +0.11588800, -0.05985521, +0.02605058, +0.09493241, +1.19907080, +0.97519746, +0.04849545, -0.77225854, +0.37075126, +0.17669030, +0.02888481, +0.04990167, +0.64480008, -0.66407016, +0.04148841, +0.02173242, -0.01712370, +0.52921286, +0.15381416, +0.03297043, -0.04678421, +0.86331657, +0.64440269, -0.03459221, -0.05314446, -0.00570290, -0.06314681, +0.55589987, +0.58899168, +0.11104733, +2.92399960, -0.03124614, -0.54975656, -0.36452475, -0.36589526, -0.13643895, -0.35350773, -0.03699348, -0.04234052, +0.03044683, +0.16684671, +0.14252693, -0.16014716, +0.03135046, +0.20838496, +0.17920814, +2.01860905, -0.03110272, +0.02225606, -0.41023301, + +2.20440070, -2.96548133, -2.88913022, +0.33957063, -0.05216515, +0.16565924, +0.89752078, -0.74792095, +0.39694085, -0.07028807, +0.21256842, -0.09483182, -0.05995608, -0.11751764, -0.20192438, +0.23150908, -0.34988786, +0.09447921, +0.15495542, -0.18484809, -0.10324730, -0.22757560, -0.13906204, +0.11358074, +0.36898601, +0.16994107, -0.09756518, +2.17127003, -1.63869321, -3.23910165, +4.25672750, +1.18452551, +1.42860211, +0.02097707, -2.62224661, +0.27087895, +0.06608997, +0.96696427, -1.54034870, -0.91191589, -0.08193475, +0.14565553, +0.18824661, +0.01464246, +0.05495818, +0.42590044, +1.43673193, +1.22191098, +0.04123051, -0.82002575, +0.87587720, +1.91043904, -4.38025264, +0.03501666, +0.22606205, +0.96188968, -1.01602967, +0.04830359, +0.03388092, -0.03708909, +0.71809734, +0.49194606, +0.03853215, -0.08009465, +1.23416067, +1.00993566, -0.03720099, -0.08069813, -0.06120488, -0.07383845, +3.39585275, +0.77172900, +0.12718905, +1.66575570, -0.35330391, -1.35120037, +0.73492420, -0.63536940, -0.59732464, -0.24825928, -1.76634653, -0.00301800, -0.10581727, +0.01078690, +0.34885554, +2.01163310, -0.27459796, +0.10081476, +0.26309503, +0.33010035, +2.29852608, -0.04816771, -0.04721387, +0.37457059, -0.43180179, -3.12619278, -2.17343576, +0.00376845, +0.34331530, -0.34562430, -0.37255902, /* S1.TCP_WINDOW */ - -0.79796397, +1.84591971, -0.61469695, +0.35883714, +0.56871483, +0.33838699, -0.62903758, +0.09498367, -0.66519803, -0.05650056, -0.45554030, -0.94087028, -0.04557149, -0.09063880, -0.11657132, -0.15012379, +0.28854257, -0.09718162, +0.25811019, -0.23155162, -0.07033244, +0.10408347, +0.25727289, -0.20071319, -0.07547182, -0.02180905, -0.27221304, +0.60481894, +0.39149940, -2.33266911, +1.25379340, -0.40493102, -0.64083680, -0.95287163, -2.57504831, +0.04978364, -0.28315239, +0.38356676, -2.18970851, +1.75077413, -0.09484505, +0.10867569, -0.07103006, +0.38688401, +0.21586934, -0.05723715, +0.09779113, -2.27772498, +0.38584592, -2.26986332, -1.99391097, -0.14760413, -0.16226238, -0.09616217, -0.55767449, -1.07539541, -0.38680164, -0.35433400, -0.07327849, +0.24027127, -0.12581828, -0.09034287, -0.18448466, +0.06175647, +0.95965005, +0.57529259, -0.03353940, -0.08149535, -0.65306748, +0.45972308, +0.13852019, +0.12050756, -0.83245437, +1.08513117, +1.55995701, +0.20567101, +0.03022958, +0.16397723, +0.12598857, -0.04456622, -0.00628767, -0.12617112, +0.06591637, +0.72179524, -0.15768837, +0.39072271, +0.10555209, +0.59300425, -2.38422846, +0.40097547, +1.16637873, +0.26672678, + -0.74893004, +1.90846953, -2.04688684, +0.36587401, +0.55006539, +0.42971081, -0.60788186, +0.10528554, -0.68883491, +0.02925652, -0.53574691, -1.10520890, -0.07933342, -0.08403951, -0.11869341, -0.14926145, +0.15474520, -0.11900640, +0.23848583, -0.29131807, -0.05506954, +0.07529123, +0.24966008, -0.08298316, -0.08280187, -0.04200266, -0.38976703, +0.78666421, +0.41566580, -2.49875294, +1.24767500, -0.47485783, -1.31104744, -1.10806240, -2.46241208, +0.01217169, -0.28681918, +0.39312848, -4.21845632, +1.81060749, -0.03118797, +0.06899798, -0.09063197, +0.48011307, +0.23804616, -0.01582567, +0.33426113, -2.24461856, +0.34878718, -2.48446253, -2.40241492, -0.96724544, +0.36100293, -0.19540106, -0.05032158, -0.62033429, -1.20558304, -0.41895087, -0.36932284, -0.10151922, +0.09318149, -0.10788234, -0.11278720, -0.26976891, +0.02695395, +1.20364181, +0.63184967, +0.00032669, -0.09631086, -0.68510664, -0.27456554, +0.03248897, +0.07392577, -0.46217909, +1.07984568, +1.48628222, +0.74497013, +0.13688148, +0.05959457, +0.13307272, -0.05949212, +0.03719366, -0.02236516, -0.19781309, +0.03974226, +0.84348485, -0.18141398, +0.29843409, +0.11744016, +0.69920080, -2.40102538, +0.37462860, +1.47001514, +0.61947224, +0.30754057, +0.03398536, +0.15105276, +0.05715875, +0.32381892, -0.15336980, -0.15810593, /* S1.TCP_FLAG_F */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_S */ - -0.03564514, -0.12029289, +0.03208953, -0.03745390, -0.04314271, +0.05165685, +0.02461419, -0.03419214, +0.05782496, -0.09830858, +0.01522437, -0.01328100, +0.02392986, -0.15108583, +0.00268810, -0.01386468, -0.04642006, +0.01208306, -0.03722755, -0.00251222, +0.01095683, -0.01304030, -0.02025653, -0.02334417, -0.02504836, +0.06283613, +0.07691370, +0.01322930, -0.60887230, +0.16160786, -0.05462273, +0.02168338, -0.00764553, +0.05692247, +0.19287238, +0.06979303, -0.01300848, -0.05472432, +0.04593776, -0.07490069, -0.14258505, -0.03493566, +0.02067083, -0.00505798, +0.07679243, -0.01440903, +0.07791964, +0.10359488, -0.04852710, +0.03632462, -0.03012464, +0.06611877, -0.01627117, +0.02782431, +0.00670453, +0.05853192, +0.00280714, +0.07246222, -0.01763973, -0.08231716, -0.03749162, +0.01284965, -0.03252796, -0.06793437, -0.04192967, -0.02222549, -0.01227527, -0.00270444, -0.01414768, -0.07602093, -0.07913773, +0.00992537, -0.03248362, -0.07180562, -0.05762458, -0.05765684, -0.02962752, -0.01765321, -0.06716051, -0.07829134, -0.04447951, -0.02578076, -0.03703280, -0.01600170, -0.02460325, -0.02284443, -0.01230823, -0.04778214, +0.01428862, -0.05323581, -0.06000396, -0.04087322, + -0.02675822, -0.26337836, +0.04268977, -0.04557972, -0.04744472, +0.02747364, +0.02353453, -0.04848435, +0.05464185, -0.10106778, +0.00871572, +0.01816573, +0.00348655, -0.12049497, -0.01133936, -0.04675095, -0.05623833, -0.00922369, -0.04300239, -0.01754775, -0.00289916, -0.01996842, -0.03785093, -0.04387474, -0.02528637, +0.03363124, +0.03999982, +0.06441688, -0.30292629, +0.18971798, -0.07745304, +0.02467129, +0.01930345, +0.07826935, +0.22821921, +0.04404534, -0.00757166, -0.06297577, +0.16802580, -0.06465985, -0.06640174, -0.03924995, -0.00300867, +0.04283291, +0.05681827, -0.00597168, +0.08360224, +0.06974573, -0.05787707, +0.06422812, -0.01117864, +0.10739069, -0.03911509, -0.02657786, -0.00748448, +0.00159177, +0.05918920, +0.00861690, +0.07838942, -0.02887520, -0.20323498, -0.03929036, -0.00172179, -0.02994126, -0.07397667, -0.05330592, -0.04096808, -0.02219197, -0.04113528, -0.00345263, -0.04043847, -0.05677760, -0.01127699, -0.01842797, -0.08330729, -0.12798777, -0.06205631, -0.06866749, -0.03552194, -0.02517899, -0.09853057, -0.03349962, -0.04618295, -0.04375770, -0.04828865, +0.00591967, -0.03773265, -0.03392163, -0.00956512, -0.04863535, +0.02905948, -0.05863740, -0.08948750, -0.03458771, -0.05553409, -0.09138987, -0.14251742, -0.00691259, -0.05507067, +0.01030444, +0.01933626, /* S1.TCP_FLAG_R */ - +0.00374153, +0.00400234, +0.00337465, +0.00379636, +0.00355441, +0.25947458, +0.03568934, +0.00392278, +0.05992721, -0.03243124, +0.02795983, +0.01907666, +0.02212692, -0.06270060, +0.01641249, +0.01312527, +0.00655374, +0.02001283, +0.00315101, +0.01289085, +0.02289616, +0.00669585, +0.00523132, +0.00881031, +0.00937710, +0.05089687, -0.01671247, +0.01686616, -0.26353374, +0.10051837, +0.00569580, +0.03179862, +0.01046760, +0.04554125, +0.12932782, +0.04805871, +0.01726810, +0.00279521, +0.04331268, +0.00389849, -0.05918877, +0.00458968, +0.03428022, +0.01543475, +0.00389175, +0.00843591, +0.07171708, +0.08628899, +0.00615365, +0.06025007, +0.01551540, +0.07130442, +0.00281870, -0.03774138, +0.03410151, +0.03438301, +0.01637140, +0.04536143, +0.00974994, +0.00334276, +0.00306020, +0.02132060, +0.00391049, +0.00229887, +0.00186651, +0.01718397, +0.00332226, +0.01316254, +0.01047529, +0.00550519, +0.00451540, +0.02199360, +0.01310552, +0.00542090, +0.00441318, +0.00366381, +0.00135920, +0.01160515, +0.00455635, -0.02132440, +0.00388451, +0.00552468, +0.00278682, +0.01198400, +0.00685405, +0.00584525, +0.02765945, +0.00342807, +0.04381726, +0.00449785, +0.00679650, +0.00329108, + +0.03363545, -0.10877859, -0.02120482, -0.00074272, +0.00314704, +0.43006989, +0.03627944, -0.00252693, +0.06279825, -0.02832489, +0.05988622, +0.02062174, +0.03145621, -0.07970958, +0.01080254, +0.00967331, +0.02948704, +0.03193185, +0.00133279, +0.04199910, +0.03484037, +0.01682021, -0.00573498, +0.01368009, +0.02507982, +0.07335755, -0.08827935, +0.01074345, -0.33518148, +0.11516045, +0.00056609, +0.03733543, +0.11457010, +0.07761771, +0.19596117, +0.12128724, +0.05567651, -0.00203606, +0.27489848, +0.02115553, -0.05112740, +0.01203371, +0.05762495, +0.07201308, +0.01987038, +0.04594706, +0.15004975, +0.16106984, -0.00445042, +0.13346427, +0.04469233, +0.16488067, +0.02812718, -0.01201331, -0.08313256, +0.05856488, +0.05775971, +0.02392298, +0.05688830, +0.02606175, -0.14593953, -0.01392575, +0.03552982, +0.01434675, -0.00179606, +0.00110956, +0.01155890, +0.00541224, -0.01445411, +0.02603583, -0.07171918, -0.03385324, +0.02973723, +0.14317630, +0.00587990, -0.03250131, -0.00018888, +0.00907474, -0.00206128, +0.02170317, +0.03199706, +0.01400580, -0.00925037, -0.00362693, -0.00808357, +0.03008892, -0.00779694, +0.01519674, +0.03732113, -0.02439127, +0.05839048, +0.00202876, +0.00459656, -0.01136566, +0.00977014, -0.01815384, -0.06005661, +0.00560062, +0.00537560, +0.02621853, -0.02682339, /* S1.TCP_FLAG_P */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_A */ - -0.03606002, -0.12075543, -0.03978763, -0.03797076, -0.04435768, -0.07743537, +0.02358955, -0.03464235, +0.05347016, -0.10017009, +0.01390744, -0.01523007, +0.02259857, -0.15338205, +0.00235889, -0.01532635, -0.04815683, +0.01121452, -0.03753180, -0.00295904, +0.01014327, -0.01468163, -0.02205258, -0.02369331, -0.02578776, +0.06201645, +0.03564068, -0.03839842, -0.39818102, +0.16131907, -0.05501577, +0.02115424, -0.00845195, +0.03773958, +0.19008097, +0.06920916, -0.01394609, -0.05496233, +0.04538448, -0.07540873, -0.14803697, -0.03526614, +0.01999917, -0.00630939, +0.06789232, -0.01461462, +0.05670889, +0.10254717, -0.05066448, +0.03393381, -0.03931345, +0.06396573, -0.01866380, +0.02387599, +0.00282794, +0.05844487, +0.00205728, +0.04890980, -0.01877260, -0.08373927, -0.03903343, +0.00797425, -0.03336219, -0.06810422, -0.04208336, -0.02360580, -0.01256118, -0.00409548, -0.01485205, -0.09208382, -0.08018552, +0.00771442, -0.03554456, -0.07269339, -0.07881392, -0.05746393, -0.02971190, -0.01845746, -0.06798189, -0.07983379, -0.04483462, -0.03389820, -0.03737475, -0.01951185, -0.02549922, -0.02343001, -0.01416760, -0.05278240, +0.01392279, -0.05408571, -0.06292445, -0.04129477, + -0.02563664, -0.26329717, -0.03578531, -0.04542056, -0.05082841, -0.10277358, +0.02305503, -0.04784579, +0.04416805, -0.09496991, +0.00685903, +0.02383774, +0.00204931, -0.12776730, -0.01100774, -0.04559842, -0.05421984, -0.00898473, -0.04248068, -0.01639056, -0.00269099, -0.02151558, -0.03715271, -0.04184154, -0.02491270, +0.03459037, +0.00052856, -0.07854805, -0.24629612, +0.18983220, -0.07690197, +0.02550246, +0.02877135, +0.05369826, +0.25204725, +0.04815343, -0.00459963, -0.06156900, +0.16913162, -0.06389418, -0.07020323, -0.03873177, -0.00103088, +0.00393754, +0.04894148, -0.00601583, +0.00569923, +0.07235183, -0.05799791, +0.07006610, -0.01284108, +0.10665946, -0.02901705, -0.02833589, -0.00768976, -0.00012637, +0.05969071, +0.00821374, +0.06358901, -0.02305372, -0.20207124, -0.04362947, -0.00827059, -0.02950301, -0.07288057, -0.05255044, -0.04139165, -0.01674113, -0.04046130, -0.00237869, -0.06141932, -0.05729367, -0.01205442, -0.01824416, -0.08305040, -0.12978796, -0.06218664, -0.06800325, -0.03404849, -0.02576298, -0.08086323, -0.02779779, -0.04514325, -0.04939761, -0.04576153, -0.00689406, -0.03854745, -0.03344716, -0.00951015, -0.06283529, +0.03021472, -0.05848422, -0.09002123, -0.08270518, -0.05486749, -0.08990619, -0.14314098, -0.01622382, -0.05493898, +0.01266075, +0.01909021, /* S1.TCP_FLAG_U */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_E */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_C */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_RES8 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_RES9 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_RES10 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_FLAG_RES11 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S1.TCP_OPT_0 */ - -0.03436117, -0.34640701, +0.01213792, +0.00071276, +0.15212434, -0.11003955, +0.00853186, -0.01648933, +0.06159617, -0.05182587, +0.02343405, +0.01258949, +0.02430408, -0.09163320, +0.01201995, +0.00396636, -0.01212993, +0.01935967, -0.01728557, +0.00518701, +0.01548636, -0.13413968, +0.20688549, -0.00288746, +0.03721598, +0.05667847, +0.09393533, +0.02159245, -0.24941248, +0.12406468, +0.06795363, +0.01121042, -0.01312701, +0.04792787, +0.15154788, +0.05644278, +0.00782330, -0.06339047, +0.02737812, -0.10448966, -0.07605672, -0.00978319, +0.02976420, +0.00387193, +0.08574781, -0.00066434, +0.07431798, +0.09172137, -0.01261097, +0.05191001, -0.00046043, +0.06938337, +0.00230293, +0.07215016, +0.02695082, +0.04281575, +0.01244728, +0.05619789, -0.00020930, -0.03540530, -0.01097717, +0.01890758, -0.00313041, -0.02599872, -0.01334529, +0.00281415, -0.00226202, +0.01282201, +0.25105172, -0.02010746, -0.01642388, -0.11690822, +0.00016926, -0.02227117, -0.04774098, -0.00915498, -0.00913294, +0.00398218, -0.01746076, -0.03838292, -0.01307644, +0.00256240, -0.01078982, +0.05946328, -0.00340257, -0.00373167, -0.00283282, -0.01144272, +0.03393150, -0.01966797, +0.02525658, -0.02836975, + -0.14102027, -0.76942333, +0.03891927, -0.00234239, +0.19661648, -0.18137498, -0.01471396, -0.03207976, +0.06757309, -0.07598543, +0.02822501, +0.10244100, +0.02304139, -0.11509516, +0.00073455, -0.04837115, -0.04074227, +0.01682462, -0.03899931, -0.00114936, +0.00890258, -0.24910042, +0.24895972, -0.02615295, +0.06395546, +0.04845126, +0.13133073, +0.04937581, -0.29365905, +0.14076016, +0.07871276, +0.01749962, +0.06561274, +0.08432854, +0.19948843, +0.06711589, +0.01905915, -0.12835694, +0.29570398, -0.24903931, -0.06021931, -0.02858710, +0.00758321, +0.00881595, +0.09986376, +0.01610303, +0.06948241, +0.10099018, -0.06775876, +0.09055348, +0.00606986, +0.15636643, -0.00182404, -0.01482544, +0.06829492, +0.03760523, +0.05559339, +0.01760416, +0.06413770, -0.01058288, -0.22667499, -0.03644570, +0.00812095, -0.00009508, -0.04638619, -0.03483752, -0.02152022, -0.00824545, -0.01748618, +0.31877171, +0.06096173, -0.08358855, -0.19610746, +0.01338265, -0.03980112, -0.17659487, -0.02955301, -0.01439613, -0.03107120, -0.00871563, -0.09723745, -0.01323027, -0.04739447, -0.02526079, -0.01959927, +0.16517328, -0.02478464, -0.03064248, -0.02595729, -0.02882257, +0.04765741, -0.05331654, -0.08816712, -0.03985658, -0.06483663, -0.07054450, -0.10857857, +0.01319236, -0.03855437, +0.00756042, +0.07915177, /* S1.TCP_OPT_1 */ - +0.05431357, +0.46204546, +0.14456495, +0.00093371, +0.21813291, +0.25625181, +0.15779028, -0.05010055, +0.17625624, -0.01934527, +0.02683657, -0.08285802, +0.02924745, -0.02194245, -0.04430072, -0.09312898, -0.01868025, +0.02301929, -0.02116355, -0.04744868, +0.09174477, -0.02793578, +0.26144854, -0.01123787, +0.00160169, -0.07354493, -0.16984384, +0.02127136, -0.14233829, +0.09599400, +0.01132657, +0.16925884, +0.07441333, +0.12820768, +0.25944590, -0.13409026, -0.07091767, -0.10882762, +0.13958787, +0.13118553, -0.05116809, +0.03236307, -0.11097043, +0.01234161, -0.06790271, -0.01422309, +0.13748158, +0.23573564, +0.13136890, +0.13169606, +0.24876951, +0.22003609, +0.04714044, -0.10678780, +0.19599483, +0.02989501, +0.02050969, +0.14535370, +0.16526385, -0.11459224, -0.01350330, +0.14429168, -0.01242935, -0.04794275, -0.00265936, -0.10579447, -0.00738889, -0.12562864, +0.25310786, +0.43626439, -0.01108317, -0.00526287, +0.20833691, +0.10202165, +0.22440096, -0.12075014, +0.00004635, +0.05714424, -0.02118630, -0.01251055, -0.04503460, +0.02300884, -0.00793430, -0.03133958, +0.01629249, +0.01468707, +0.12413149, -0.04865433, +0.12690193, +0.04461407, +0.08331395, -0.15257248, + -0.04561793, +0.62787307, +0.23737960, +0.01244043, +0.27021837, +0.33613801, +0.15791761, -0.07662025, +0.18112234, +0.00039978, +0.09509556, -0.21056240, +0.05217397, -0.00622422, -0.01663164, -0.10660575, +0.04312803, +0.03749603, -0.04347939, -0.06874545, +0.11047749, -0.10723343, +0.28855800, +0.00048979, +0.03632662, -0.06289664, -0.18635135, +0.16631112, -0.07697940, +0.11196894, +0.07935999, +0.20264059, +0.00988170, +0.11890636, +0.20328079, -0.14163252, -0.14046127, -0.14695343, -0.03420319, +0.08196093, -0.07710703, +0.04206916, -0.11238423, -0.04285380, -0.06112506, -0.03961202, +0.12369607, +0.28959300, +0.20701593, +0.12401447, +0.33943781, +0.29633542, +0.24029858, +0.06704267, -0.09659806, +0.22679563, +0.07167704, +0.03331897, +0.12732937, +0.22687090, -0.34941893, -0.04231822, +0.14757103, -0.00713665, +0.01532818, +0.01712099, -0.07550944, +0.01676338, -0.11736413, +0.28261807, +0.29206701, -0.09675591, -0.00540683, +0.28452782, +0.09775126, +0.15891895, +0.23194316, -0.12799216, +0.03007002, +0.10164142, -0.16979540, -0.01390439, -0.17696750, +0.03866943, -0.03829510, +0.02844355, +0.04641227, +0.05598417, +0.10972907, -0.13076022, +0.10354061, +0.04205633, +0.03698147, +0.13799633, -0.25838591, -0.09325904, -0.10157405, +0.03512156, -0.19804889, +0.00360331, -0.06713320, /* S1.TCP_OPT_2 */ - +0.14762802, +1.55853546, +0.17959363, -0.00037109, -0.09701948, +0.25901966, +0.30432647, -0.07548895, +0.26309536, -0.03722508, +0.02264357, -0.16099408, +0.03109238, -0.03944845, -0.06695639, -0.12481524, -0.04683073, -0.05687926, -0.02268097, -0.21250630, +0.01120958, +0.27515082, -0.14116320, -0.02762027, -0.27911091, -0.11016445, -0.27768259, +0.04012998, -0.06398143, +0.13323453, -0.05684508, +0.33008983, +0.16120114, +0.17725862, +0.38627964, -0.18566508, -0.12952698, +0.01746716, +0.27568977, +0.41698703, -0.08865597, +0.02717355, -0.15750994, +0.01040264, -0.10915471, -0.04346843, +0.16155402, +0.34638365, +0.19729379, +0.17029726, +0.37746374, +0.33521328, +0.04392830, -0.16061165, +0.29349206, +0.08744091, +0.03028121, +0.18674880, +0.23364064, -0.18322260, -0.03170868, +0.15344246, -0.16215284, -0.09019280, -0.00808682, -0.15039408, -0.10755983, -0.17689707, -0.26565466, +0.68863352, -0.01047884, -0.05089643, +0.34088524, +0.16321492, +0.42034770, -0.21104704, +0.00167503, +0.05799542, -0.04517026, -0.03066095, -0.08975974, +0.00595254, -0.00679183, -0.02318346, +0.00257163, +0.00619001, +0.28893295, -0.10286924, +0.17431837, +0.10339418, +0.09250608, -0.21948736, + +0.10196951, +1.48056589, +0.12103126, -0.00806175, -0.11200926, +0.22640038, +0.32826436, -0.10604289, +0.23943303, +0.02053143, +0.08509880, -0.23252818, +0.04008181, -0.02106140, -0.02394190, -0.09304409, +0.03954411, -0.07069137, -0.01161805, -0.22470875, +0.01184095, +0.28566486, -0.17100815, +0.04639669, -0.30692128, -0.07121966, -0.25790292, +0.17227924, -0.12949515, +0.14818346, -0.05865786, +0.35807725, +0.01919583, +0.12662057, +0.32478278, -0.15744483, -0.17096151, +0.15349161, +0.03715432, +0.23807424, -0.08941333, +0.02264976, -0.12357500, -0.03193974, -0.08149510, -0.06707545, +0.03457064, +0.25196303, +0.14452740, +0.11335404, +0.30400577, +0.27851681, +0.28081829, +0.05174966, -0.13289009, +0.23126987, +0.16029652, +0.04743820, +0.15620626, +0.23045413, -0.39443214, -0.01794094, +0.12317566, -0.19014389, -0.02099977, +0.03317652, -0.08465626, -0.08371148, -0.14541106, -0.34405948, +0.28398792, -0.10355168, -0.04886891, +0.13162729, +0.13158430, +0.36303184, +0.33597696, -0.20844437, +0.05070097, +0.07383706, -0.19235802, -0.02936445, -0.20885331, +0.00654801, -0.05303870, +0.07889625, +0.00968786, +0.04544199, +0.31516763, -0.20230757, +0.10353926, +0.08255374, +0.17796844, +0.13945225, -0.27483423, -0.08696783, -0.03352753, +0.01646993, -0.25653662, +0.01343532, -0.08201032, /* S1.TCP_OPT_3 */ - -0.08332844, -1.33501319, -0.04263838, -0.14235227, -0.08185751, +0.01958732, -0.06300159, +0.14266851, +0.02332539, -0.02533413, -0.01124151, +0.36151572, +0.00906854, -0.01988089, -0.03994875, -0.07687812, +0.19678422, +0.27415855, -0.04353376, +0.42807490, +0.44149655, -0.00023556, -0.08582328, +0.16954810, +0.59589989, -0.06779626, -0.11129425, -0.22068619, -0.09284864, -0.01328997, -0.51374181, -0.00139978, -0.10601563, -0.03527471, +0.01259137, -0.08734368, +0.25625111, +0.23135543, -0.12280200, -0.31141457, -0.03777180, +0.02961592, -0.11085218, +0.01166563, -0.05994434, +0.37984461, +0.04894857, -0.01623457, -0.12788195, +0.00292805, -0.00725796, +0.09014438, +0.01678872, -0.09743898, -0.18888126, -0.15274349, -0.03666038, -0.20272174, -0.24115864, +0.28444174, -0.03270827, -0.18114755, +0.37900543, +0.15483485, -0.05196199, -0.12400599, +0.29010904, -0.06117089, -0.02546912, -0.58773229, -0.23023218, +0.24739085, -0.34992169, -0.16322501, -0.25419098, +0.32423242, -0.04238185, +0.02818584, -0.07578053, -0.00956601, +0.37430094, -0.00337659, -0.07971449, -0.31045600, +0.01763699, -0.13293255, -0.13987046, +0.22809944, -0.11988956, -0.08525018, -0.02449989, +0.37600601, + -0.07709549, -1.51220338, +0.14755666, -0.12067283, -0.08735064, +0.04394473, -0.03364713, +0.08633934, +0.01635511, -0.10935815, -0.00356084, +0.29262518, +0.01351513, +0.00682351, -0.02225443, -0.05755730, +0.13280543, +0.32923508, -0.06424658, +0.48431971, +0.48715142, -0.03077123, -0.12173422, +0.04361976, +0.59239499, -0.03965729, -0.07836623, -0.10615088, +0.31691308, +0.05731404, -0.47943193, +0.06630108, -0.33196258, -0.12753864, -0.08752831, -0.07641695, +0.18388818, +0.08720833, -0.21280566, -0.42885726, -0.05013701, +0.06105439, -0.08262584, +0.08945295, -0.04520933, +0.34365442, +0.19724574, -0.18472785, -0.18769592, +0.04200995, -0.03808700, +0.12182072, -0.26740754, +0.00136567, -0.06817971, -0.25961916, -0.16600001, -0.02777773, -0.19231224, -0.24832330, +0.06125398, -0.00234110, -0.17439567, +0.44044049, +0.13475638, -0.09236690, -0.12856439, +0.24310002, -0.04605181, -0.09209917, -1.03452898, -0.41723228, +0.25302733, -0.47332453, -0.17540894, -0.49908279, +0.05048460, +0.24657232, -0.07166401, +0.01904147, -0.10732011, -0.00431541, +0.38691396, -0.00657067, -0.09088740, -0.47756735, +0.03994773, -0.23170328, -0.16387588, +0.25280946, -0.08066715, -0.10154746, -0.01268236, -0.17597156, +0.31705398, +0.13108183, -0.67890908, +0.02695824, +0.29215662, +0.15756037, -0.05894146, /* S1.TCP_OPT_4 */ - +0.00837346, -0.82747480, +0.05932277, -0.01054394, -0.02044932, -0.03770365, +0.11411347, +0.11571813, +0.20371347, -0.02104129, -0.00238349, +0.30881996, +0.02373611, -0.02102767, -0.03785816, -0.07765888, +0.19598366, +0.03877381, -0.03144734, +0.03970200, -0.30814563, -0.02347429, -0.01945973, +0.18005075, -0.02108520, -0.06799303, -0.12039285, +0.06769894, +0.13934408, +0.09133739, +0.00656604, +0.32682496, -0.03966740, +0.03922760, +0.19396219, -0.08090224, +0.23062305, +0.75880183, +0.07686266, -0.17243171, -0.04194178, +0.02536809, -0.10289313, +0.00955832, -0.06102739, +0.35478304, +0.09873045, +0.13747028, -0.04051805, +0.05244028, +0.17381709, +0.32065384, +0.01062596, -0.10062299, -0.04273890, -0.01140144, +0.02083062, -0.23414867, -0.26627721, +0.23013407, -0.03264547, -0.18982354, -0.04329127, +0.12258247, -0.03176841, -0.12386245, +0.06868213, -0.06298444, +0.00324426, -0.20351555, -0.06603493, -0.02237170, -0.14727466, -0.04676841, -0.04418495, +0.29226014, -0.01360223, +0.03231972, -0.02638786, -0.01205463, +0.34412957, +0.00993718, -0.02907311, -0.07667822, +0.00787648, -0.12864664, +0.06933723, +0.20471976, -0.06068412, +0.00710363, -0.27577532, +0.29668736, + -0.03416704, -0.79490977, +0.21696750, +0.00800168, +0.02462779, -0.02792192, +0.12509093, +0.04625984, +0.22456531, -0.04780873, +0.03010602, +0.24983175, +0.04540696, +0.01032477, -0.01135436, -0.05412498, +0.17949836, +0.07983524, -0.03584999, +0.06644385, -0.32754800, -0.04415982, -0.01947885, +0.17631116, -0.02728969, -0.03349836, -0.08969818, +0.61785234, +1.02134164, +0.11182341, +0.00202574, +0.43613951, -0.09387108, +0.06390285, +0.22990459, -0.05184980, +0.19934614, +0.71660649, +0.33419162, -0.22450179, +0.02510035, +0.03476904, -0.06890310, +0.09317147, -0.04194453, +0.28872822, +0.19995876, +0.08588573, -0.05254115, +0.03646656, +0.23270856, +0.49932681, -0.12364605, -0.00114750, -0.07013831, -0.06702024, +0.09578365, +0.05607459, -0.22502391, -0.26696880, +0.04779858, +0.01609879, -0.18276636, -0.12446615, +0.10797571, -0.07019499, -0.12291323, +0.03585425, -0.03769519, -0.01600755, -0.46692778, -0.16098161, -0.03487473, -0.04352973, -0.05425213, -0.27426802, +0.17007625, +0.23900642, -0.00307163, +0.03692097, -0.14205581, -0.01701127, +0.32930516, +0.01401668, -0.05257610, -0.04931817, +0.02450499, -0.20796025, +0.08209065, +0.20480713, -0.05357342, +0.00475135, -0.45769313, -0.01916731, +0.26036780, +0.11179365, -0.26998080, +0.04066244, +0.25584283, +0.16973740, -0.05238594, /* S1.TCP_OPT_5 */ - -0.04398287, -0.19736902, -0.12829343, -0.04274349, -0.07774776, -0.19256987, -0.08641456, -0.04941659, -0.12914456, -0.00512124, +0.25675287, -0.09978912, +0.08951288, -0.00274198, -0.01947309, -0.01549058, -0.10911615, +0.00715082, +0.15886117, +0.33938193, -0.17640280, +0.04542642, -0.08081612, -0.11402192, -0.02482917, -0.06103778, -0.05676187, +0.52745410, +0.73518495, +0.14374013, -0.17506480, -0.09717423, -0.07477911, -0.04110437, -0.09918788, -0.06865424, -0.05818354, -0.12242194, -0.13066727, -0.25753978, +0.01622022, +0.19982135, -0.12539484, +0.24327769, -0.01571832, -0.19223482, -0.05187967, -0.09408664, -0.17507959, -0.06511331, -0.19795822, -0.15671210, +0.22177125, -0.08022965, -0.01153533, +0.32052434, +0.22005086, -0.02119599, -0.06773244, -0.09490681, +0.16979373, -0.12338032, -0.06051259, -0.07959156, +0.07909376, -0.06197310, -0.17998147, -0.03281258, -0.03402298, -0.15511788, +0.42106717, +0.15076544, -0.19446357, -0.18535114, -0.29565011, -0.14318581, +0.05502325, +0.29667299, +0.25474300, +0.01060899, -0.35525832, +0.31459727, +0.16037037, +0.30936538, +0.23538264, +0.36862072, -0.19813582, -0.09247516, +0.00048928, -0.11075365, +0.11166687, -0.10034306, + +0.06985298, -0.12826533, -0.11694082, -0.06590742, -0.04448419, -0.21978686, -0.04227496, -0.00988203, -0.09755629, -0.02739523, +0.21788124, +0.03221673, +0.04970564, -0.00043913, -0.01766343, -0.00498799, -0.08581824, -0.00349255, +0.11719736, +0.33334635, -0.17789781, +0.01350787, -0.05636061, -0.09298019, -0.06011350, -0.09919831, -0.04698033, +0.38297781, +0.43951888, +0.12453727, -0.21629957, -0.03519716, -0.01312102, +0.14226732, +0.24297434, -0.07081890, -0.00602347, -0.04168264, -0.06760604, -0.25972056, +0.10293845, +0.18364759, -0.14319821, +0.20287118, -0.01353755, -0.14912719, -0.06208427, +0.05755311, -0.17179037, -0.03200684, -0.19808870, -0.03374486, -0.16648623, +0.20485367, -0.08659826, +0.07598645, +0.26731793, +0.18526313, +0.00403495, -0.07217962, -0.17449193, +0.10454400, -0.12069441, -0.12082329, -0.08382024, +0.00353597, -0.06846767, -0.17478473, -0.04262757, +0.05756302, -0.22687534, +0.13181235, +0.08561566, -0.12696182, -0.19660891, -0.37810613, -0.07519203, -0.15764317, -0.03562879, +0.21975063, +0.08154959, +0.03382842, -0.28690952, +0.22828807, +0.07242439, +0.32146476, +0.17256900, +0.30691072, -0.15079189, -0.11920688, +0.08122156, -0.08598394, +0.07325998, -0.06522694, -0.11285207, -0.21760385, +0.39808317, +0.09459555, -0.17015842, -0.07968777, +0.01969347, /* S1.TCP_OPT_6 */ - +0.00630311, -0.06441795, -0.00948046, -0.02555597, -0.02887707, -0.07916080, -0.03284829, -0.00519572, -0.17057155, +0.00658284, -0.15517165, +0.00686081, +0.08194381, +0.01197722, +0.00558827, +0.02616915, -0.03718613, +0.36280637, +0.26043217, -0.08108286, -0.03240407, +0.08353047, -0.01661371, -0.01480913, +0.02237950, +0.00653693, -0.00652133, +0.10651780, +0.33504462, +0.09902240, -0.17556547, -0.06583867, -0.00611071, -0.00298387, -0.09723265, -0.02026730, -0.01405786, -0.08365519, +0.00484154, +0.02406304, +0.03064578, -0.01804023, +0.02684272, -0.08970847, +0.01519104, -0.03177306, +0.00069013, -0.06494857, -0.02096480, -0.01195091, -0.02337120, -0.18007252, -0.02214553, +0.03787526, +0.02865324, +0.21637775, +0.19131159, +0.00922260, +0.00453213, -0.00881018, +0.34137141, +0.00155038, +0.01335526, -0.02517845, +0.09651953, -0.00339862, -0.01658805, +0.01033154, +0.00326058, +0.04113801, +0.55845198, -0.09411450, -0.05403457, -0.04870727, -0.15264138, -0.04912572, +0.14012776, -0.14284388, +0.32584405, +0.02308670, +0.02033053, -0.10857706, -0.20526349, -0.13395642, -0.05638114, -0.06932691, -0.07479515, -0.00977835, +0.04154864, -0.01844328, -0.07412536, -0.02762757, + +0.11258202, -0.05997869, +0.07289290, -0.05214445, -0.02132911, -0.08877050, -0.02947455, +0.00277194, -0.18497251, -0.02650893, -0.13732063, +0.03000670, +0.08611630, +0.01283070, -0.00404254, +0.04405684, -0.04301691, +0.33543179, +0.23879023, -0.07689171, -0.04208861, +0.06559247, +0.01550990, -0.01373818, -0.04528538, +0.00866286, -0.01505085, -0.24836860, +0.01894312, +0.08645195, -0.19305832, -0.15020746, +0.04662507, -0.00186765, -0.18976766, -0.01637293, +0.01467277, -0.19212999, +0.11059380, +0.12360986, +0.14425418, +0.04131627, +0.06088308, -0.07559151, +0.02222700, +0.02628563, -0.02558737, -0.00771589, -0.00555011, -0.00439793, +0.00387081, -0.22508611, -0.09045044, -0.01220295, +0.06712789, +0.07390340, +0.23541172, +0.17014194, +0.01634001, +0.02113988, -0.05202256, +0.32114552, +0.00685994, -0.04789273, -0.04798978, +0.09322007, -0.01697822, -0.04969128, +0.01757008, +0.06351881, +0.15908454, +0.34920854, -0.08717602, -0.03276303, -0.05602865, -0.11338994, -0.05563892, -0.04567962, +0.12708632, -0.12795146, +0.35360995, +0.03583766, +0.09584395, -0.11073676, -0.22570676, -0.18325101, -0.04724389, -0.07070006, -0.06529335, -0.06568788, +0.14179976, +0.00735287, -0.10554389, -0.02649399, -0.02609707, +0.05112026, +0.52949700, -0.02602049, -0.00096937, -0.06712305, +0.03265227, /* S1.TCP_OPT_7 */ - +0.00362714, -0.12950878, -0.00751323, +0.28460654, -0.05526815, -0.04963536, -0.03462679, -0.01212332, -0.01782368, +0.00705335, -0.17263139, -0.01831114, +0.22674665, +0.01073609, -0.00184413, +0.02323718, -0.04431621, -0.15417700, -0.27574541, -0.09504979, -0.00409088, +0.30931250, -0.02619936, -0.02821433, +0.20595339, +0.01019804, -0.00024201, +0.27549144, +0.31887851, +0.31545248, +0.57324550, -0.00175691, -0.01115889, -0.02764488, -0.05167140, -0.03875490, -0.04546067, -0.00377515, +0.00036727, +0.02258852, +0.02320389, -0.02160746, +0.02594318, -0.08558801, +0.01469417, -0.04583873, +0.01243946, -0.05048381, -0.01141702, +0.00327544, -0.08194760, -0.05510665, -0.03069705, +0.03618338, +0.01985443, +0.37157813, -0.06222465, +0.01270475, +0.00685402, +0.00298012, -0.57002803, -0.00103204, +0.34853589, -0.03664104, +0.20049588, +0.00158169, +0.16866816, +0.00751242, -0.00250018, +0.02574426, +0.03911100, -0.09979194, -0.04118352, -0.03540930, -0.09621177, -0.05783782, +0.38230026, -0.10660376, +0.09144765, +0.02143450, +0.01671271, -0.10388537, +0.50947927, -0.10447081, -0.04798238, -0.06687698, -0.16611719, -0.00431735, +0.03787959, -0.05767300, -0.08389629, -0.03214011, + +0.10971441, -0.15046462, +0.03410254, +0.25040858, -0.11803465, -0.04463981, -0.01752898, -0.01427175, -0.02429870, -0.03505366, -0.15406271, -0.09336632, +0.20297011, +0.00713336, -0.02682947, +0.02692512, -0.04203897, -0.16107103, -0.31027085, -0.08792104, +0.01810642, +0.24857672, -0.01909879, -0.07946862, +0.15322529, +0.01566216, +0.00087117, +0.26287196, +0.09794246, +0.27920409, +0.52921058, +0.05891590, -0.10880673, -0.02932915, -0.12686205, -0.05163623, -0.05629307, +0.13394214, +0.05727011, +0.10355990, +0.00993045, +0.02789954, +0.06084137, -0.05911071, +0.02060783, -0.05745313, +0.02780973, -0.07897744, +0.00928690, +0.05004238, -0.07210767, -0.06355108, -0.01459036, -0.02581243, +0.06455217, +0.04307689, +0.35374808, -0.08351333, +0.02056934, +0.03018916, -0.01380341, -0.69944881, +0.00273841, +0.32195488, -0.05593739, +0.26837422, -0.00154505, +0.06775147, +0.00508301, +0.00634532, +0.01715564, -0.15232059, -0.09206005, -0.01600898, -0.02704213, -0.04306674, -0.03866049, -0.04634998, +0.36858606, -0.08742551, +0.20950009, +0.01211146, +0.08699148, -0.09500914, +0.43923448, -0.13187665, -0.02898755, -0.05441818, -0.18065466, +0.01277436, +0.03316681, -0.03473904, -0.06340886, -0.03561916, -0.01091905, +0.00316486, -0.27968566, -0.04025951, -0.02577275, -0.15299398, +0.01307289, /* S1.TCP_OPT_8 */ - +0.01020370, -0.05854893, -0.00483308, +0.33028265, -0.03555040, -0.04782876, -0.02616357, -0.00078998, -0.01121885, +0.00843589, -0.11709195, -0.01647973, +0.24155804, +0.01344852, +0.00604733, +0.02550355, -0.04150351, -0.14565243, +0.09040266, -0.06866928, +0.00101956, +0.12275184, -0.01620487, -0.02095122, +0.27322251, +0.01249745, +0.00178788, +0.30630251, +0.35140192, +0.33040553, +0.72538047, +0.00499932, -0.00441956, -0.02481576, -0.04545505, -0.01711780, -0.04281180, +0.00170869, +0.00718809, +0.03129816, +0.02422871, -0.00817916, +0.02836151, -0.06506140, +0.01640262, -0.03206673, +0.01606030, -0.04823785, -0.00828932, +0.00600798, -0.07806126, -0.05232664, -0.01656657, +0.03839141, +0.02184876, -0.06602759, +0.03045771, +0.01611966, +0.01174338, +0.00772097, -0.07519214, +0.00436126, +0.37814827, -0.01461770, +0.04244273, +0.00683371, +0.34052752, +0.01355670, +0.00240187, +0.02845572, +0.15649698, -0.08337182, -0.03748987, -0.03128798, -0.09278957, -0.05613778, -0.03958381, -0.09773791, +0.12120084, +0.02403323, +0.02073721, -0.09771620, +0.34746142, -0.09818608, -0.03914161, -0.04902465, -0.13472708, -0.00195547, +0.03936326, -0.03600087, -0.07409061, -0.02038552, + +0.14372050, -0.01483018, +0.02909260, +0.30834878, -0.06869695, -0.04732567, -0.01414141, +0.01678503, -0.01721097, -0.04422747, -0.10039291, -0.09736662, +0.22029324, +0.01597339, -0.01066259, +0.02825392, -0.04479635, -0.15652511, +0.09569833, -0.06522922, +0.02175110, +0.08907324, +0.00155316, -0.06444005, +0.22591158, +0.01710423, -0.00194179, +0.29631442, +0.17824936, +0.27541935, +0.69184335, +0.06226743, -0.08671572, -0.07389808, -0.13402402, -0.01771243, -0.05888254, +0.11579053, +0.04735790, +0.11244681, +0.01075315, +0.04594639, +0.06039256, -0.04698541, +0.02188683, -0.03997242, +0.02746015, -0.08099309, +0.00919889, +0.04906835, -0.07225787, -0.06812728, -0.02458866, -0.00898372, +0.06504778, +0.04008131, -0.13504213, +0.01884601, +0.02800591, +0.03577768, -0.01336783, -0.12308981, +0.00860212, +0.36110813, -0.02313000, +0.07963514, +0.00001260, +0.28547639, +0.02485819, +0.00807342, +0.00731170, +0.04251753, -0.07517070, -0.01509804, -0.02971125, -0.04701704, -0.02455985, -0.05256470, -0.09056845, -0.08107431, +0.23279695, +0.01808384, +0.08455854, -0.09223456, +0.26544283, -0.12609432, -0.02421440, -0.04298862, -0.15241208, +0.00391785, +0.03089817, -0.01473927, -0.06469141, -0.02886639, -0.00837215, -0.00123683, -0.12497097, -0.03725872, -0.04787187, -0.07091652, +0.01359301, /* S1.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_0 */ - -0.00942638, +0.18961345, +0.03846027, -0.00410133, -0.16575282, -0.12637438, +0.04963906, -0.02510422, +0.06925019, -0.09599370, +0.01818624, -0.00820040, +0.02856290, -0.14990344, +0.00376771, -0.00014537, -0.04025177, +0.01966134, -0.02483415, +0.01648368, +0.01787182, -0.38987758, -0.21768929, -0.02040317, +0.09483852, +0.06511585, +0.12602513, +0.02698145, -0.51804568, +0.17199207, +0.19305294, +0.04047609, +0.01165769, +0.06266015, +0.21195388, +0.07159629, -0.00797441, -0.00611771, +0.06423936, +0.00861895, -0.13515465, -0.03223003, +0.02317069, +0.00221222, +0.11253422, -0.01182964, +0.08404737, +0.10698972, -0.04330674, +0.03917989, -0.01465111, +0.07014964, -0.01073326, +0.08207898, +0.01072753, +0.06040789, +0.00519179, +0.07720172, -0.01491256, -0.06368863, -0.03369821, +0.01532821, -0.01488617, -0.06245946, -0.03994575, -0.01659955, -0.00947582, +0.00144960, -0.25954457, -0.06939117, -0.05676047, -0.37427350, -0.01749929, -0.06267719, -0.01943715, -0.03519847, -0.02887993, -0.00977834, -0.06023140, -0.07629318, -0.04219517, -0.01611192, -0.03395519, +0.15779038, -0.02227676, -0.01817583, +0.14454590, -0.04349434, +0.01636354, +0.03931526, +0.24230870, -0.02271907, + +0.00186414, +0.05057586, +0.04590277, +0.00193683, -0.07454704, -0.12611380, +0.06361788, -0.04343000, +0.07290386, -0.10574259, +0.01121058, +0.02470316, +0.01044877, -0.12115383, -0.01208744, -0.02540724, -0.05955142, +0.00159040, -0.00839990, +0.00312478, +0.00812122, -0.32170873, -0.17623572, -0.03927858, +0.11171164, +0.03280523, +0.08751786, +0.09718184, -0.20591542, +0.18322622, +0.14798866, +0.02799387, +0.00398999, +0.07441957, +0.24510693, +0.03412307, -0.00425167, -0.01647718, +0.15894523, -0.01293004, -0.07063205, -0.03909838, -0.00476706, +0.07082270, +0.08214053, -0.03873572, +0.06293950, +0.06523586, -0.05720101, +0.05835088, -0.00672359, +0.09587912, -0.04582602, -0.02160266, +0.04901555, +0.00393548, +0.05671752, +0.00841653, +0.08013410, -0.02955550, -0.19532297, -0.04014881, -0.00058637, -0.01518421, -0.07719210, -0.04911974, -0.03194810, -0.02179590, -0.03906694, -0.25640075, -0.00536162, -0.04801560, -0.33849013, -0.01485975, -0.07806646, -0.06535943, -0.00257248, -0.04436795, -0.03567720, -0.01602478, -0.11080276, -0.04648440, -0.04872246, -0.03663200, -0.04442469, +0.19029333, -0.03728470, -0.03317338, +0.16829536, -0.04739210, +0.02591458, +0.03627641, +0.28165312, +0.00636749, -0.04195957, -0.07070626, -0.13781477, +0.00966825, -0.02768899, +0.01086481, +0.04893766, /* S1.TCP_OPTLEN_1 */ - -0.00203543, -0.19205517, +0.04627266, +0.01067884, +0.24501840, +0.18862626, +0.05839525, -0.01543168, +0.10589880, -0.01519493, +0.04097609, +0.00115109, +0.03890171, -0.01722034, -0.03767734, -0.07799394, +0.01436980, +0.04107716, -0.00854265, +0.00167053, +0.12784279, -0.00671169, +0.31116608, +0.01455285, +0.01042743, -0.06395362, -0.14534858, +0.03184096, -0.01226512, +0.10233854, +0.01761960, +0.06590495, +0.01273796, +0.06907364, +0.16863451, -0.11832241, -0.00207768, -0.06779063, +0.05548552, -0.04962123, -0.03608853, +0.04519042, -0.10036429, +0.02964752, -0.05789616, +0.02942340, +0.09290248, +0.13519468, +0.04799539, +0.08653273, +0.13944360, +0.12340125, +0.06324564, -0.09554150, +0.08200332, +0.03525058, +0.02995149, +0.09757029, +0.11112741, -0.03613418, +0.00289965, +0.18579907, +0.00218764, -0.00943667, +0.00152466, -0.09520229, +0.00291279, -0.11601101, +0.35313694, +0.12339416, +0.00317236, +0.01879298, +0.06803146, +0.03110316, +0.02956997, -0.02497956, +0.00254973, +0.06826055, +0.00096222, -0.00662279, -0.00481544, +0.04422530, +0.00129053, +0.02487909, +0.03442840, +0.03333879, +0.00838038, -0.00319408, +0.06740537, -0.00692706, -0.01223306, -0.05288018, + -0.15016771, -0.30460237, +0.11181822, +0.02538996, +0.33115301, +0.26693382, +0.05013443, -0.03674331, +0.11444807, -0.02300713, +0.12905622, -0.00362416, +0.07281200, -0.00386020, -0.01702393, -0.09580164, +0.04305921, +0.08894233, -0.04194201, +0.00621955, +0.18983395, -0.07797776, +0.43405939, +0.01405013, +0.03338749, -0.06353210, -0.16396882, +0.12101725, +0.08407114, +0.11426189, +0.07315446, +0.09718680, +0.00428836, +0.08367997, +0.16671295, -0.14095253, -0.02558937, -0.12271987, -0.02938572, -0.28465478, -0.03305633, +0.07493495, -0.10870135, -0.01738965, -0.05631028, +0.02695901, +0.08199266, +0.20226991, +0.09631185, +0.10400827, +0.23542760, +0.22729170, +0.10719663, +0.09677279, -0.08897179, +0.09669409, +0.06702280, +0.03974146, +0.08484286, +0.17921376, -0.25243310, -0.01503857, +0.21004099, -0.00656350, +0.04693234, -0.00937449, -0.08307911, +0.01266966, -0.12432610, +0.46699694, -0.05368334, -0.05593939, +0.01426392, +0.21632773, +0.02532258, -0.12696436, +0.14268877, -0.03328637, +0.00590404, +0.11641713, -0.09710600, -0.00013426, -0.08271216, +0.07058344, -0.02340210, +0.13173038, +0.07706446, +0.08540300, -0.02548668, -0.06426801, +0.06347839, -0.02202345, -0.19622909, +0.01123014, -0.12167670, -0.08019392, -0.08923999, +0.05389606, -0.09998802, +0.02103124, -0.05334838, /* S1.TCP_OPTLEN_2 */ - +0.14918663, +1.57630066, +0.19488855, -0.01136403, -0.04483947, +0.25657643, +0.31112346, -0.08397453, +0.26880746, -0.03540594, +0.01745696, -0.17790783, +0.02583631, -0.03805042, -0.06470212, -0.12448588, -0.05464129, -0.04794359, -0.02831486, -0.19821610, +0.01415115, +0.28424141, -0.07394286, -0.03464209, -0.24676773, -0.10619937, -0.27283350, +0.01762809, -0.08985376, +0.12014405, -0.09925890, +0.33537713, +0.16620197, +0.18542339, +0.39076662, -0.18069489, -0.14487741, -0.02729258, +0.27877996, +0.42550999, -0.08766980, +0.02292506, -0.15168158, +0.00330869, -0.10608375, -0.05463259, +0.16829213, +0.36136550, +0.21486353, +0.17899507, +0.38914983, +0.34727693, +0.03750263, -0.15412059, +0.31630559, +0.07213165, +0.02378564, +0.19122696, +0.23964128, -0.20092666, -0.03475799, +0.13357807, -0.13842571, -0.09631351, -0.00878998, -0.14515409, -0.08983796, -0.16974570, -0.19099339, +0.75351713, -0.02135715, +0.03604715, +0.36407189, +0.17666356, +0.44909096, -0.23425331, +0.00021274, +0.05161764, -0.05026148, -0.02939554, -0.09617073, -0.00149937, -0.01122071, -0.08551402, -0.00201210, -0.00019456, +0.27504398, -0.11034817, +0.18719954, +0.09624023, +0.07104668, -0.24471758, + +0.09409853, +1.46582928, +0.13596181, -0.01933316, -0.06425308, +0.22671187, +0.32755564, -0.11322183, +0.24345151, +0.02752906, +0.08014120, -0.26266968, +0.03576517, -0.01975932, -0.02176619, -0.09843621, +0.04184226, -0.06175426, -0.02088742, -0.21169957, +0.01133449, +0.29139879, -0.10639864, +0.03342417, -0.27283651, -0.06696593, -0.25482070, +0.13087411, -0.19702152, +0.13928083, -0.09670063, +0.36387166, +0.02152310, +0.12504820, +0.30698773, -0.15046613, -0.19432754, +0.08728280, +0.02585308, +0.24586906, -0.10061509, +0.01827384, -0.11860750, -0.05358021, -0.07838591, -0.06059210, +0.04201507, +0.26305575, +0.16228198, +0.12128306, +0.31372368, +0.28687895, +0.30681998, +0.04615417, -0.12566632, +0.25226438, +0.14331011, +0.04195419, +0.16160757, +0.23684789, -0.41450399, -0.02269543, +0.10534981, -0.15636694, -0.01934319, +0.03933102, -0.07916815, -0.06059090, -0.13454893, -0.26241959, +0.32796585, -0.12048610, +0.04443276, +0.14244665, +0.14553709, +0.38976922, +0.33630549, -0.23177291, +0.05533204, +0.07018436, -0.19744913, -0.02661375, -0.22055687, +0.00150130, -0.05430443, -0.04417138, +0.00748361, +0.04570284, +0.29351244, -0.21063612, +0.11412093, +0.07387811, +0.13834254, +0.15331228, -0.30900625, -0.09306650, -0.05123643, +0.01026150, -0.28466720, +0.00565568, -0.08154636, /* S1.TCP_OPTLEN_3 */ - -0.00071200, -0.32067802, +0.06365773, -0.06471305, -0.03524129, -0.08732433, +0.07257434, +0.05430860, +0.11012030, -0.01509964, +0.03027251, +0.14476130, +0.03211394, -0.01352861, -0.02989251, -0.06385483, +0.09388547, +0.12774632, -0.01129605, +0.16282565, +0.25904017, +0.35914913, -0.01124674, +0.07621319, +0.10669242, -0.05630704, -0.09498544, -0.02415811, +0.07762166, +0.05768500, -0.37627349, +0.15668372, -0.01914526, +0.04441965, +0.11333259, -0.06949012, +0.10210231, +0.08949386, -0.00033980, -0.09468140, -0.02884668, +0.04533367, -0.09733479, +0.03464952, -0.04309601, +0.17960448, +0.08242202, +0.12281809, -0.02098897, +0.05381987, +0.11708396, +0.22156761, +0.05776080, -0.08401836, +0.03855420, -0.02116912, +0.01854701, -0.17932918, -0.21188064, +0.10264992, -0.00190577, -0.15765278, +0.11974447, +0.05968874, -0.01449292, -0.09505126, +0.10169159, -0.04769458, +0.00280969, +0.01325003, -0.08429127, +0.08703006, -0.09570423, -0.04712744, +0.02697035, +0.11346252, -0.01031917, +0.06198300, -0.02286171, -0.00371238, +0.13364762, +0.04002187, -0.02325375, -0.06220847, +0.03638932, +0.00129057, -0.03846573, +0.10591732, -0.00693031, -0.05024390, -0.00026091, +0.13134254, + +0.04586577, -0.22477037, +0.22748824, -0.07231152, -0.09323017, -0.11010048, +0.10458306, +0.02178000, +0.11060433, -0.03501643, +0.09722933, +0.19196825, +0.05563372, +0.01239725, -0.00982838, -0.06151086, +0.15980097, +0.24334410, -0.04147844, +0.26481183, +0.38955994, +0.60734036, -0.04511875, +0.01481375, +0.11380149, -0.04654137, -0.08789699, +0.16249061, +0.44336590, +0.09609005, -0.43656828, +0.25937437, -0.18824989, +0.03861956, +0.08118780, -0.05673125, +0.07685335, +0.06422936, -0.15055202, -0.23674954, -0.02837275, +0.07689249, -0.09554705, +0.10300710, -0.03364283, +0.38400286, +0.18906106, +0.11408780, -0.05308119, +0.06342440, +0.14302990, +0.37523507, -0.04079650, +0.07706960, -0.06727942, +0.05444575, +0.02115843, +0.03975208, -0.17411034, -0.25627562, -0.07654365, +0.05188764, -0.17563687, +0.19525967, +0.09729672, -0.03649605, -0.08789075, +0.07992925, -0.02432055, -0.03109226, -0.37808044, -0.28846422, +0.10085985, -0.11298547, -0.06202208, -0.16402472, +0.10122672, +0.06814241, -0.01444996, +0.08939016, -0.14410871, +0.01148410, +0.18662961, +0.05763482, -0.11626968, -0.09689040, +0.07769595, -0.00712433, -0.04152218, +0.15589797, +0.00182290, -0.07762635, +0.00310773, -0.00109518, +0.14340766, +0.01615321, -0.30300672, +0.05958845, +0.03986360, +0.09625500, -0.04788909, /* S1.TCP_OPTLEN_4 */ - -0.00191757, -0.93781408, +0.03824085, -0.00693624, -0.02973039, -0.02345221, +0.09216558, +0.12348154, +0.18489013, -0.02026858, +0.00055463, +0.32553818, +0.02601017, -0.02013872, -0.03663383, -0.07399919, +0.20223082, +0.04188141, -0.02718782, +0.05059415, -0.30146649, -0.01850080, -0.02973071, +0.18522442, -0.01669674, -0.06645296, -0.11571968, +0.06992816, +0.14302131, +0.09301419, +0.00822352, +0.29659092, -0.05053909, +0.02694193, +0.17440365, -0.07969684, +0.24445570, +0.77246087, +0.06125307, -0.20066314, -0.03892380, +0.02807820, -0.10079816, +0.01353272, -0.05960005, +0.36271222, +0.08973595, +0.11176530, -0.05765673, +0.04330899, +0.14857693, +0.28914238, +0.01367825, -0.09884426, -0.07209413, +0.00048744, +0.02261074, -0.22493931, -0.25805957, +0.24704055, -0.02879243, -0.18664235, -0.03946407, +0.13093811, -0.02906165, -0.12146141, +0.04947225, -0.06163087, -0.00032376, -0.28384924, -0.06312378, -0.01708160, -0.17578363, -0.06072311, -0.08869306, +0.31141482, -0.01081663, +0.03432137, -0.02184387, -0.01090762, +0.35236298, +0.01419936, -0.02490323, -0.06561217, +0.01151940, -0.12509257, +0.04855414, +0.21232344, -0.07268266, -0.00081824, -0.29075700, +0.31852541, + -0.04137662, -0.95954283, +0.19572443, +0.01274436, +0.01066238, -0.01222404, +0.10583417, +0.05473261, +0.20596288, -0.05560327, +0.03323726, +0.27182723, +0.04813410, +0.01042215, -0.01106627, -0.04967644, +0.17781485, +0.08386197, -0.03214175, +0.07967043, -0.32413601, -0.03647509, -0.03249856, +0.18029801, -0.02278866, -0.03387903, -0.08483126, +0.60555897, +0.99964654, +0.11227466, +0.00044891, +0.39910246, -0.10340924, +0.05613821, +0.21891552, -0.05457085, +0.21753852, +0.73103009, +0.36631899, -0.27420946, +0.03408238, +0.03979370, -0.06761227, +0.10079362, -0.04196147, +0.29795570, +0.19498730, +0.05397587, -0.08140041, +0.03206541, +0.20884812, +0.47194371, -0.15628036, +0.00138303, -0.06982077, -0.10355692, +0.10646636, +0.05606870, -0.21591595, -0.26032849, +0.06274433, +0.02449225, -0.18095733, -0.12228641, +0.11419725, -0.07331464, -0.12325017, +0.00377220, -0.04083094, -0.01607693, -0.55512242, -0.15648941, -0.03183280, -0.09246377, -0.06891547, -0.32801149, +0.15226948, +0.25735293, -0.00518637, +0.03680778, -0.12914098, -0.01537452, +0.34548531, +0.01820880, -0.04505841, -0.03870554, +0.02823713, -0.20891939, +0.05978631, +0.21377741, -0.06200514, -0.00388354, -0.48958629, -0.04600506, +0.28405258, +0.11734487, -0.26716803, +0.04333597, +0.27975238, +0.17473720, -0.04981008, /* S1.TCP_OPTLEN_5 */ - -0.04107597, -0.19555569, -0.10673000, -0.17015040, -0.07342834, -0.17948572, -0.08410326, -0.04733570, -0.12319807, -0.00109989, +0.26068757, -0.07728224, +0.04079648, -0.00137204, -0.01767289, -0.01297269, -0.10100511, +0.01507505, +0.16267458, +0.32158455, -0.16839233, +0.05658654, -0.07699947, -0.09841866, +0.07543527, -0.05780661, -0.05275841, +0.55495971, +0.77739357, +0.05569098, -0.52276365, -0.09390725, -0.07115093, -0.03307345, -0.09171290, -0.06440858, -0.05176480, -0.12067569, -0.12403801, -0.22801628, +0.01797083, +0.20683883, -0.12300339, +0.24772630, -0.01154998, -0.16310679, -0.04728218, -0.08229108, -0.15044103, -0.06202428, -0.19082885, -0.14094945, +0.16105081, -0.05668770, -0.00541458, +0.33178468, +0.23370733, -0.01734293, -0.05488063, -0.08896504, +0.17271504, -0.10168884, -0.04718014, -0.07864895, +0.08177091, -0.05967794, -0.17095026, -0.02723168, -0.03113465, -0.11532765, +0.50653781, +0.14655381, -0.18603242, -0.17439056, -0.28799087, -0.13861870, +0.05872576, +0.31087316, +0.30409638, +0.01161584, -0.27573760, +0.32459698, +0.18064209, +0.04782807, +0.24567964, +0.24412837, -0.18549273, -0.08049240, +0.00899798, -0.10240912, +0.13402971, -0.09781763, + +0.06282187, -0.14728920, -0.05769177, -0.19581785, -0.03970194, -0.20169530, -0.04678446, -0.01444136, -0.09216209, +0.00149009, +0.22199861, +0.07299233, +0.01343467, +0.00148737, -0.01728225, -0.00307820, -0.08330228, +0.00479743, +0.11940879, +0.33144656, -0.16970728, +0.02563131, -0.05289397, -0.06979171, +0.06044148, -0.09589451, -0.04339116, +0.41362502, +0.49739958, +0.05468285, -0.60260015, -0.03790371, +0.00466330, +0.17057285, +0.27167511, -0.06400992, +0.00023964, -0.06019894, -0.04627053, -0.22308468, +0.10861066, +0.19572617, -0.14272064, +0.20668242, -0.00706150, -0.06529178, -0.06275048, +0.08596587, -0.14747736, -0.03543706, -0.19205687, -0.01292918, -0.14621985, +0.15399921, -0.05222038, +0.08044006, +0.29180984, +0.19834438, +0.00645719, -0.04792070, -0.16474037, +0.09943502, -0.09905558, -0.12086485, -0.08908334, +0.01969434, -0.06710319, -0.15438362, -0.03354735, +0.05922186, -0.12338860, +0.16899495, +0.09981680, -0.11849402, -0.18349125, -0.33705243, -0.07126202, -0.15033905, -0.02545482, +0.23674744, +0.13777612, +0.03201333, -0.19632582, +0.25130911, +0.15023822, +0.01542372, +0.18401793, +0.20015565, -0.14085374, -0.12276720, +0.12889072, -0.07343261, +0.10787113, -0.05929020, -0.11382188, -0.14328075, +0.44655887, +0.06092100, -0.15585185, -0.08407039, +0.02183404, /* S1.TCP_OPTLEN_6 */ - +0.01304981, -0.03386937, +0.00124755, +0.04194540, -0.01886516, -0.05092068, -0.01950667, +0.00351785, -0.16084731, +0.00898229, -0.11475753, +0.01192500, +0.09846881, +0.01494363, +0.01002503, +0.03017811, -0.02122016, +0.39622719, +0.19824751, -0.06142080, -0.02641894, +0.11290399, -0.00852077, -0.00858659, +0.04351727, +0.01191019, +0.00716401, -0.03952626, +0.15362443, +0.12553406, -0.00219346, -0.05992139, -0.00002511, +0.00250316, -0.09241376, -0.01091890, -0.00859579, -0.07712971, +0.01108113, +0.03518131, +0.03251088, -0.00592120, +0.03051133, -0.06413081, +0.02001240, -0.02110002, +0.01664198, -0.05460559, -0.00555225, +0.00746231, -0.01646884, -0.16935982, -0.01127137, +0.04148830, +0.03423935, +0.11724359, +0.13548637, +0.01498906, +0.00958461, +0.01065341, +0.19945078, +0.00772297, +0.07845965, -0.00747662, +0.07231986, +0.00886284, +0.05330222, +0.01573379, +0.00840554, +0.04982860, +0.40527920, -0.07736294, -0.03296478, -0.02401581, -0.10190096, -0.03147495, +0.06026422, -0.10497044, +0.24588186, +0.02611088, +0.02566216, -0.07911662, +0.00955716, -0.09687525, -0.03738080, -0.04811708, -0.06706446, +0.00402969, +0.04562791, -0.01133092, -0.05013280, -0.01382860, + +0.10521785, -0.02424992, +0.06268654, +0.01848826, -0.02414293, -0.05909568, -0.01806160, +0.01281332, -0.18246097, -0.04291325, -0.10101021, +0.01229061, +0.10148086, +0.01605740, +0.00079899, +0.04264801, -0.02496925, +0.37207767, +0.17998935, -0.06275667, -0.04128753, +0.09582933, +0.01540888, -0.02770454, -0.03525300, +0.01197449, -0.00122411, -0.48013601, -0.31258820, +0.11251767, +0.01645914, -0.15688790, +0.02517631, -0.04737645, -0.23318066, -0.00790562, +0.00688674, -0.19068981, +0.08882053, +0.11393128, +0.10730350, +0.04284025, +0.05710507, -0.05016575, +0.02589744, +0.02321532, +0.00065396, -0.03638987, +0.00753873, +0.02019649, +0.00316816, -0.23740547, -0.07054042, -0.00300584, +0.06666713, +0.06663381, +0.11254235, +0.11672075, +0.02000105, +0.01995817, -0.02428443, +0.19216001, +0.01225936, +0.04595727, -0.02431012, +0.07958685, -0.00107318, +0.02211461, +0.02306255, +0.04961791, +0.12714776, +0.33725049, -0.07742159, -0.01590336, -0.02785347, -0.06962149, -0.04584702, -0.02926033, +0.03736333, -0.09468706, +0.33579561, +0.03446876, +0.08560312, -0.08020416, +0.03647814, -0.13527761, -0.02904165, -0.04789670, -0.06354565, -0.03119462, +0.11041044, +0.00892782, -0.06643121, -0.01429193, -0.00922179, +0.04483878, +0.36019135, -0.01775496, +0.00710824, -0.05023260, +0.03195876, /* S1.TCP_OPTLEN_7 */ - +0.01633188, -0.02246756, +0.00602640, +0.06697864, -0.01472188, -0.03998364, -0.00980551, +0.00749070, +0.01049864, +0.02056121, -0.09904131, +0.01479428, +0.10636437, +0.01675703, +0.01223349, +0.03352420, -0.01409326, -0.11120497, +0.18263000, -0.04993071, +0.00980029, +0.12828581, -0.00453061, +0.00077747, +0.09764482, +0.01944974, +0.01652637, +0.41952705, +0.50702277, +0.14139371, +0.06287202, +0.01476122, +0.00328815, +0.00677105, +0.00266583, -0.00690863, -0.00501640, +0.02112015, +0.01470345, +0.03995144, +0.03393378, -0.00054230, +0.03366672, -0.05369714, +0.02260292, -0.01624894, +0.02554549, -0.00531924, +0.00302522, +0.01606448, -0.01219980, -0.00364210, -0.00672271, +0.04352345, +0.03714420, +0.09316275, +0.12463609, +0.02286578, +0.01750111, +0.01872389, +0.15224675, +0.01102737, +0.10261287, -0.00085800, +0.06438306, +0.01427357, +0.07898296, +0.01854352, +0.01108724, +0.05410766, +0.36646791, -0.05483211, -0.02200994, -0.01346997, -0.08252332, -0.02349163, +0.03265457, -0.08728389, +0.22461813, +0.02780075, +0.02848718, -0.06679382, +0.08550966, -0.08209991, -0.02913208, -0.03933955, -0.05894111, +0.00985299, +0.05003519, -0.00719898, -0.03928123, -0.00824919, + +0.09511893, -0.01574229, +0.05770755, +0.04141165, -0.02731668, -0.04912879, -0.00092715, +0.01536641, +0.01476872, +0.02272721, -0.08609478, +0.00297945, +0.10941535, +0.01841685, +0.00202226, +0.04248302, -0.02070003, -0.11491338, +0.18578803, -0.04061572, +0.02829768, +0.11491406, +0.01526591, +0.01302052, +0.09872692, +0.02333987, +0.01110171, +0.51115942, +0.65235608, +0.12273303, +0.08648395, +0.06332532, +0.00939240, +0.05263000, +0.02711046, -0.00681132, +0.00539261, +0.08771875, +0.07207701, +0.10656385, +0.08363333, +0.04262978, +0.05931261, -0.04420543, +0.02745031, +0.00583519, +0.01287622, +0.03354899, +0.01387727, +0.02860863, +0.00271228, +0.02337782, -0.01376721, -0.00001028, +0.06609510, +0.06305863, +0.10611687, +0.11786619, +0.03146128, +0.03795497, -0.01532527, +0.12919063, +0.01469457, +0.08246223, -0.01698846, +0.06955667, +0.00406908, +0.04992103, +0.02342812, +0.04344712, +0.11159808, +0.31313081, -0.04472280, -0.01011293, -0.01765201, -0.05581522, -0.00527037, -0.02096589, +0.00227253, -0.07571729, +0.28277455, +0.03031881, +0.08048832, -0.06785002, +0.06627291, -0.11700406, -0.02104471, -0.03899147, -0.06042867, -0.02059369, +0.09915122, +0.01006095, -0.05231816, -0.00801978, -0.00710289, +0.03967717, +0.29154891, -0.01297559, -0.00557476, -0.04223114, +0.03151789, /* S1.TCP_OPTLEN_8 */ - +0.01177841, -0.03209381, -0.00405652, +0.35693764, -0.02314737, -0.04730556, -0.02438349, +0.00158585, -0.00728525, +0.00874857, -0.10610105, -0.01591114, +0.24527643, +0.01397814, +0.00730100, +0.02623296, -0.04069336, -0.14287780, +0.15242415, -0.06356161, +0.00208481, -0.02842578, -0.01346336, -0.01955881, +0.31993680, +0.01300973, +0.00235008, +0.31534370, +0.36172354, +0.33603444, +0.82599189, +0.00634942, -0.00302762, -0.02397937, -0.04141943, -0.01391720, -0.04187069, +0.00277733, +0.00859886, +0.03321539, +0.02452277, -0.00545047, +0.02892382, -0.06071764, +0.01682637, -0.02986395, +0.01796684, -0.04745963, -0.00707700, +0.00681110, -0.07607775, -0.05132845, -0.01419507, +0.03890894, +0.02249719, -0.12418772, +0.04466768, +0.01689555, +0.01273755, +0.00899542, +0.09861051, +0.00545129, +0.39078845, -0.00737206, +0.02726650, +0.00895542, +0.36868444, +0.01464250, +0.00381837, +0.02963524, +0.18024883, -0.07276670, -0.03532747, -0.02931386, -0.09131014, -0.05571531, -0.03376741, -0.09582397, +0.12867449, +0.02463117, +0.02160915, -0.09585705, +0.05760473, -0.09641651, -0.03709739, -0.04583673, -0.11155836, -0.00130965, +0.03992718, -0.02026655, -0.06820419, -0.01720958, + +0.16114666, +0.02404179, +0.02801085, +0.34906522, -0.03086710, -0.04789135, -0.01340281, +0.02125810, -0.01035431, -0.04648429, -0.09051123, -0.09856736, +0.22429750, +0.01722339, -0.00838612, +0.02915381, -0.04568368, -0.15383974, +0.16201450, -0.06037411, +0.02248570, -0.04876654, +0.00923571, -0.06185164, +0.27740284, +0.01731393, -0.00231632, +0.31853304, +0.24525073, +0.27277654, +0.78950552, +0.06228209, -0.08558640, -0.08121584, -0.13076475, -0.01295558, -0.05919486, +0.10857489, +0.04421505, +0.11346472, +0.00914320, +0.04910739, +0.06007498, -0.04211355, +0.02212042, -0.04418359, +0.02764914, -0.08134907, +0.00937156, +0.04869005, -0.07231749, -0.06959868, -0.02752968, -0.00633605, +0.06510405, +0.03950178, -0.21324263, +0.03380570, +0.02905470, +0.03678946, -0.01326194, +0.06940774, +0.00974087, +0.37599271, -0.01096947, +0.05814409, +0.00148138, +0.32183898, +0.02754418, +0.00854691, +0.00582070, +0.08283383, -0.06151525, -0.01469780, -0.02941410, -0.04712917, -0.01240422, -0.05425026, -0.07679795, -0.07930457, +0.23709520, +0.01928295, +0.08371609, -0.09088175, -0.13009093, -0.12440799, -0.02321676, -0.04095638, -0.12888711, +0.00129492, +0.03027235, +0.00191263, -0.06207051, -0.01901152, -0.00484217, -0.00384925, -0.09422320, -0.03631440, -0.05597830, -0.06050492, +0.01360717, /* S1.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S1.TCP_MSS */ - -1.10265203, -2.91284975, -0.22009519, -0.01071822, -0.00786701, +0.01861207, -0.16793430, -0.01052661, -0.19445454, -0.03212226, -0.21092106, +0.01086876, +0.01032982, -0.06705025, -0.02881612, -0.18254774, -0.00390610, +0.00289301, -0.04602490, -0.06024218, -0.03071884, -0.00629298, -0.01279738, -0.17512551, +0.00054619, +0.03656176, +0.06314620, +0.77900470, -1.01598496, +0.10253619, -0.01727317, -0.03236078, -0.12790921, -0.29249520, -0.05126441, -0.21408968, +0.00186027, -0.02454466, -0.49263963, +1.24533241, -0.05017450, +1.16710224, +0.63562930, -0.86030360, +0.07529533, -1.12805140, -1.15699340, -0.58377392, +1.68033331, -0.44543008, -0.02454635, -0.23084070, -0.04677388, +0.05457047, +0.00943458, +0.02491641, -0.01995393, +0.05854888, -0.03762770, -0.05149146, +0.00899634, -0.04625338, -0.00368045, -0.00550415, -0.01115253, -0.21076625, -0.00665426, -0.00394444, -0.02698962, -0.68558739, -0.59309905, +0.00060834, -1.62473634, -0.39811324, -0.42115004, -0.04086300, -0.00669066, -0.05988887, +0.49298823, -0.02203801, +1.35470483, -0.00015710, -0.01693529, -0.65003384, -0.04713684, +0.46931651, -0.04118596, -0.00311669, -0.25898978, -0.02777186, -0.06612766, -0.08531243, + -1.57331097, -3.46006835, -0.33663627, -0.01035837, +0.00694265, +0.05549502, -0.14707521, +0.01769412, -0.17293920, -0.02052658, -0.31204034, +0.09048105, +0.01166297, -0.08271196, -0.00641360, -0.20871404, +0.05693947, -0.01024180, -0.05842446, -0.07901669, -0.02376657, -0.01682991, -0.03618843, -0.16858225, +0.02026113, +0.03135885, +0.04987676, +1.28588029, -1.36730273, +0.12280092, -0.04981094, +0.01131948, +0.01531553, -0.27800323, +0.06498650, -0.32402362, +0.00678039, +0.02414831, -0.07834005, +1.13166224, -0.08972311, +1.31602808, +0.73643651, -1.24400643, +0.10658802, -1.48745012, -1.20050518, -0.58361102, +1.72526768, -0.30057278, +0.01096282, +0.01997455, -0.28562140, -0.06146076, +0.08253507, +0.02804418, +0.04441045, -0.02862270, +0.07181767, -0.05903316, -0.25202825, +0.08345218, -0.05892866, -0.00809166, +0.04765858, -0.00423815, -0.25458263, -0.00827834, -0.04103699, -0.03352434, -1.07297848, -1.18493659, -0.00924574, -2.02398598, -0.41881749, -0.42907552, -0.13389574, -0.02242423, -0.00894928, -0.08710237, +0.17600354, +0.01639023, +1.48061467, -0.03248877, -0.05907596, -1.16885683, -0.07961310, +0.78399537, +0.00889295, +0.01345897, -0.21196784, -0.04523378, -0.10660048, -0.45422005, -0.13203883, -0.09635208, +0.02391091, +0.02000600, -0.06526712, -0.02049980, -0.03463381, /* S1.TCP_SACKOK */ - +0.02782600, +0.05170763, +0.09304004, +0.01940505, +0.02983569, +0.29868851, +0.07154486, +0.01819724, +0.09193864, -0.00905034, -0.21144775, +0.03710194, +0.05510097, -0.00969484, -0.02503882, -0.04591493, +0.03657432, +0.05627643, +0.09581400, +0.13521992, +0.16279874, +0.01722477, +0.03365546, +0.03308450, +0.01824547, -0.03223239, -0.08327593, +0.10489632, -0.15210692, +0.10783041, +0.03037612, +0.07612779, +0.03664807, +0.07617456, +0.15063155, -0.09045787, +0.02927539, +0.04784879, +0.06825759, +0.07464783, -0.02228661, -0.08399545, -0.02449058, -0.15728544, -0.04177777, +0.06602612, +0.10413073, +0.10746223, +0.03423807, +0.07996546, +0.18588715, +0.09916157, +0.07912312, -0.08229261, +0.05030571, +0.05958759, +0.05816108, +0.12943157, +0.10583289, +0.01884827, +0.06055387, -0.21925175, +0.01330842, +0.01517274, +0.01956319, -0.07016776, +0.01208981, -0.04635665, +0.02349314, +0.03608010, +0.03545859, +0.05539107, +0.03158413, +0.01757251, +0.04260659, +0.01918742, +0.00836016, -0.20973099, +0.02185610, +0.00000344, +0.01719170, -0.19882471, +0.03264069, +0.25573100, -0.14031758, +0.09954379, +0.05282743, +0.02258281, +0.05000783, +0.02118251, +0.03806169, +0.02112748, + -0.00683605, +0.23022852, +0.24845167, +0.02038424, +0.04980060, +0.38939252, +0.10225992, -0.00568216, +0.09464219, -0.03348678, -0.29318813, -0.04041726, +0.09960951, +0.01292994, -0.00721127, -0.02723021, +0.04333504, +0.10200912, +0.12297607, +0.18763299, +0.24413733, -0.01140123, +0.03855139, +0.00744447, +0.02567538, -0.00110471, -0.08553203, +0.34491002, -0.02199745, +0.11411155, +0.08245590, +0.09610814, -0.01119714, +0.07669329, -0.03847677, -0.10326101, +0.01257256, +0.06175550, -0.05217539, +0.27735880, +0.01861227, -0.10390368, +0.02867266, -0.20758909, -0.03538615, -0.09388599, +0.18458241, +0.12171334, +0.06829268, +0.07707247, +0.36716628, +0.12898172, +0.03649203, +0.11950956, -0.07862236, +0.02913385, +0.13432431, +0.07930613, +0.13272013, +0.13463036, -0.19562244, +0.19090730, -0.24986612, -0.01442976, +0.04087199, +0.00251373, -0.05603119, -0.05133131, -0.03892220, +0.01636365, -0.17546561, -0.01503948, +0.06284807, +0.13023185, -0.00344765, -0.09635564, +0.14087396, -0.00264936, +0.02175131, -0.31705584, -0.16386656, +0.00764908, -0.05931719, -0.32720102, +0.13781860, +0.54590957, -0.21162587, +0.21283467, +0.05121412, -0.03299049, +0.03803933, +0.02299677, +0.02004179, +0.04959503, -0.00025257, -0.05038574, -0.03339930, +0.09591832, +0.03828423, +0.03640244, -0.03468278, /* S1.TCP_WSCALE */ - -0.69723864, -0.14647343, -0.12498365, -0.06723037, -0.54484702, -0.18062698, -1.40492455, +0.52843863, -1.17909592, -0.02379305, -0.12661709, +0.17532463, -0.01032543, -0.03111313, -0.05419120, -0.10200440, -0.39359944, -0.28167411, -0.13861413, +0.11992131, -0.34413654, -0.10666651, -0.22729080, +0.21660356, -0.18017954, -0.08545287, -0.17114460, -3.39780573, -4.71297127, +0.03869654, -0.39214352, -1.66356397, +1.01041665, +0.04261964, -0.51956246, -0.11464725, +0.19198971, -2.63429059, -0.15193330, +0.61912363, -0.06366438, +0.18267998, -0.13350905, -0.11540594, -0.08043005, -0.15504931, +0.01693472, -0.38139202, +0.12649940, +1.47993200, -0.84916295, -0.99226594, +0.01508860, -0.14710857, +0.34986421, -0.43516589, -0.18057140, -0.31675360, -0.34014782, +2.52445256, -0.32872394, +0.21692180, +0.17859205, -0.37639632, +0.46472335, -0.13888265, -0.11057469, -0.15057688, +0.63673441, +1.00801173, +4.11484230, -0.18972924, +0.60400378, +0.60207070, -0.26811979, +0.34933994, +0.09870180, -0.07176823, +3.15622684, -0.02259808, +0.05316693, +0.06462413, +0.27716903, +0.70877788, -0.08701205, +0.18274932, -0.50905897, -0.06817821, +2.74320578, +0.16968490, +0.46554445, +0.06751916, + -0.58652731, -0.13682527, -0.54801168, -0.03579462, -0.50596372, -0.20512489, -1.46645041, +0.66609737, -1.16263595, +0.05989193, -0.10719584, +0.20752522, -0.02046400, +0.00038401, -0.01551363, -0.06650688, -0.35744576, -0.29687199, -0.12468513, +0.11553462, -0.29645261, -0.13860544, -0.24826897, +0.29893728, -0.15648039, -0.03406419, -0.14981340, -4.44978170, -5.04137922, +0.09624520, -0.35826148, -2.08035404, +1.79218962, +0.12190416, -0.58298816, -0.06691786, +0.18546594, -2.73158350, -0.12019053, +0.50646848, -0.02493356, +0.19985776, -0.09247878, -0.02113120, -0.05675520, -0.24588957, +0.08574986, -0.36421128, +0.08456056, +1.47873733, -0.83079529, -1.42113967, +1.03067803, +0.00630990, -0.11689737, +0.37829768, -0.38538027, -0.18067961, -0.33226497, -0.32658073, +2.69879339, -0.41435069, +0.21345182, +0.21314191, -0.44396126, +0.54905641, -0.09373393, -0.11861177, -0.12503646, +0.76162434, +2.32498008, +1.91606547, -0.21298903, +0.77023576, +0.65619794, +0.57471679, -0.95173263, +0.32043783, +0.15896614, -0.07485383, +4.55410395, -0.02857240, -0.06082322, +0.02652468, +0.28245412, +0.86021171, -0.10490665, +0.16455236, -0.48409649, -0.14420619, +2.75873410, +0.15790247, +0.50329890, -0.44531565, +0.10971067, -0.29057653, +3.76517701, +0.12401312, +0.06384965, -0.20127445, -0.06760961, /* S1.TCP_CORR_WINDOW_MSS */ - +1.21024891, +6.45693517, -0.21664247, +0.42065383, +0.41956166, +0.36430625, -0.18883640, +0.09763999, -0.24078975, -0.04411150, +0.05891940, -0.78188376, -0.01663625, -0.07657005, -0.08018549, -0.02268565, +0.29518712, -0.05276243, +0.31146754, -0.10730793, -0.02783739, +0.11168110, +0.22260116, -0.11754032, -0.03216923, -0.00697250, -0.04030556, -1.87514003, +1.53494126, -2.00669846, +0.95353662, -0.26472374, -0.32914419, -0.53953779, -2.00619180, +0.11725194, -0.22631134, +0.36379420, -0.97711812, -0.89086119, -0.06421375, -0.12707221, -0.14373486, -0.05829551, +0.24107548, +0.24405425, -2.87313156, -1.53920027, -0.46987694, -1.61512941, -1.63556505, +0.08423411, -0.07992308, -0.01653457, -0.45163003, -0.89003323, -0.24245908, -0.23786336, -0.01900573, +0.23627110, -0.17823792, -0.00562861, -0.14638540, +0.06601605, +0.83133130, +0.55458535, -0.01837206, -0.05077107, -0.36843742, +0.88299131, +2.40705001, +0.12673675, +1.91533836, +1.30077270, +1.62656104, +0.17159007, +0.01840091, +0.23598060, -1.98899019, -0.03323393, -0.20573363, -0.05909021, +0.19646779, +1.20569256, -0.03826075, -0.09585101, +0.13424682, +0.52341408, -1.81188164, +0.36915721, +1.08265138, +0.31853135, + +1.86619079, +6.85682464, -1.29369418, +0.41691117, +0.40188471, +0.50924875, -0.15437118, +0.07354728, -0.23896433, -0.04011385, +0.07001237, -1.13657148, -0.04401998, -0.06421006, -0.09802930, -0.03678878, +0.11536254, -0.09570500, +0.33125412, -0.21975190, -0.02878443, +0.10857675, +0.23575720, -0.14690147, -0.05987834, -0.04409307, -0.04244081, -2.39882028, +1.37584924, -2.14625582, +0.87274270, -0.41267742, -0.86114079, -0.69945194, -2.07263132, +0.06541912, -0.28796697, +0.36861787, -3.22158337, -1.32874582, +0.01490304, -0.12421071, -0.15445160, -0.21876679, +0.27498843, -0.06642048, -3.20591983, -1.68501068, -0.64228768, -1.97236773, -2.09680306, -0.78911748, +0.19992838, -0.12297982, +0.00566704, -0.55354202, -1.06959641, -0.24659346, -0.27593786, -0.07360156, +0.11411856, -0.12454074, -0.01896165, -0.15559988, +0.00781633, +1.05358368, +0.60846727, -0.03094362, -0.08273776, -0.41883469, -0.07720232, +1.03077635, +0.08850979, +0.55883132, +1.19822022, +1.83508754, +0.44437239, +0.07193015, +0.03681990, +0.24170942, -2.76945113, -0.01184650, -0.26787245, -0.09199940, +0.23821190, +0.09510047, -0.04874969, -0.49549882, +0.09632693, +0.63401972, -1.87257963, +0.36938883, +1.51197455, +1.11500749, +0.41149033, +3.40082832, -0.43974694, +0.10619655, +0.30837954, -0.14257421, -0.03233150, /* S2.TCP_WINDOW */ - -0.79806915, +1.84397794, -0.61467963, +0.35956601, +0.57451669, +0.33841727, -0.62904857, +0.09496313, -0.66484363, -0.05637253, -0.45754257, -0.94082682, -0.04575170, -0.09055211, -0.11284595, -0.14770655, +0.28854768, -0.09801023, +0.25811527, -0.23141614, -0.06959420, +0.10421264, +0.25982915, -0.20065608, -0.07399173, -0.02114336, -0.27158450, +0.60659117, +0.39358924, -2.28841787, +1.18813868, -0.40471274, -0.64087072, -0.95281248, -2.57485049, +0.04115602, -0.28313130, +0.38354404, -2.18973145, +1.75047440, -0.09479445, +0.10926317, -0.07692207, +0.38769895, +0.21596513, -0.05714831, +0.09781852, -2.27756293, +0.38594870, -2.26977478, -1.99392073, -0.14719567, -0.16223075, -0.09587192, -0.55765985, -1.07525431, -0.38837074, -0.35423131, -0.07288339, +0.24023536, -0.12573724, -0.08991791, -0.18417667, +0.06173848, +0.95967315, +0.57968846, -0.03347989, -0.08001090, -0.65952170, +0.45974320, +0.13872815, +0.12055507, -0.83243231, +1.08513866, +1.55977099, +0.20569154, +0.03042340, +0.16413673, +0.12622459, -0.04454188, -0.00625750, -0.12606128, +0.06597978, +0.72187226, -0.15725615, +0.39087715, +0.10528751, +0.59301649, -2.38419718, +0.40085866, +1.16615214, +0.26666639, + -0.74967229, +1.90469435, -2.04667992, +0.36672944, +0.55577897, +0.42965488, -0.60783979, +0.10520888, -0.68839946, +0.03042617, -0.53822822, -1.10490290, -0.07952656, -0.08389778, -0.11462996, -0.14702511, +0.15468592, -0.12005146, +0.23840348, -0.29113437, -0.05438389, +0.07535512, +0.25210637, -0.08285422, -0.08079576, -0.04115995, -0.38839694, +0.78989614, +0.41796198, -2.44122159, +1.16428457, -0.47406685, -1.31085322, -1.10735912, -2.46195162, +0.00035165, -0.28683498, +0.39340023, -4.21855688, +1.81013362, -0.03128833, +0.06976844, -0.09781170, +0.48100800, +0.23817372, -0.01564360, +0.33426813, -2.24408659, +0.34908983, -2.48387581, -2.40240834, -0.96600809, +0.36112597, -0.19538138, -0.05023118, -0.62038729, -1.20516130, -0.42069612, -0.36928216, -0.10088204, +0.09313950, -0.10792571, -0.11227659, -0.26943429, +0.02693375, +1.20359789, +0.63685783, +0.00049959, -0.09438324, -0.69208243, -0.27465592, +0.03266608, +0.07398286, -0.46216357, +1.07980232, +1.48574321, +0.74491749, +0.13687028, +0.05996717, +0.13330476, -0.05947115, +0.03703118, -0.02249282, -0.19770063, +0.03989965, +0.84361339, -0.18088638, +0.29869874, +0.11695737, +0.69896372, -2.40094686, +0.37442964, +1.46900928, +0.61940931, +0.30737122, +0.03377005, +0.15105327, +0.05723534, +0.32358289, -0.15342190, -0.15640852, /* S2.TCP_FLAG_F */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_S */ - -0.03564514, -0.12029289, +0.03208953, -0.03745390, -0.04314271, +0.05165685, +0.02461419, -0.03419214, +0.05782496, -0.09830858, +0.01522437, -0.01328100, +0.02392986, -0.15108583, +0.00268810, -0.01386468, -0.04642006, +0.01208306, -0.03722755, -0.00251222, +0.01095683, -0.01304030, -0.02025653, -0.02334417, -0.02504836, +0.06283613, +0.07691370, +0.01322930, -0.60887230, +0.16160786, -0.05462273, +0.02168338, -0.00764553, +0.05692247, +0.19287238, +0.06979303, -0.01300848, -0.05472432, +0.04593776, -0.07490069, -0.14258505, -0.03493566, +0.02067083, -0.00505798, +0.07679243, -0.01440903, +0.07791964, +0.10359488, -0.04852710, +0.03632462, -0.03012464, +0.06611877, -0.01627117, +0.02782431, +0.00670453, +0.05853192, +0.00280714, +0.07246222, -0.01763973, -0.08231716, -0.03749162, +0.01284965, -0.03252796, -0.06793437, -0.04192967, -0.02222549, -0.01227527, -0.00270444, -0.01414768, -0.07602093, -0.07913773, +0.00992537, -0.03248362, -0.07180562, -0.05762458, -0.05765684, -0.02962752, -0.01765321, -0.06716051, -0.07829134, -0.04447951, -0.02578076, -0.03703280, -0.01600170, -0.02460325, -0.02284443, -0.01230823, -0.04778214, +0.01428862, -0.05323581, -0.06000396, -0.04087322, + -0.02675822, -0.26337836, +0.04268977, -0.04557972, -0.04744472, +0.02747364, +0.02353453, -0.04848435, +0.05464185, -0.10106778, +0.00871572, +0.01816573, +0.00348655, -0.12049497, -0.01133936, -0.04675095, -0.05623833, -0.00922369, -0.04300239, -0.01754775, -0.00289916, -0.01996842, -0.03785093, -0.04387474, -0.02528637, +0.03363124, +0.03999982, +0.06441688, -0.30292629, +0.18971798, -0.07745304, +0.02467129, +0.01930345, +0.07826935, +0.22821921, +0.04404534, -0.00757166, -0.06297577, +0.16802580, -0.06465985, -0.06640174, -0.03924995, -0.00300867, +0.04283291, +0.05681827, -0.00597168, +0.08360224, +0.06974573, -0.05787707, +0.06422812, -0.01117864, +0.10739069, -0.03911509, -0.02657786, -0.00748448, +0.00159177, +0.05918920, +0.00861690, +0.07838942, -0.02887520, -0.20323498, -0.03929036, -0.00172179, -0.02994126, -0.07397667, -0.05330592, -0.04096808, -0.02219197, -0.04113528, -0.00345263, -0.04043847, -0.05677760, -0.01127699, -0.01842797, -0.08330729, -0.12798777, -0.06205631, -0.06866749, -0.03552194, -0.02517899, -0.09853057, -0.03349962, -0.04618295, -0.04375770, -0.04828865, +0.00591967, -0.03773265, -0.03392163, -0.00956512, -0.04863535, +0.02905948, -0.05863740, -0.08948750, -0.03458771, -0.05553409, -0.09138987, -0.14251742, -0.00691259, -0.05507067, +0.01030444, +0.01933626, /* S2.TCP_FLAG_R */ - +0.00374153, +0.00400234, +0.00337465, +0.00379636, +0.00355441, +0.25947458, +0.03568934, +0.00392278, +0.05992721, -0.03243124, +0.02795983, +0.01907666, +0.02212692, -0.06270060, +0.01641249, +0.01312527, +0.00655374, +0.02001283, +0.00315101, +0.01289085, +0.02289616, +0.00669585, +0.00523132, +0.00881031, +0.00937710, +0.05089687, -0.01671247, +0.01686616, -0.26353374, +0.10051837, +0.00569580, +0.03179862, +0.01046760, +0.04554125, +0.12932782, +0.04805871, +0.01726810, +0.00279521, +0.04331268, +0.00389849, -0.05918877, +0.00458968, +0.03428022, +0.01543475, +0.00389175, +0.00843591, +0.07171708, +0.08628899, +0.00615365, +0.06025007, +0.01551540, +0.07130442, +0.00281870, -0.03774138, +0.03410151, +0.03438301, +0.01637140, +0.04536143, +0.00974994, +0.00334276, +0.00306020, +0.02132060, +0.00391049, +0.00229887, +0.00186651, +0.01718397, +0.00332226, +0.01316254, +0.01047529, +0.00550519, +0.00451540, +0.02199360, +0.01310552, +0.00542090, +0.00441318, +0.00366381, +0.00135920, +0.01160515, +0.00455635, -0.02132440, +0.00388451, +0.00552468, +0.00278682, +0.01198400, +0.00685405, +0.00584525, +0.02765945, +0.00342807, +0.04381726, +0.00449785, +0.00679650, +0.00329108, + +0.03363545, -0.10877859, -0.02120482, -0.00074272, +0.00314704, +0.43006989, +0.03627944, -0.00252693, +0.06279825, -0.02832489, +0.05988622, +0.02062174, +0.03145621, -0.07970958, +0.01080254, +0.00967331, +0.02948704, +0.03193185, +0.00133279, +0.04199910, +0.03484037, +0.01682021, -0.00573498, +0.01368009, +0.02507982, +0.07335755, -0.08827935, +0.01074345, -0.33518148, +0.11516045, +0.00056609, +0.03733543, +0.11457010, +0.07761771, +0.19596117, +0.12128724, +0.05567651, -0.00203606, +0.27489848, +0.02115553, -0.05112740, +0.01203371, +0.05762495, +0.07201308, +0.01987038, +0.04594706, +0.15004975, +0.16106984, -0.00445042, +0.13346427, +0.04469233, +0.16488067, +0.02812718, -0.01201331, -0.08313256, +0.05856488, +0.05775971, +0.02392298, +0.05688830, +0.02606175, -0.14593953, -0.01392575, +0.03552982, +0.01434675, -0.00179606, +0.00110956, +0.01155890, +0.00541224, -0.01445411, +0.02603583, -0.07171918, -0.03385324, +0.02973723, +0.14317630, +0.00587990, -0.03250131, -0.00018888, +0.00907474, -0.00206128, +0.02170317, +0.03199706, +0.01400580, -0.00925037, -0.00362693, -0.00808357, +0.03008892, -0.00779694, +0.01519674, +0.03732113, -0.02439127, +0.05839048, +0.00202876, +0.00459656, -0.01136566, +0.00977014, -0.01815384, -0.06005661, +0.00560062, +0.00537560, +0.02621853, -0.02682339, /* S2.TCP_FLAG_P */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_A */ - -0.03606002, -0.12075543, -0.03978763, -0.03797076, -0.04435768, -0.07743537, +0.02358955, -0.03464235, +0.05347016, -0.10017009, +0.01390744, -0.01523007, +0.02259857, -0.15338205, +0.00235889, -0.01532635, -0.04815683, +0.01121452, -0.03753180, -0.00295904, +0.01014327, -0.01468163, -0.02205258, -0.02369331, -0.02578776, +0.06201645, +0.03564068, -0.03839842, -0.39818102, +0.16131907, -0.05501577, +0.02115424, -0.00845195, +0.03773958, +0.19008097, +0.06920916, -0.01394609, -0.05496233, +0.04538448, -0.07540873, -0.14803697, -0.03526614, +0.01999917, -0.00630939, +0.06789232, -0.01461462, +0.05670889, +0.10254717, -0.05066448, +0.03393381, -0.03931345, +0.06396573, -0.01866380, +0.02387599, +0.00282794, +0.05844487, +0.00205728, +0.04890980, -0.01877260, -0.08373927, -0.03903343, +0.00797425, -0.03336219, -0.06810422, -0.04208336, -0.02360580, -0.01256118, -0.00409548, -0.01485205, -0.09208382, -0.08018552, +0.00771442, -0.03554456, -0.07269339, -0.07881392, -0.05746393, -0.02971190, -0.01845746, -0.06798189, -0.07983379, -0.04483462, -0.03389820, -0.03737475, -0.01951185, -0.02549922, -0.02343001, -0.01416760, -0.05278240, +0.01392279, -0.05408571, -0.06292445, -0.04129477, + -0.02563664, -0.26329717, -0.03578531, -0.04542056, -0.05082841, -0.10277358, +0.02305503, -0.04784579, +0.04416805, -0.09496991, +0.00685903, +0.02383774, +0.00204931, -0.12776730, -0.01100774, -0.04559842, -0.05421984, -0.00898473, -0.04248068, -0.01639056, -0.00269099, -0.02151558, -0.03715271, -0.04184154, -0.02491270, +0.03459037, +0.00052856, -0.07854805, -0.24629612, +0.18983220, -0.07690197, +0.02550246, +0.02877135, +0.05369826, +0.25204725, +0.04815343, -0.00459963, -0.06156900, +0.16913162, -0.06389418, -0.07020323, -0.03873177, -0.00103088, +0.00393754, +0.04894148, -0.00601583, +0.00569923, +0.07235183, -0.05799791, +0.07006610, -0.01284108, +0.10665946, -0.02901705, -0.02833589, -0.00768976, -0.00012637, +0.05969071, +0.00821374, +0.06358901, -0.02305372, -0.20207124, -0.04362947, -0.00827059, -0.02950301, -0.07288057, -0.05255044, -0.04139165, -0.01674113, -0.04046130, -0.00237869, -0.06141932, -0.05729367, -0.01205442, -0.01824416, -0.08305040, -0.12978796, -0.06218664, -0.06800325, -0.03404849, -0.02576298, -0.08086323, -0.02779779, -0.04514325, -0.04939761, -0.04576153, -0.00689406, -0.03854745, -0.03344716, -0.00951015, -0.06283529, +0.03021472, -0.05848422, -0.09002123, -0.08270518, -0.05486749, -0.08990619, -0.14314098, -0.01622382, -0.05493898, +0.01266075, +0.01909021, /* S2.TCP_FLAG_U */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_E */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_C */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_RES8 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_RES9 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_RES10 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_FLAG_RES11 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S2.TCP_OPT_0 */ - -0.03436117, -0.34640701, +0.01213792, +0.00071276, +0.15212434, -0.11003955, +0.00853186, -0.01648933, +0.06159617, -0.05182587, +0.02343405, +0.01258949, +0.02430408, -0.09163320, +0.01201995, +0.00396636, -0.01212993, +0.01935967, -0.01728557, +0.00518701, +0.01548636, -0.13413968, +0.20688549, -0.00288746, +0.03721598, +0.05667847, +0.09393533, +0.02159245, -0.24941248, +0.12406468, +0.06795363, +0.01121042, -0.01312701, +0.04792787, +0.15154788, +0.05644278, +0.00782330, -0.06339047, +0.02737812, -0.10448966, -0.07605672, -0.00978319, +0.02976420, +0.00387193, +0.08574781, -0.00066434, +0.07431798, +0.09172137, -0.01261097, +0.05191001, -0.00046043, +0.06938337, +0.00230293, +0.07215016, +0.02695082, +0.04281575, +0.01244728, +0.05619789, -0.00020930, -0.03540530, -0.01097717, +0.01890758, -0.00313041, -0.02599872, -0.01334529, +0.00281415, -0.00226202, +0.01282201, +0.25105172, -0.02010746, -0.01642388, -0.11690822, +0.00016926, -0.02227117, -0.04774098, -0.00915498, -0.00913294, +0.00398218, -0.01746076, -0.03838292, -0.01307644, +0.00256240, -0.01078982, +0.05946328, -0.00340257, -0.00373167, -0.00283282, -0.01144272, +0.03393150, -0.01966797, +0.02525658, -0.02836975, + -0.14102027, -0.76942333, +0.03891927, -0.00234239, +0.19661648, -0.18137498, -0.01471396, -0.03207976, +0.06757309, -0.07598543, +0.02822501, +0.10244100, +0.02304139, -0.11509516, +0.00073455, -0.04837115, -0.04074227, +0.01682462, -0.03899931, -0.00114936, +0.00890258, -0.24910042, +0.24895972, -0.02615295, +0.06395546, +0.04845126, +0.13133073, +0.04937581, -0.29365905, +0.14076016, +0.07871276, +0.01749962, +0.06561274, +0.08432854, +0.19948843, +0.06711589, +0.01905915, -0.12835694, +0.29570398, -0.24903931, -0.06021931, -0.02858710, +0.00758321, +0.00881595, +0.09986376, +0.01610303, +0.06948241, +0.10099018, -0.06775876, +0.09055348, +0.00606986, +0.15636643, -0.00182404, -0.01482544, +0.06829492, +0.03760523, +0.05559339, +0.01760416, +0.06413770, -0.01058288, -0.22667499, -0.03644570, +0.00812095, -0.00009508, -0.04638619, -0.03483752, -0.02152022, -0.00824545, -0.01748618, +0.31877171, +0.06096173, -0.08358855, -0.19610746, +0.01338265, -0.03980112, -0.17659487, -0.02955301, -0.01439613, -0.03107120, -0.00871563, -0.09723745, -0.01323027, -0.04739447, -0.02526079, -0.01959927, +0.16517328, -0.02478464, -0.03064248, -0.02595729, -0.02882257, +0.04765741, -0.05331654, -0.08816712, -0.03985658, -0.06483663, -0.07054450, -0.10857857, +0.01319236, -0.03855437, +0.00756042, +0.07915177, /* S2.TCP_OPT_1 */ - +0.05431357, +0.46204546, +0.14456495, +0.00093371, +0.21813291, +0.25625181, +0.15779028, -0.05010055, +0.17625624, -0.01934527, +0.02683657, -0.08285802, +0.02924745, -0.02194245, -0.04430072, -0.09312898, -0.01868025, +0.02301929, -0.02116355, -0.04744868, +0.09174477, -0.02793578, +0.26144854, -0.01123787, +0.00160169, -0.07354493, -0.16984384, +0.02127136, -0.14233829, +0.09599400, +0.01132657, +0.16925884, +0.07441333, +0.12820768, +0.25944590, -0.13409026, -0.07091767, -0.10882762, +0.13958787, +0.13118553, -0.05116809, +0.03236307, -0.11097043, +0.01234161, -0.06790271, -0.01422309, +0.13748158, +0.23573564, +0.13136890, +0.13169606, +0.24876951, +0.22003609, +0.04714044, -0.10678780, +0.19599483, +0.02989501, +0.02050969, +0.14535370, +0.16526385, -0.11459224, -0.01350330, +0.14429168, -0.01242935, -0.04794275, -0.00265936, -0.10579447, -0.00738889, -0.12562864, +0.25310786, +0.43626439, -0.01108317, -0.00526287, +0.20833691, +0.10202165, +0.22440096, -0.12075014, +0.00004635, +0.05714424, -0.02118630, -0.01251055, -0.04503460, +0.02300884, -0.00793430, -0.03133958, +0.01629249, +0.01468707, +0.12413149, -0.04865433, +0.12690193, +0.04461407, +0.08331395, -0.15257248, + -0.04561793, +0.62787307, +0.23737960, +0.01244043, +0.27021837, +0.33613801, +0.15791761, -0.07662025, +0.18112234, +0.00039978, +0.09509556, -0.21056240, +0.05217397, -0.00622422, -0.01663164, -0.10660575, +0.04312803, +0.03749603, -0.04347939, -0.06874545, +0.11047749, -0.10723343, +0.28855800, +0.00048979, +0.03632662, -0.06289664, -0.18635135, +0.16631112, -0.07697940, +0.11196894, +0.07935999, +0.20264059, +0.00988170, +0.11890636, +0.20328079, -0.14163252, -0.14046127, -0.14695343, -0.03420319, +0.08196093, -0.07710703, +0.04206916, -0.11238423, -0.04285380, -0.06112506, -0.03961202, +0.12369607, +0.28959300, +0.20701593, +0.12401447, +0.33943781, +0.29633542, +0.24029858, +0.06704267, -0.09659806, +0.22679563, +0.07167704, +0.03331897, +0.12732937, +0.22687090, -0.34941893, -0.04231822, +0.14757103, -0.00713665, +0.01532818, +0.01712099, -0.07550944, +0.01676338, -0.11736413, +0.28261807, +0.29206701, -0.09675591, -0.00540683, +0.28452782, +0.09775126, +0.15891895, +0.23194316, -0.12799216, +0.03007002, +0.10164142, -0.16979540, -0.01390439, -0.17696750, +0.03866943, -0.03829510, +0.02844355, +0.04641227, +0.05598417, +0.10972907, -0.13076022, +0.10354061, +0.04205633, +0.03698147, +0.13799633, -0.25838591, -0.09325904, -0.10157405, +0.03512156, -0.19804889, +0.00360331, -0.06713320, /* S2.TCP_OPT_2 */ - +0.14762802, +1.55853546, +0.17959363, -0.00037109, -0.09701948, +0.25901966, +0.30432647, -0.07548895, +0.26309536, -0.03722508, +0.02264357, -0.16099408, +0.03109238, -0.03944845, -0.06695639, -0.12481524, -0.04683073, -0.05687926, -0.02268097, -0.21250630, +0.01120958, +0.27515082, -0.14116320, -0.02762027, -0.27911091, -0.11016445, -0.27768259, +0.04012998, -0.06398143, +0.13323453, -0.05684508, +0.33008983, +0.16120114, +0.17725862, +0.38627964, -0.18566508, -0.12952698, +0.01746716, +0.27568977, +0.41698703, -0.08865597, +0.02717355, -0.15750994, +0.01040264, -0.10915471, -0.04346843, +0.16155402, +0.34638365, +0.19729379, +0.17029726, +0.37746374, +0.33521328, +0.04392830, -0.16061165, +0.29349206, +0.08744091, +0.03028121, +0.18674880, +0.23364064, -0.18322260, -0.03170868, +0.15344246, -0.16215284, -0.09019280, -0.00808682, -0.15039408, -0.10755983, -0.17689707, -0.26565466, +0.68863352, -0.01047884, -0.05089643, +0.34088524, +0.16321492, +0.42034770, -0.21104704, +0.00167503, +0.05799542, -0.04517026, -0.03066095, -0.08975974, +0.00595254, -0.00679183, -0.02318346, +0.00257163, +0.00619001, +0.28893295, -0.10286924, +0.17431837, +0.10339418, +0.09250608, -0.21948736, + +0.10196951, +1.48056589, +0.12103126, -0.00806175, -0.11200926, +0.22640038, +0.32826436, -0.10604289, +0.23943303, +0.02053143, +0.08509880, -0.23252818, +0.04008181, -0.02106140, -0.02394190, -0.09304409, +0.03954411, -0.07069137, -0.01161805, -0.22470875, +0.01184095, +0.28566486, -0.17100815, +0.04639669, -0.30692128, -0.07121966, -0.25790292, +0.17227924, -0.12949515, +0.14818346, -0.05865786, +0.35807725, +0.01919583, +0.12662057, +0.32478278, -0.15744483, -0.17096151, +0.15349161, +0.03715432, +0.23807424, -0.08941333, +0.02264976, -0.12357500, -0.03193974, -0.08149510, -0.06707545, +0.03457064, +0.25196303, +0.14452740, +0.11335404, +0.30400577, +0.27851681, +0.28081829, +0.05174966, -0.13289009, +0.23126987, +0.16029652, +0.04743820, +0.15620626, +0.23045413, -0.39443214, -0.01794094, +0.12317566, -0.19014389, -0.02099977, +0.03317652, -0.08465626, -0.08371148, -0.14541106, -0.34405948, +0.28398792, -0.10355168, -0.04886891, +0.13162729, +0.13158430, +0.36303184, +0.33597696, -0.20844437, +0.05070097, +0.07383706, -0.19235802, -0.02936445, -0.20885331, +0.00654801, -0.05303870, +0.07889625, +0.00968786, +0.04544199, +0.31516763, -0.20230757, +0.10353926, +0.08255374, +0.17796844, +0.13945225, -0.27483423, -0.08696783, -0.03352753, +0.01646993, -0.25653662, +0.01343532, -0.08201032, /* S2.TCP_OPT_3 */ - -0.08332844, -1.33501319, -0.04263838, -0.14235227, -0.08185751, +0.01958732, -0.06300159, +0.14266851, +0.02332539, -0.02533413, -0.01124151, +0.36151572, +0.00906854, -0.01988089, -0.03994875, -0.07687812, +0.19678422, +0.27415855, -0.04353376, +0.42807490, +0.44149655, -0.00023556, -0.08582328, +0.16954810, +0.59589989, -0.06779626, -0.11129425, -0.22068619, -0.09284864, -0.01328997, -0.51374181, -0.00139978, -0.10601563, -0.03527471, +0.01259137, -0.08734368, +0.25625111, +0.23135543, -0.12280200, -0.31141457, -0.03777180, +0.02961592, -0.11085218, +0.01166563, -0.05994434, +0.37984461, +0.04894857, -0.01623457, -0.12788195, +0.00292805, -0.00725796, +0.09014438, +0.01678872, -0.09743898, -0.18888126, -0.15274349, -0.03666038, -0.20272174, -0.24115864, +0.28444174, -0.03270827, -0.18114755, +0.37900543, +0.15483485, -0.05196199, -0.12400599, +0.29010904, -0.06117089, -0.02546912, -0.58773229, -0.23023218, +0.24739085, -0.34992169, -0.16322501, -0.25419098, +0.32423242, -0.04238185, +0.02818584, -0.07578053, -0.00956601, +0.37430094, -0.00337659, -0.07971449, -0.31045600, +0.01763699, -0.13293255, -0.13987046, +0.22809944, -0.11988956, -0.08525018, -0.02449989, +0.37600601, + -0.07709549, -1.51220338, +0.14755666, -0.12067283, -0.08735064, +0.04394473, -0.03364713, +0.08633934, +0.01635511, -0.10935815, -0.00356084, +0.29262518, +0.01351513, +0.00682351, -0.02225443, -0.05755730, +0.13280543, +0.32923508, -0.06424658, +0.48431971, +0.48715142, -0.03077123, -0.12173422, +0.04361976, +0.59239499, -0.03965729, -0.07836623, -0.10615088, +0.31691308, +0.05731404, -0.47943193, +0.06630108, -0.33196258, -0.12753864, -0.08752831, -0.07641695, +0.18388818, +0.08720833, -0.21280566, -0.42885726, -0.05013701, +0.06105439, -0.08262584, +0.08945295, -0.04520933, +0.34365442, +0.19724574, -0.18472785, -0.18769592, +0.04200995, -0.03808700, +0.12182072, -0.26740754, +0.00136567, -0.06817971, -0.25961916, -0.16600001, -0.02777773, -0.19231224, -0.24832330, +0.06125398, -0.00234110, -0.17439567, +0.44044049, +0.13475638, -0.09236690, -0.12856439, +0.24310002, -0.04605181, -0.09209917, -1.03452898, -0.41723228, +0.25302733, -0.47332453, -0.17540894, -0.49908279, +0.05048460, +0.24657232, -0.07166401, +0.01904147, -0.10732011, -0.00431541, +0.38691396, -0.00657067, -0.09088740, -0.47756735, +0.03994773, -0.23170328, -0.16387588, +0.25280946, -0.08066715, -0.10154746, -0.01268236, -0.17597156, +0.31705398, +0.13108183, -0.67890908, +0.02695824, +0.29215662, +0.15756037, -0.05894146, /* S2.TCP_OPT_4 */ - +0.00837346, -0.82747480, +0.05932277, -0.01054394, -0.02044932, -0.03770365, +0.11411347, +0.11571813, +0.20371347, -0.02104129, -0.00238349, +0.30881996, +0.02373611, -0.02102767, -0.03785816, -0.07765888, +0.19598366, +0.03877381, -0.03144734, +0.03970200, -0.30814563, -0.02347429, -0.01945973, +0.18005075, -0.02108520, -0.06799303, -0.12039285, +0.06769894, +0.13934408, +0.09133739, +0.00656604, +0.32682496, -0.03966740, +0.03922760, +0.19396219, -0.08090224, +0.23062305, +0.75880183, +0.07686266, -0.17243171, -0.04194178, +0.02536809, -0.10289313, +0.00955832, -0.06102739, +0.35478304, +0.09873045, +0.13747028, -0.04051805, +0.05244028, +0.17381709, +0.32065384, +0.01062596, -0.10062299, -0.04273890, -0.01140144, +0.02083062, -0.23414867, -0.26627721, +0.23013407, -0.03264547, -0.18982354, -0.04329127, +0.12258247, -0.03176841, -0.12386245, +0.06868213, -0.06298444, +0.00324426, -0.20351555, -0.06603493, -0.02237170, -0.14727466, -0.04676841, -0.04418495, +0.29226014, -0.01360223, +0.03231972, -0.02638786, -0.01205463, +0.34412957, +0.00993718, -0.02907311, -0.07667822, +0.00787648, -0.12864664, +0.06933723, +0.20471976, -0.06068412, +0.00710363, -0.27577532, +0.29668736, + -0.03416704, -0.79490977, +0.21696750, +0.00800168, +0.02462779, -0.02792192, +0.12509093, +0.04625984, +0.22456531, -0.04780873, +0.03010602, +0.24983175, +0.04540696, +0.01032477, -0.01135436, -0.05412498, +0.17949836, +0.07983524, -0.03584999, +0.06644385, -0.32754800, -0.04415982, -0.01947885, +0.17631116, -0.02728969, -0.03349836, -0.08969818, +0.61785234, +1.02134164, +0.11182341, +0.00202574, +0.43613951, -0.09387108, +0.06390285, +0.22990459, -0.05184980, +0.19934614, +0.71660649, +0.33419162, -0.22450179, +0.02510035, +0.03476904, -0.06890310, +0.09317147, -0.04194453, +0.28872822, +0.19995876, +0.08588573, -0.05254115, +0.03646656, +0.23270856, +0.49932681, -0.12364605, -0.00114750, -0.07013831, -0.06702024, +0.09578365, +0.05607459, -0.22502391, -0.26696880, +0.04779858, +0.01609879, -0.18276636, -0.12446615, +0.10797571, -0.07019499, -0.12291323, +0.03585425, -0.03769519, -0.01600755, -0.46692778, -0.16098161, -0.03487473, -0.04352973, -0.05425213, -0.27426802, +0.17007625, +0.23900642, -0.00307163, +0.03692097, -0.14205581, -0.01701127, +0.32930516, +0.01401668, -0.05257610, -0.04931817, +0.02450499, -0.20796025, +0.08209065, +0.20480713, -0.05357342, +0.00475135, -0.45769313, -0.01916731, +0.26036780, +0.11179365, -0.26998080, +0.04066244, +0.25584283, +0.16973740, -0.05238594, /* S2.TCP_OPT_5 */ - -0.04398287, -0.19736902, -0.12829343, -0.04274349, -0.07774776, -0.19256987, -0.08641456, -0.04941659, -0.12914456, -0.00512124, +0.25675287, -0.09978912, +0.08951288, -0.00274198, -0.01947309, -0.01549058, -0.10911615, +0.00715082, +0.15886117, +0.33938193, -0.17640280, +0.04542642, -0.08081612, -0.11402192, -0.02482917, -0.06103778, -0.05676187, +0.52745410, +0.73518495, +0.14374013, -0.17506480, -0.09717423, -0.07477911, -0.04110437, -0.09918788, -0.06865424, -0.05818354, -0.12242194, -0.13066727, -0.25753978, +0.01622022, +0.19982135, -0.12539484, +0.24327769, -0.01571832, -0.19223482, -0.05187967, -0.09408664, -0.17507959, -0.06511331, -0.19795822, -0.15671210, +0.22177125, -0.08022965, -0.01153533, +0.32052434, +0.22005086, -0.02119599, -0.06773244, -0.09490681, +0.16979373, -0.12338032, -0.06051259, -0.07959156, +0.07909376, -0.06197310, -0.17998147, -0.03281258, -0.03402298, -0.15511788, +0.42106717, +0.15076544, -0.19446357, -0.18535114, -0.29565011, -0.14318581, +0.05502325, +0.29667299, +0.25474300, +0.01060899, -0.35525832, +0.31459727, +0.16037037, +0.30936538, +0.23538264, +0.36862072, -0.19813582, -0.09247516, +0.00048928, -0.11075365, +0.11166687, -0.10034306, + +0.06985298, -0.12826533, -0.11694082, -0.06590742, -0.04448419, -0.21978686, -0.04227496, -0.00988203, -0.09755629, -0.02739523, +0.21788124, +0.03221673, +0.04970564, -0.00043913, -0.01766343, -0.00498799, -0.08581824, -0.00349255, +0.11719736, +0.33334635, -0.17789781, +0.01350787, -0.05636061, -0.09298019, -0.06011350, -0.09919831, -0.04698033, +0.38297781, +0.43951888, +0.12453727, -0.21629957, -0.03519716, -0.01312102, +0.14226732, +0.24297434, -0.07081890, -0.00602347, -0.04168264, -0.06760604, -0.25972056, +0.10293845, +0.18364759, -0.14319821, +0.20287118, -0.01353755, -0.14912719, -0.06208427, +0.05755311, -0.17179037, -0.03200684, -0.19808870, -0.03374486, -0.16648623, +0.20485367, -0.08659826, +0.07598645, +0.26731793, +0.18526313, +0.00403495, -0.07217962, -0.17449193, +0.10454400, -0.12069441, -0.12082329, -0.08382024, +0.00353597, -0.06846767, -0.17478473, -0.04262757, +0.05756302, -0.22687534, +0.13181235, +0.08561566, -0.12696182, -0.19660891, -0.37810613, -0.07519203, -0.15764317, -0.03562879, +0.21975063, +0.08154959, +0.03382842, -0.28690952, +0.22828807, +0.07242439, +0.32146476, +0.17256900, +0.30691072, -0.15079189, -0.11920688, +0.08122156, -0.08598394, +0.07325998, -0.06522694, -0.11285207, -0.21760385, +0.39808317, +0.09459555, -0.17015842, -0.07968777, +0.01969347, /* S2.TCP_OPT_6 */ - +0.00630311, -0.06441795, -0.00948046, -0.02555597, -0.02887707, -0.07916080, -0.03284829, -0.00519572, -0.17057155, +0.00658284, -0.15517165, +0.00686081, +0.08194381, +0.01197722, +0.00558827, +0.02616915, -0.03718613, +0.36280637, +0.26043217, -0.08108286, -0.03240407, +0.08353047, -0.01661371, -0.01480913, +0.02237950, +0.00653693, -0.00652133, +0.10651780, +0.33504462, +0.09902240, -0.17556547, -0.06583867, -0.00611071, -0.00298387, -0.09723265, -0.02026730, -0.01405786, -0.08365519, +0.00484154, +0.02406304, +0.03064578, -0.01804023, +0.02684272, -0.08970847, +0.01519104, -0.03177306, +0.00069013, -0.06494857, -0.02096480, -0.01195091, -0.02337120, -0.18007252, -0.02214553, +0.03787526, +0.02865324, +0.21637775, +0.19131159, +0.00922260, +0.00453213, -0.00881018, +0.34137141, +0.00155038, +0.01335526, -0.02517845, +0.09651953, -0.00339862, -0.01658805, +0.01033154, +0.00326058, +0.04113801, +0.55845198, -0.09411450, -0.05403457, -0.04870727, -0.15264138, -0.04912572, +0.14012776, -0.14284388, +0.32584405, +0.02308670, +0.02033053, -0.10857706, -0.20526349, -0.13395642, -0.05638114, -0.06932691, -0.07479515, -0.00977835, +0.04154864, -0.01844328, -0.07412536, -0.02762757, + +0.11258202, -0.05997869, +0.07289290, -0.05214445, -0.02132911, -0.08877050, -0.02947455, +0.00277194, -0.18497251, -0.02650893, -0.13732063, +0.03000670, +0.08611630, +0.01283070, -0.00404254, +0.04405684, -0.04301691, +0.33543179, +0.23879023, -0.07689171, -0.04208861, +0.06559247, +0.01550990, -0.01373818, -0.04528538, +0.00866286, -0.01505085, -0.24836860, +0.01894312, +0.08645195, -0.19305832, -0.15020746, +0.04662507, -0.00186765, -0.18976766, -0.01637293, +0.01467277, -0.19212999, +0.11059380, +0.12360986, +0.14425418, +0.04131627, +0.06088308, -0.07559151, +0.02222700, +0.02628563, -0.02558737, -0.00771589, -0.00555011, -0.00439793, +0.00387081, -0.22508611, -0.09045044, -0.01220295, +0.06712789, +0.07390340, +0.23541172, +0.17014194, +0.01634001, +0.02113988, -0.05202256, +0.32114552, +0.00685994, -0.04789273, -0.04798978, +0.09322007, -0.01697822, -0.04969128, +0.01757008, +0.06351881, +0.15908454, +0.34920854, -0.08717602, -0.03276303, -0.05602865, -0.11338994, -0.05563892, -0.04567962, +0.12708632, -0.12795146, +0.35360995, +0.03583766, +0.09584395, -0.11073676, -0.22570676, -0.18325101, -0.04724389, -0.07070006, -0.06529335, -0.06568788, +0.14179976, +0.00735287, -0.10554389, -0.02649399, -0.02609707, +0.05112026, +0.52949700, -0.02602049, -0.00096937, -0.06712305, +0.03265227, /* S2.TCP_OPT_7 */ - +0.00362714, -0.12950878, -0.00751323, +0.28460654, -0.05526815, -0.04963536, -0.03462679, -0.01212332, -0.01782368, +0.00705335, -0.17263139, -0.01831114, +0.22674665, +0.01073609, -0.00184413, +0.02323718, -0.04431621, -0.15417700, -0.27574541, -0.09504979, -0.00409088, +0.30931250, -0.02619936, -0.02821433, +0.20595339, +0.01019804, -0.00024201, +0.27549144, +0.31887851, +0.31545248, +0.57324550, -0.00175691, -0.01115889, -0.02764488, -0.05167140, -0.03875490, -0.04546067, -0.00377515, +0.00036727, +0.02258852, +0.02320389, -0.02160746, +0.02594318, -0.08558801, +0.01469417, -0.04583873, +0.01243946, -0.05048381, -0.01141702, +0.00327544, -0.08194760, -0.05510665, -0.03069705, +0.03618338, +0.01985443, +0.37157813, -0.06222465, +0.01270475, +0.00685402, +0.00298012, -0.57002803, -0.00103204, +0.34853589, -0.03664104, +0.20049588, +0.00158169, +0.16866816, +0.00751242, -0.00250018, +0.02574426, +0.03911100, -0.09979194, -0.04118352, -0.03540930, -0.09621177, -0.05783782, +0.38230026, -0.10660376, +0.09144765, +0.02143450, +0.01671271, -0.10388537, +0.50947927, -0.10447081, -0.04798238, -0.06687698, -0.16611719, -0.00431735, +0.03787959, -0.05767300, -0.08389629, -0.03214011, + +0.10971441, -0.15046462, +0.03410254, +0.25040858, -0.11803465, -0.04463981, -0.01752898, -0.01427175, -0.02429870, -0.03505366, -0.15406271, -0.09336632, +0.20297011, +0.00713336, -0.02682947, +0.02692512, -0.04203897, -0.16107103, -0.31027085, -0.08792104, +0.01810642, +0.24857672, -0.01909879, -0.07946862, +0.15322529, +0.01566216, +0.00087117, +0.26287196, +0.09794246, +0.27920409, +0.52921058, +0.05891590, -0.10880673, -0.02932915, -0.12686205, -0.05163623, -0.05629307, +0.13394214, +0.05727011, +0.10355990, +0.00993045, +0.02789954, +0.06084137, -0.05911071, +0.02060783, -0.05745313, +0.02780973, -0.07897744, +0.00928690, +0.05004238, -0.07210767, -0.06355108, -0.01459036, -0.02581243, +0.06455217, +0.04307689, +0.35374808, -0.08351333, +0.02056934, +0.03018916, -0.01380341, -0.69944881, +0.00273841, +0.32195488, -0.05593739, +0.26837422, -0.00154505, +0.06775147, +0.00508301, +0.00634532, +0.01715564, -0.15232059, -0.09206005, -0.01600898, -0.02704213, -0.04306674, -0.03866049, -0.04634998, +0.36858606, -0.08742551, +0.20950009, +0.01211146, +0.08699148, -0.09500914, +0.43923448, -0.13187665, -0.02898755, -0.05441818, -0.18065466, +0.01277436, +0.03316681, -0.03473904, -0.06340886, -0.03561916, -0.01091905, +0.00316486, -0.27968566, -0.04025951, -0.02577275, -0.15299398, +0.01307289, /* S2.TCP_OPT_8 */ - +0.01020370, -0.05854893, -0.00483308, +0.33028265, -0.03555040, -0.04782876, -0.02616357, -0.00078998, -0.01121885, +0.00843589, -0.11709195, -0.01647973, +0.24155804, +0.01344852, +0.00604733, +0.02550355, -0.04150351, -0.14565243, +0.09040266, -0.06866928, +0.00101956, +0.12275184, -0.01620487, -0.02095122, +0.27322251, +0.01249745, +0.00178788, +0.30630251, +0.35140192, +0.33040553, +0.72538047, +0.00499932, -0.00441956, -0.02481576, -0.04545505, -0.01711780, -0.04281180, +0.00170869, +0.00718809, +0.03129816, +0.02422871, -0.00817916, +0.02836151, -0.06506140, +0.01640262, -0.03206673, +0.01606030, -0.04823785, -0.00828932, +0.00600798, -0.07806126, -0.05232664, -0.01656657, +0.03839141, +0.02184876, -0.06602759, +0.03045771, +0.01611966, +0.01174338, +0.00772097, -0.07519214, +0.00436126, +0.37814827, -0.01461770, +0.04244273, +0.00683371, +0.34052752, +0.01355670, +0.00240187, +0.02845572, +0.15649698, -0.08337182, -0.03748987, -0.03128798, -0.09278957, -0.05613778, -0.03958381, -0.09773791, +0.12120084, +0.02403323, +0.02073721, -0.09771620, +0.34746142, -0.09818608, -0.03914161, -0.04902465, -0.13472708, -0.00195547, +0.03936326, -0.03600087, -0.07409061, -0.02038552, + +0.14372050, -0.01483018, +0.02909260, +0.30834878, -0.06869695, -0.04732567, -0.01414141, +0.01678503, -0.01721097, -0.04422747, -0.10039291, -0.09736662, +0.22029324, +0.01597339, -0.01066259, +0.02825392, -0.04479635, -0.15652511, +0.09569833, -0.06522922, +0.02175110, +0.08907324, +0.00155316, -0.06444005, +0.22591158, +0.01710423, -0.00194179, +0.29631442, +0.17824936, +0.27541935, +0.69184335, +0.06226743, -0.08671572, -0.07389808, -0.13402402, -0.01771243, -0.05888254, +0.11579053, +0.04735790, +0.11244681, +0.01075315, +0.04594639, +0.06039256, -0.04698541, +0.02188683, -0.03997242, +0.02746015, -0.08099309, +0.00919889, +0.04906835, -0.07225787, -0.06812728, -0.02458866, -0.00898372, +0.06504778, +0.04008131, -0.13504213, +0.01884601, +0.02800591, +0.03577768, -0.01336783, -0.12308981, +0.00860212, +0.36110813, -0.02313000, +0.07963514, +0.00001260, +0.28547639, +0.02485819, +0.00807342, +0.00731170, +0.04251753, -0.07517070, -0.01509804, -0.02971125, -0.04701704, -0.02455985, -0.05256470, -0.09056845, -0.08107431, +0.23279695, +0.01808384, +0.08455854, -0.09223456, +0.26544283, -0.12609432, -0.02421440, -0.04298862, -0.15241208, +0.00391785, +0.03089817, -0.01473927, -0.06469141, -0.02886639, -0.00837215, -0.00123683, -0.12497097, -0.03725872, -0.04787187, -0.07091652, +0.01359301, /* S2.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_0 */ - -0.00942638, +0.18961345, +0.03846027, -0.00410133, -0.16575282, -0.12637438, +0.04963906, -0.02510422, +0.06925019, -0.09599370, +0.01818624, -0.00820040, +0.02856290, -0.14990344, +0.00376771, -0.00014537, -0.04025177, +0.01966134, -0.02483415, +0.01648368, +0.01787182, -0.38987758, -0.21768929, -0.02040317, +0.09483852, +0.06511585, +0.12602513, +0.02698145, -0.51804568, +0.17199207, +0.19305294, +0.04047609, +0.01165769, +0.06266015, +0.21195388, +0.07159629, -0.00797441, -0.00611771, +0.06423936, +0.00861895, -0.13515465, -0.03223003, +0.02317069, +0.00221222, +0.11253422, -0.01182964, +0.08404737, +0.10698972, -0.04330674, +0.03917989, -0.01465111, +0.07014964, -0.01073326, +0.08207898, +0.01072753, +0.06040789, +0.00519179, +0.07720172, -0.01491256, -0.06368863, -0.03369821, +0.01532821, -0.01488617, -0.06245946, -0.03994575, -0.01659955, -0.00947582, +0.00144960, -0.25954457, -0.06939117, -0.05676047, -0.37427350, -0.01749929, -0.06267719, -0.01943715, -0.03519847, -0.02887993, -0.00977834, -0.06023140, -0.07629318, -0.04219517, -0.01611192, -0.03395519, +0.15779038, -0.02227676, -0.01817583, +0.14454590, -0.04349434, +0.01636354, +0.03931526, +0.24230870, -0.02271907, + +0.00186414, +0.05057586, +0.04590277, +0.00193683, -0.07454704, -0.12611380, +0.06361788, -0.04343000, +0.07290386, -0.10574259, +0.01121058, +0.02470316, +0.01044877, -0.12115383, -0.01208744, -0.02540724, -0.05955142, +0.00159040, -0.00839990, +0.00312478, +0.00812122, -0.32170873, -0.17623572, -0.03927858, +0.11171164, +0.03280523, +0.08751786, +0.09718184, -0.20591542, +0.18322622, +0.14798866, +0.02799387, +0.00398999, +0.07441957, +0.24510693, +0.03412307, -0.00425167, -0.01647718, +0.15894523, -0.01293004, -0.07063205, -0.03909838, -0.00476706, +0.07082270, +0.08214053, -0.03873572, +0.06293950, +0.06523586, -0.05720101, +0.05835088, -0.00672359, +0.09587912, -0.04582602, -0.02160266, +0.04901555, +0.00393548, +0.05671752, +0.00841653, +0.08013410, -0.02955550, -0.19532297, -0.04014881, -0.00058637, -0.01518421, -0.07719210, -0.04911974, -0.03194810, -0.02179590, -0.03906694, -0.25640075, -0.00536162, -0.04801560, -0.33849013, -0.01485975, -0.07806646, -0.06535943, -0.00257248, -0.04436795, -0.03567720, -0.01602478, -0.11080276, -0.04648440, -0.04872246, -0.03663200, -0.04442469, +0.19029333, -0.03728470, -0.03317338, +0.16829536, -0.04739210, +0.02591458, +0.03627641, +0.28165312, +0.00636749, -0.04195957, -0.07070626, -0.13781477, +0.00966825, -0.02768899, +0.01086481, +0.04893766, /* S2.TCP_OPTLEN_1 */ - -0.00203543, -0.19205517, +0.04627266, +0.01067884, +0.24501840, +0.18862626, +0.05839525, -0.01543168, +0.10589880, -0.01519493, +0.04097609, +0.00115109, +0.03890171, -0.01722034, -0.03767734, -0.07799394, +0.01436980, +0.04107716, -0.00854265, +0.00167053, +0.12784279, -0.00671169, +0.31116608, +0.01455285, +0.01042743, -0.06395362, -0.14534858, +0.03184096, -0.01226512, +0.10233854, +0.01761960, +0.06590495, +0.01273796, +0.06907364, +0.16863451, -0.11832241, -0.00207768, -0.06779063, +0.05548552, -0.04962123, -0.03608853, +0.04519042, -0.10036429, +0.02964752, -0.05789616, +0.02942340, +0.09290248, +0.13519468, +0.04799539, +0.08653273, +0.13944360, +0.12340125, +0.06324564, -0.09554150, +0.08200332, +0.03525058, +0.02995149, +0.09757029, +0.11112741, -0.03613418, +0.00289965, +0.18579907, +0.00218764, -0.00943667, +0.00152466, -0.09520229, +0.00291279, -0.11601101, +0.35313694, +0.12339416, +0.00317236, +0.01879298, +0.06803146, +0.03110316, +0.02956997, -0.02497956, +0.00254973, +0.06826055, +0.00096222, -0.00662279, -0.00481544, +0.04422530, +0.00129053, +0.02487909, +0.03442840, +0.03333879, +0.00838038, -0.00319408, +0.06740537, -0.00692706, -0.01223306, -0.05288018, + -0.15016771, -0.30460237, +0.11181822, +0.02538996, +0.33115301, +0.26693382, +0.05013443, -0.03674331, +0.11444807, -0.02300713, +0.12905622, -0.00362416, +0.07281200, -0.00386020, -0.01702393, -0.09580164, +0.04305921, +0.08894233, -0.04194201, +0.00621955, +0.18983395, -0.07797776, +0.43405939, +0.01405013, +0.03338749, -0.06353210, -0.16396882, +0.12101725, +0.08407114, +0.11426189, +0.07315446, +0.09718680, +0.00428836, +0.08367997, +0.16671295, -0.14095253, -0.02558937, -0.12271987, -0.02938572, -0.28465478, -0.03305633, +0.07493495, -0.10870135, -0.01738965, -0.05631028, +0.02695901, +0.08199266, +0.20226991, +0.09631185, +0.10400827, +0.23542760, +0.22729170, +0.10719663, +0.09677279, -0.08897179, +0.09669409, +0.06702280, +0.03974146, +0.08484286, +0.17921376, -0.25243310, -0.01503857, +0.21004099, -0.00656350, +0.04693234, -0.00937449, -0.08307911, +0.01266966, -0.12432610, +0.46699694, -0.05368334, -0.05593939, +0.01426392, +0.21632773, +0.02532258, -0.12696436, +0.14268877, -0.03328637, +0.00590404, +0.11641713, -0.09710600, -0.00013426, -0.08271216, +0.07058344, -0.02340210, +0.13173038, +0.07706446, +0.08540300, -0.02548668, -0.06426801, +0.06347839, -0.02202345, -0.19622909, +0.01123014, -0.12167670, -0.08019392, -0.08923999, +0.05389606, -0.09998802, +0.02103124, -0.05334838, /* S2.TCP_OPTLEN_2 */ - +0.14918663, +1.57630066, +0.19488855, -0.01136403, -0.04483947, +0.25657643, +0.31112346, -0.08397453, +0.26880746, -0.03540594, +0.01745696, -0.17790783, +0.02583631, -0.03805042, -0.06470212, -0.12448588, -0.05464129, -0.04794359, -0.02831486, -0.19821610, +0.01415115, +0.28424141, -0.07394286, -0.03464209, -0.24676773, -0.10619937, -0.27283350, +0.01762809, -0.08985376, +0.12014405, -0.09925890, +0.33537713, +0.16620197, +0.18542339, +0.39076662, -0.18069489, -0.14487741, -0.02729258, +0.27877996, +0.42550999, -0.08766980, +0.02292506, -0.15168158, +0.00330869, -0.10608375, -0.05463259, +0.16829213, +0.36136550, +0.21486353, +0.17899507, +0.38914983, +0.34727693, +0.03750263, -0.15412059, +0.31630559, +0.07213165, +0.02378564, +0.19122696, +0.23964128, -0.20092666, -0.03475799, +0.13357807, -0.13842571, -0.09631351, -0.00878998, -0.14515409, -0.08983796, -0.16974570, -0.19099339, +0.75351713, -0.02135715, +0.03604715, +0.36407189, +0.17666356, +0.44909096, -0.23425331, +0.00021274, +0.05161764, -0.05026148, -0.02939554, -0.09617073, -0.00149937, -0.01122071, -0.08551402, -0.00201210, -0.00019456, +0.27504398, -0.11034817, +0.18719954, +0.09624023, +0.07104668, -0.24471758, + +0.09409853, +1.46582928, +0.13596181, -0.01933316, -0.06425308, +0.22671187, +0.32755564, -0.11322183, +0.24345151, +0.02752906, +0.08014120, -0.26266968, +0.03576517, -0.01975932, -0.02176619, -0.09843621, +0.04184226, -0.06175426, -0.02088742, -0.21169957, +0.01133449, +0.29139879, -0.10639864, +0.03342417, -0.27283651, -0.06696593, -0.25482070, +0.13087411, -0.19702152, +0.13928083, -0.09670063, +0.36387166, +0.02152310, +0.12504820, +0.30698773, -0.15046613, -0.19432754, +0.08728280, +0.02585308, +0.24586906, -0.10061509, +0.01827384, -0.11860750, -0.05358021, -0.07838591, -0.06059210, +0.04201507, +0.26305575, +0.16228198, +0.12128306, +0.31372368, +0.28687895, +0.30681998, +0.04615417, -0.12566632, +0.25226438, +0.14331011, +0.04195419, +0.16160757, +0.23684789, -0.41450399, -0.02269543, +0.10534981, -0.15636694, -0.01934319, +0.03933102, -0.07916815, -0.06059090, -0.13454893, -0.26241959, +0.32796585, -0.12048610, +0.04443276, +0.14244665, +0.14553709, +0.38976922, +0.33630549, -0.23177291, +0.05533204, +0.07018436, -0.19744913, -0.02661375, -0.22055687, +0.00150130, -0.05430443, -0.04417138, +0.00748361, +0.04570284, +0.29351244, -0.21063612, +0.11412093, +0.07387811, +0.13834254, +0.15331228, -0.30900625, -0.09306650, -0.05123643, +0.01026150, -0.28466720, +0.00565568, -0.08154636, /* S2.TCP_OPTLEN_3 */ - -0.00071200, -0.32067802, +0.06365773, -0.06471305, -0.03524129, -0.08732433, +0.07257434, +0.05430860, +0.11012030, -0.01509964, +0.03027251, +0.14476130, +0.03211394, -0.01352861, -0.02989251, -0.06385483, +0.09388547, +0.12774632, -0.01129605, +0.16282565, +0.25904017, +0.35914913, -0.01124674, +0.07621319, +0.10669242, -0.05630704, -0.09498544, -0.02415811, +0.07762166, +0.05768500, -0.37627349, +0.15668372, -0.01914526, +0.04441965, +0.11333259, -0.06949012, +0.10210231, +0.08949386, -0.00033980, -0.09468140, -0.02884668, +0.04533367, -0.09733479, +0.03464952, -0.04309601, +0.17960448, +0.08242202, +0.12281809, -0.02098897, +0.05381987, +0.11708396, +0.22156761, +0.05776080, -0.08401836, +0.03855420, -0.02116912, +0.01854701, -0.17932918, -0.21188064, +0.10264992, -0.00190577, -0.15765278, +0.11974447, +0.05968874, -0.01449292, -0.09505126, +0.10169159, -0.04769458, +0.00280969, +0.01325003, -0.08429127, +0.08703006, -0.09570423, -0.04712744, +0.02697035, +0.11346252, -0.01031917, +0.06198300, -0.02286171, -0.00371238, +0.13364762, +0.04002187, -0.02325375, -0.06220847, +0.03638932, +0.00129057, -0.03846573, +0.10591732, -0.00693031, -0.05024390, -0.00026091, +0.13134254, + +0.04586577, -0.22477037, +0.22748824, -0.07231152, -0.09323017, -0.11010048, +0.10458306, +0.02178000, +0.11060433, -0.03501643, +0.09722933, +0.19196825, +0.05563372, +0.01239725, -0.00982838, -0.06151086, +0.15980097, +0.24334410, -0.04147844, +0.26481183, +0.38955994, +0.60734036, -0.04511875, +0.01481375, +0.11380149, -0.04654137, -0.08789699, +0.16249061, +0.44336590, +0.09609005, -0.43656828, +0.25937437, -0.18824989, +0.03861956, +0.08118780, -0.05673125, +0.07685335, +0.06422936, -0.15055202, -0.23674954, -0.02837275, +0.07689249, -0.09554705, +0.10300710, -0.03364283, +0.38400286, +0.18906106, +0.11408780, -0.05308119, +0.06342440, +0.14302990, +0.37523507, -0.04079650, +0.07706960, -0.06727942, +0.05444575, +0.02115843, +0.03975208, -0.17411034, -0.25627562, -0.07654365, +0.05188764, -0.17563687, +0.19525967, +0.09729672, -0.03649605, -0.08789075, +0.07992925, -0.02432055, -0.03109226, -0.37808044, -0.28846422, +0.10085985, -0.11298547, -0.06202208, -0.16402472, +0.10122672, +0.06814241, -0.01444996, +0.08939016, -0.14410871, +0.01148410, +0.18662961, +0.05763482, -0.11626968, -0.09689040, +0.07769595, -0.00712433, -0.04152218, +0.15589797, +0.00182290, -0.07762635, +0.00310773, -0.00109518, +0.14340766, +0.01615321, -0.30300672, +0.05958845, +0.03986360, +0.09625500, -0.04788909, /* S2.TCP_OPTLEN_4 */ - -0.00191757, -0.93781408, +0.03824085, -0.00693624, -0.02973039, -0.02345221, +0.09216558, +0.12348154, +0.18489013, -0.02026858, +0.00055463, +0.32553818, +0.02601017, -0.02013872, -0.03663383, -0.07399919, +0.20223082, +0.04188141, -0.02718782, +0.05059415, -0.30146649, -0.01850080, -0.02973071, +0.18522442, -0.01669674, -0.06645296, -0.11571968, +0.06992816, +0.14302131, +0.09301419, +0.00822352, +0.29659092, -0.05053909, +0.02694193, +0.17440365, -0.07969684, +0.24445570, +0.77246087, +0.06125307, -0.20066314, -0.03892380, +0.02807820, -0.10079816, +0.01353272, -0.05960005, +0.36271222, +0.08973595, +0.11176530, -0.05765673, +0.04330899, +0.14857693, +0.28914238, +0.01367825, -0.09884426, -0.07209413, +0.00048744, +0.02261074, -0.22493931, -0.25805957, +0.24704055, -0.02879243, -0.18664235, -0.03946407, +0.13093811, -0.02906165, -0.12146141, +0.04947225, -0.06163087, -0.00032376, -0.28384924, -0.06312378, -0.01708160, -0.17578363, -0.06072311, -0.08869306, +0.31141482, -0.01081663, +0.03432137, -0.02184387, -0.01090762, +0.35236298, +0.01419936, -0.02490323, -0.06561217, +0.01151940, -0.12509257, +0.04855414, +0.21232344, -0.07268266, -0.00081824, -0.29075700, +0.31852541, + -0.04137662, -0.95954283, +0.19572443, +0.01274436, +0.01066238, -0.01222404, +0.10583417, +0.05473261, +0.20596288, -0.05560327, +0.03323726, +0.27182723, +0.04813410, +0.01042215, -0.01106627, -0.04967644, +0.17781485, +0.08386197, -0.03214175, +0.07967043, -0.32413601, -0.03647509, -0.03249856, +0.18029801, -0.02278866, -0.03387903, -0.08483126, +0.60555897, +0.99964654, +0.11227466, +0.00044891, +0.39910246, -0.10340924, +0.05613821, +0.21891552, -0.05457085, +0.21753852, +0.73103009, +0.36631899, -0.27420946, +0.03408238, +0.03979370, -0.06761227, +0.10079362, -0.04196147, +0.29795570, +0.19498730, +0.05397587, -0.08140041, +0.03206541, +0.20884812, +0.47194371, -0.15628036, +0.00138303, -0.06982077, -0.10355692, +0.10646636, +0.05606870, -0.21591595, -0.26032849, +0.06274433, +0.02449225, -0.18095733, -0.12228641, +0.11419725, -0.07331464, -0.12325017, +0.00377220, -0.04083094, -0.01607693, -0.55512242, -0.15648941, -0.03183280, -0.09246377, -0.06891547, -0.32801149, +0.15226948, +0.25735293, -0.00518637, +0.03680778, -0.12914098, -0.01537452, +0.34548531, +0.01820880, -0.04505841, -0.03870554, +0.02823713, -0.20891939, +0.05978631, +0.21377741, -0.06200514, -0.00388354, -0.48958629, -0.04600506, +0.28405258, +0.11734487, -0.26716803, +0.04333597, +0.27975238, +0.17473720, -0.04981008, /* S2.TCP_OPTLEN_5 */ - -0.04107597, -0.19555569, -0.10673000, -0.17015040, -0.07342834, -0.17948572, -0.08410326, -0.04733570, -0.12319807, -0.00109989, +0.26068757, -0.07728224, +0.04079648, -0.00137204, -0.01767289, -0.01297269, -0.10100511, +0.01507505, +0.16267458, +0.32158455, -0.16839233, +0.05658654, -0.07699947, -0.09841866, +0.07543527, -0.05780661, -0.05275841, +0.55495971, +0.77739357, +0.05569098, -0.52276365, -0.09390725, -0.07115093, -0.03307345, -0.09171290, -0.06440858, -0.05176480, -0.12067569, -0.12403801, -0.22801628, +0.01797083, +0.20683883, -0.12300339, +0.24772630, -0.01154998, -0.16310679, -0.04728218, -0.08229108, -0.15044103, -0.06202428, -0.19082885, -0.14094945, +0.16105081, -0.05668770, -0.00541458, +0.33178468, +0.23370733, -0.01734293, -0.05488063, -0.08896504, +0.17271504, -0.10168884, -0.04718014, -0.07864895, +0.08177091, -0.05967794, -0.17095026, -0.02723168, -0.03113465, -0.11532765, +0.50653781, +0.14655381, -0.18603242, -0.17439056, -0.28799087, -0.13861870, +0.05872576, +0.31087316, +0.30409638, +0.01161584, -0.27573760, +0.32459698, +0.18064209, +0.04782807, +0.24567964, +0.24412837, -0.18549273, -0.08049240, +0.00899798, -0.10240912, +0.13402971, -0.09781763, + +0.06282187, -0.14728920, -0.05769177, -0.19581785, -0.03970194, -0.20169530, -0.04678446, -0.01444136, -0.09216209, +0.00149009, +0.22199861, +0.07299233, +0.01343467, +0.00148737, -0.01728225, -0.00307820, -0.08330228, +0.00479743, +0.11940879, +0.33144656, -0.16970728, +0.02563131, -0.05289397, -0.06979171, +0.06044148, -0.09589451, -0.04339116, +0.41362502, +0.49739958, +0.05468285, -0.60260015, -0.03790371, +0.00466330, +0.17057285, +0.27167511, -0.06400992, +0.00023964, -0.06019894, -0.04627053, -0.22308468, +0.10861066, +0.19572617, -0.14272064, +0.20668242, -0.00706150, -0.06529178, -0.06275048, +0.08596587, -0.14747736, -0.03543706, -0.19205687, -0.01292918, -0.14621985, +0.15399921, -0.05222038, +0.08044006, +0.29180984, +0.19834438, +0.00645719, -0.04792070, -0.16474037, +0.09943502, -0.09905558, -0.12086485, -0.08908334, +0.01969434, -0.06710319, -0.15438362, -0.03354735, +0.05922186, -0.12338860, +0.16899495, +0.09981680, -0.11849402, -0.18349125, -0.33705243, -0.07126202, -0.15033905, -0.02545482, +0.23674744, +0.13777612, +0.03201333, -0.19632582, +0.25130911, +0.15023822, +0.01542372, +0.18401793, +0.20015565, -0.14085374, -0.12276720, +0.12889072, -0.07343261, +0.10787113, -0.05929020, -0.11382188, -0.14328075, +0.44655887, +0.06092100, -0.15585185, -0.08407039, +0.02183404, /* S2.TCP_OPTLEN_6 */ - +0.01304981, -0.03386937, +0.00124755, +0.04194540, -0.01886516, -0.05092068, -0.01950667, +0.00351785, -0.16084731, +0.00898229, -0.11475753, +0.01192500, +0.09846881, +0.01494363, +0.01002503, +0.03017811, -0.02122016, +0.39622719, +0.19824751, -0.06142080, -0.02641894, +0.11290399, -0.00852077, -0.00858659, +0.04351727, +0.01191019, +0.00716401, -0.03952626, +0.15362443, +0.12553406, -0.00219346, -0.05992139, -0.00002511, +0.00250316, -0.09241376, -0.01091890, -0.00859579, -0.07712971, +0.01108113, +0.03518131, +0.03251088, -0.00592120, +0.03051133, -0.06413081, +0.02001240, -0.02110002, +0.01664198, -0.05460559, -0.00555225, +0.00746231, -0.01646884, -0.16935982, -0.01127137, +0.04148830, +0.03423935, +0.11724359, +0.13548637, +0.01498906, +0.00958461, +0.01065341, +0.19945078, +0.00772297, +0.07845965, -0.00747662, +0.07231986, +0.00886284, +0.05330222, +0.01573379, +0.00840554, +0.04982860, +0.40527920, -0.07736294, -0.03296478, -0.02401581, -0.10190096, -0.03147495, +0.06026422, -0.10497044, +0.24588186, +0.02611088, +0.02566216, -0.07911662, +0.00955716, -0.09687525, -0.03738080, -0.04811708, -0.06706446, +0.00402969, +0.04562791, -0.01133092, -0.05013280, -0.01382860, + +0.10521785, -0.02424992, +0.06268654, +0.01848826, -0.02414293, -0.05909568, -0.01806160, +0.01281332, -0.18246097, -0.04291325, -0.10101021, +0.01229061, +0.10148086, +0.01605740, +0.00079899, +0.04264801, -0.02496925, +0.37207767, +0.17998935, -0.06275667, -0.04128753, +0.09582933, +0.01540888, -0.02770454, -0.03525300, +0.01197449, -0.00122411, -0.48013601, -0.31258820, +0.11251767, +0.01645914, -0.15688790, +0.02517631, -0.04737645, -0.23318066, -0.00790562, +0.00688674, -0.19068981, +0.08882053, +0.11393128, +0.10730350, +0.04284025, +0.05710507, -0.05016575, +0.02589744, +0.02321532, +0.00065396, -0.03638987, +0.00753873, +0.02019649, +0.00316816, -0.23740547, -0.07054042, -0.00300584, +0.06666713, +0.06663381, +0.11254235, +0.11672075, +0.02000105, +0.01995817, -0.02428443, +0.19216001, +0.01225936, +0.04595727, -0.02431012, +0.07958685, -0.00107318, +0.02211461, +0.02306255, +0.04961791, +0.12714776, +0.33725049, -0.07742159, -0.01590336, -0.02785347, -0.06962149, -0.04584702, -0.02926033, +0.03736333, -0.09468706, +0.33579561, +0.03446876, +0.08560312, -0.08020416, +0.03647814, -0.13527761, -0.02904165, -0.04789670, -0.06354565, -0.03119462, +0.11041044, +0.00892782, -0.06643121, -0.01429193, -0.00922179, +0.04483878, +0.36019135, -0.01775496, +0.00710824, -0.05023260, +0.03195876, /* S2.TCP_OPTLEN_7 */ - +0.01633188, -0.02246756, +0.00602640, +0.06697864, -0.01472188, -0.03998364, -0.00980551, +0.00749070, +0.01049864, +0.02056121, -0.09904131, +0.01479428, +0.10636437, +0.01675703, +0.01223349, +0.03352420, -0.01409326, -0.11120497, +0.18263000, -0.04993071, +0.00980029, +0.12828581, -0.00453061, +0.00077747, +0.09764482, +0.01944974, +0.01652637, +0.41952705, +0.50702277, +0.14139371, +0.06287202, +0.01476122, +0.00328815, +0.00677105, +0.00266583, -0.00690863, -0.00501640, +0.02112015, +0.01470345, +0.03995144, +0.03393378, -0.00054230, +0.03366672, -0.05369714, +0.02260292, -0.01624894, +0.02554549, -0.00531924, +0.00302522, +0.01606448, -0.01219980, -0.00364210, -0.00672271, +0.04352345, +0.03714420, +0.09316275, +0.12463609, +0.02286578, +0.01750111, +0.01872389, +0.15224675, +0.01102737, +0.10261287, -0.00085800, +0.06438306, +0.01427357, +0.07898296, +0.01854352, +0.01108724, +0.05410766, +0.36646791, -0.05483211, -0.02200994, -0.01346997, -0.08252332, -0.02349163, +0.03265457, -0.08728389, +0.22461813, +0.02780075, +0.02848718, -0.06679382, +0.08550966, -0.08209991, -0.02913208, -0.03933955, -0.05894111, +0.00985299, +0.05003519, -0.00719898, -0.03928123, -0.00824919, + +0.09511893, -0.01574229, +0.05770755, +0.04141165, -0.02731668, -0.04912879, -0.00092715, +0.01536641, +0.01476872, +0.02272721, -0.08609478, +0.00297945, +0.10941535, +0.01841685, +0.00202226, +0.04248302, -0.02070003, -0.11491338, +0.18578803, -0.04061572, +0.02829768, +0.11491406, +0.01526591, +0.01302052, +0.09872692, +0.02333987, +0.01110171, +0.51115942, +0.65235608, +0.12273303, +0.08648395, +0.06332532, +0.00939240, +0.05263000, +0.02711046, -0.00681132, +0.00539261, +0.08771875, +0.07207701, +0.10656385, +0.08363333, +0.04262978, +0.05931261, -0.04420543, +0.02745031, +0.00583519, +0.01287622, +0.03354899, +0.01387727, +0.02860863, +0.00271228, +0.02337782, -0.01376721, -0.00001028, +0.06609510, +0.06305863, +0.10611687, +0.11786619, +0.03146128, +0.03795497, -0.01532527, +0.12919063, +0.01469457, +0.08246223, -0.01698846, +0.06955667, +0.00406908, +0.04992103, +0.02342812, +0.04344712, +0.11159808, +0.31313081, -0.04472280, -0.01011293, -0.01765201, -0.05581522, -0.00527037, -0.02096589, +0.00227253, -0.07571729, +0.28277455, +0.03031881, +0.08048832, -0.06785002, +0.06627291, -0.11700406, -0.02104471, -0.03899147, -0.06042867, -0.02059369, +0.09915122, +0.01006095, -0.05231816, -0.00801978, -0.00710289, +0.03967717, +0.29154891, -0.01297559, -0.00557476, -0.04223114, +0.03151789, /* S2.TCP_OPTLEN_8 */ - +0.01177841, -0.03209381, -0.00405652, +0.35693764, -0.02314737, -0.04730556, -0.02438349, +0.00158585, -0.00728525, +0.00874857, -0.10610105, -0.01591114, +0.24527643, +0.01397814, +0.00730100, +0.02623296, -0.04069336, -0.14287780, +0.15242415, -0.06356161, +0.00208481, -0.02842578, -0.01346336, -0.01955881, +0.31993680, +0.01300973, +0.00235008, +0.31534370, +0.36172354, +0.33603444, +0.82599189, +0.00634942, -0.00302762, -0.02397937, -0.04141943, -0.01391720, -0.04187069, +0.00277733, +0.00859886, +0.03321539, +0.02452277, -0.00545047, +0.02892382, -0.06071764, +0.01682637, -0.02986395, +0.01796684, -0.04745963, -0.00707700, +0.00681110, -0.07607775, -0.05132845, -0.01419507, +0.03890894, +0.02249719, -0.12418772, +0.04466768, +0.01689555, +0.01273755, +0.00899542, +0.09861051, +0.00545129, +0.39078845, -0.00737206, +0.02726650, +0.00895542, +0.36868444, +0.01464250, +0.00381837, +0.02963524, +0.18024883, -0.07276670, -0.03532747, -0.02931386, -0.09131014, -0.05571531, -0.03376741, -0.09582397, +0.12867449, +0.02463117, +0.02160915, -0.09585705, +0.05760473, -0.09641651, -0.03709739, -0.04583673, -0.11155836, -0.00130965, +0.03992718, -0.02026655, -0.06820419, -0.01720958, + +0.16114666, +0.02404179, +0.02801085, +0.34906522, -0.03086710, -0.04789135, -0.01340281, +0.02125810, -0.01035431, -0.04648429, -0.09051123, -0.09856736, +0.22429750, +0.01722339, -0.00838612, +0.02915381, -0.04568368, -0.15383974, +0.16201450, -0.06037411, +0.02248570, -0.04876654, +0.00923571, -0.06185164, +0.27740284, +0.01731393, -0.00231632, +0.31853304, +0.24525073, +0.27277654, +0.78950552, +0.06228209, -0.08558640, -0.08121584, -0.13076475, -0.01295558, -0.05919486, +0.10857489, +0.04421505, +0.11346472, +0.00914320, +0.04910739, +0.06007498, -0.04211355, +0.02212042, -0.04418359, +0.02764914, -0.08134907, +0.00937156, +0.04869005, -0.07231749, -0.06959868, -0.02752968, -0.00633605, +0.06510405, +0.03950178, -0.21324263, +0.03380570, +0.02905470, +0.03678946, -0.01326194, +0.06940774, +0.00974087, +0.37599271, -0.01096947, +0.05814409, +0.00148138, +0.32183898, +0.02754418, +0.00854691, +0.00582070, +0.08283383, -0.06151525, -0.01469780, -0.02941410, -0.04712917, -0.01240422, -0.05425026, -0.07679795, -0.07930457, +0.23709520, +0.01928295, +0.08371609, -0.09088175, -0.13009093, -0.12440799, -0.02321676, -0.04095638, -0.12888711, +0.00129492, +0.03027235, +0.00191263, -0.06207051, -0.01901152, -0.00484217, -0.00384925, -0.09422320, -0.03631440, -0.05597830, -0.06050492, +0.01360717, /* S2.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S2.TCP_MSS */ - -1.10261521, -2.91193716, -0.21998088, -0.01055963, -0.00781173, +0.01881605, -0.16783948, -0.01066622, -0.19438506, -0.03211146, -0.21089102, +0.01100028, +0.01029920, -0.06702734, -0.02916171, -0.18248006, -0.00500569, +0.00275652, -0.04599892, -0.06019723, -0.03066925, -0.00624010, -0.01274316, -0.17509900, +0.00083325, +0.03638213, +0.06306846, +0.77919762, -1.01582158, +0.09919700, -0.01415418, -0.03227091, -0.12786884, -0.29245247, -0.05121962, -0.21367984, +0.00200647, -0.02488529, -0.49260076, +1.24547010, -0.05017052, +1.16711329, +0.63575730, -0.86027659, +0.07537477, -1.12788813, -1.15698238, -0.58372022, +1.68035481, -0.44541037, -0.02451913, -0.23072753, -0.04711161, +0.05414880, +0.00945369, +0.02504710, -0.01992460, +0.05856854, -0.03760204, -0.05392477, +0.00901944, -0.04621960, -0.00361295, -0.00714626, -0.01111946, -0.21065803, -0.00684198, -0.00375912, -0.02697646, -0.68544847, -0.59303336, +0.00037844, -1.62460418, -0.39807014, -0.42097985, -0.04138724, -0.00665690, -0.06011017, +0.49300960, -0.02203013, +1.35472638, -0.00011041, -0.01689845, -0.64935801, -0.04711162, +0.46937530, -0.04114005, -0.00184955, -0.25898025, -0.02774406, -0.06578908, -0.08320999, + -1.57321588, -3.45877948, -0.33615316, -0.01014135, +0.00703422, +0.05577849, -0.14694824, +0.01755572, -0.17286393, -0.02050218, -0.31195086, +0.09084196, +0.01160385, -0.08267979, -0.00677315, -0.20861554, +0.05467278, -0.01060177, -0.05837967, -0.07888164, -0.02365380, -0.01673850, -0.03610069, -0.16850312, +0.02076796, +0.03110071, +0.04981244, +1.28625628, -1.36683610, +0.12024531, -0.04711952, +0.01148159, +0.01506203, -0.27780971, +0.06508979, -0.32352052, +0.00701655, +0.02365958, -0.07847422, +1.13178117, -0.08976939, +1.31603451, +0.73655891, -1.24388624, +0.10667360, -1.48722096, -1.20050902, -0.58344842, +1.72528332, -0.30059558, +0.01097544, +0.02020517, -0.28533518, -0.06203415, +0.08154203, +0.02804340, +0.04466147, -0.02858181, +0.07182497, -0.05898801, -0.25670336, +0.08356788, -0.05887922, -0.00791787, +0.04530054, -0.00416412, -0.25445063, -0.00853712, -0.04073150, -0.03351863, -1.07277228, -1.18470204, -0.00958650, -2.02375623, -0.41876941, -0.42892538, -0.13377491, -0.02329012, -0.00883211, -0.08747823, +0.17599921, +0.01641271, +1.48065955, -0.03242481, -0.05896542, -1.16745421, -0.07954475, +0.78409766, +0.00892526, +0.01569580, -0.21194919, -0.04520041, -0.10607614, -0.45398545, -0.12906869, -0.09600300, +0.02403388, +0.02003814, -0.06485835, -0.02010007, -0.03413130, /* S2.TCP_SACKOK */ - +0.02782600, +0.05170763, +0.09304004, +0.01940505, +0.02983569, +0.29868851, +0.07154486, +0.01819724, +0.09193864, -0.00905034, -0.21144775, +0.03710194, +0.05510097, -0.00969484, -0.02503882, -0.04591493, +0.03657432, +0.05627643, +0.09581400, +0.13521992, +0.16279874, +0.01722477, +0.03365546, +0.03308450, +0.01824547, -0.03223239, -0.08327593, +0.10489632, -0.15210692, +0.10783041, +0.03037612, +0.07612779, +0.03664807, +0.07617456, +0.15063155, -0.09045787, +0.02927539, +0.04784879, +0.06825759, +0.07464783, -0.02228661, -0.08399545, -0.02449058, -0.15728544, -0.04177777, +0.06602612, +0.10413073, +0.10746223, +0.03423807, +0.07996546, +0.18588715, +0.09916157, +0.07912312, -0.08229261, +0.05030571, +0.05958759, +0.05816108, +0.12943157, +0.10583289, +0.01884827, +0.06055387, -0.21925175, +0.01330842, +0.01517274, +0.01956319, -0.07016776, +0.01208981, -0.04635665, +0.02349314, +0.03608010, +0.03545859, +0.05539107, +0.03158413, +0.01757251, +0.04260659, +0.01918742, +0.00836016, -0.20973099, +0.02185610, +0.00000344, +0.01719170, -0.19882471, +0.03264069, +0.25573100, -0.14031758, +0.09954379, +0.05282743, +0.02258281, +0.05000783, +0.02118251, +0.03806169, +0.02112748, + -0.00683605, +0.23022852, +0.24845167, +0.02038424, +0.04980060, +0.38939252, +0.10225992, -0.00568216, +0.09464219, -0.03348678, -0.29318813, -0.04041726, +0.09960951, +0.01292994, -0.00721127, -0.02723021, +0.04333504, +0.10200912, +0.12297607, +0.18763299, +0.24413733, -0.01140123, +0.03855139, +0.00744447, +0.02567538, -0.00110471, -0.08553203, +0.34491002, -0.02199745, +0.11411155, +0.08245590, +0.09610814, -0.01119714, +0.07669329, -0.03847677, -0.10326101, +0.01257256, +0.06175550, -0.05217539, +0.27735880, +0.01861227, -0.10390368, +0.02867266, -0.20758909, -0.03538615, -0.09388599, +0.18458241, +0.12171334, +0.06829268, +0.07707247, +0.36716628, +0.12898172, +0.03649203, +0.11950956, -0.07862236, +0.02913385, +0.13432431, +0.07930613, +0.13272013, +0.13463036, -0.19562244, +0.19090730, -0.24986612, -0.01442976, +0.04087199, +0.00251373, -0.05603119, -0.05133131, -0.03892220, +0.01636365, -0.17546561, -0.01503948, +0.06284807, +0.13023185, -0.00344765, -0.09635564, +0.14087396, -0.00264936, +0.02175131, -0.31705584, -0.16386656, +0.00764908, -0.05931719, -0.32720102, +0.13781860, +0.54590957, -0.21162587, +0.21283467, +0.05121412, -0.03299049, +0.03803933, +0.02299677, +0.02004179, +0.04959503, -0.00025257, -0.05038574, -0.03339930, +0.09591832, +0.03828423, +0.03640244, -0.03468278, /* S2.TCP_WSCALE */ - -0.69745084, -0.14660472, -0.12503646, -0.06727462, -0.54493742, -0.18066174, -1.40505793, +0.52826026, -1.17914571, -0.02382302, -0.14142132, +0.17527793, -0.01050349, -0.03114524, -0.05429089, -0.10213257, -0.39365105, -0.28177666, -0.14087503, +0.11755672, -0.34438901, -0.10675089, -0.22774460, +0.21650528, -0.18022176, -0.08550428, -0.17119952, -3.39796429, -4.71307689, +0.03865511, -0.39221772, -1.66390154, +1.00992567, +0.04255786, -0.51960765, -0.11474143, +0.19192155, -2.63493469, -0.15219276, +0.61321211, -0.06370416, +0.35762101, -0.13945047, -0.26475880, -0.08046802, -0.15509722, +0.01688448, -0.38144434, +0.12586618, +1.47988640, -0.84920350, -0.99232400, +0.01502822, -0.14715807, +0.34982797, -0.43537900, -0.18062369, -0.31681837, -0.34022939, +2.52435567, -0.32910043, +0.21678593, +0.17856151, -0.37644713, +0.46425630, -0.13909394, -0.11064000, -0.15062832, +0.63661508, +1.00797062, +4.11464969, -0.18990319, +0.60397192, +0.60201440, -0.26816996, +0.34930879, +0.09863749, -0.07442568, +3.15607606, -0.02262838, +0.05305234, +0.06409469, +0.27670484, +0.70770198, -0.08817292, +0.18127780, -0.50912324, -0.06822032, +2.74317505, +0.16961561, +0.46545595, +0.06735977, + -0.58577491, -0.13650840, -0.54794504, -0.03566872, -0.50593061, -0.20499957, -1.46608074, +0.66585392, -1.16255510, +0.05961177, -0.12157228, +0.20766918, -0.02068861, +0.00042961, -0.01554747, -0.06659062, -0.35738011, -0.29685161, -0.12718671, +0.11407128, -0.29660092, -0.13863103, -0.24934322, +0.29925342, -0.15641619, -0.03406725, -0.14964155, -4.44987644, -5.04031379, +0.09624658, -0.35834415, -2.08050853, +1.79293719, +0.12212237, -0.58275851, -0.06668077, +0.18524273, -2.73163839, -0.11968700, +0.48878518, -0.02484239, +0.41755758, -0.10369629, -0.26185646, -0.05676077, -0.24533807, +0.08578744, -0.36414434, +0.08201722, +1.47873014, -0.83078201, -1.42080332, +1.03094712, +0.00629120, -0.11688084, +0.37839839, -0.38561384, -0.18063403, -0.33226116, -0.32655373, +2.69880785, -0.41520024, +0.21327337, +0.21331831, -0.44381937, +0.54864384, -0.09382087, -0.11804245, -0.12491651, +0.76157273, +2.32524958, +1.91588714, -0.21307079, +0.77019404, +0.65629528, +0.57482630, -0.95171285, +0.32059606, +0.15888047, -0.07770523, +4.55416951, -0.02938785, -0.06064043, +0.02576749, +0.28049708, +0.85984397, -0.10603795, +0.16157657, -0.48403966, -0.14411569, +2.75878721, +0.15789858, +0.50343252, -0.44510854, +0.10980029, -0.29020675, +3.76394362, +0.12391820, +0.06393539, -0.20094801, -0.06759060, /* S2.TCP_CORR_WINDOW_MSS */ - +1.20889928, +6.41941476, -0.21858412, +0.42020779, +0.42239499, +0.36288311, -0.19227900, +0.10327609, -0.24105424, -0.04411330, +0.05625112, -0.78566185, -0.01680577, -0.07662349, -0.07662210, -0.02285072, +0.33841141, -0.05298039, +0.31081391, -0.10864566, -0.02829085, +0.11120223, +0.22274201, -0.11809484, -0.03281205, -0.00662900, -0.04023413, -1.87472326, +1.53550179, -2.00648594, +0.95279639, -0.26716017, -0.33062440, -0.54071925, -2.00652768, +0.10636965, -0.23186370, +0.37874818, -0.97853195, -0.89639932, -0.06424365, -0.12722344, -0.14302891, -0.05847746, +0.24058211, +0.23885849, -2.87336424, -1.53992279, -0.47049196, -1.61569365, -1.63640435, +0.08272120, -0.07838024, -0.01434603, -0.45215036, -0.89220829, -0.24418708, -0.23801174, -0.01888790, +0.33196624, -0.17881793, -0.00557181, -0.14687808, +0.13068362, +0.83047815, +0.55526700, -0.01466790, -0.05043204, -0.37432678, +0.87786335, +2.40571704, +0.13621345, +1.91036082, +1.29921568, +1.61984286, +0.19235978, +0.01801081, +0.24608997, -1.98903458, -0.03330383, -0.20639857, -0.06036625, +0.19575940, +1.19124317, -0.03827606, -0.09636742, +0.13245924, +0.47392063, -1.81200996, +0.36810427, +1.06931512, +0.23608482, + +1.85796357, +6.80031622, -1.29598057, +0.41612695, +0.40352339, +0.50743318, -0.15830260, +0.07816788, -0.23876530, -0.03928497, +0.06494914, -1.13540412, -0.04402656, -0.06395971, -0.09387129, -0.03680011, +0.17347341, -0.09543350, +0.32980440, -0.22134998, -0.02938571, +0.10741489, +0.23495454, -0.14710864, -0.06104803, -0.04405448, -0.04201861, -2.39691067, +1.37469811, -2.14564867, +0.87082035, -0.41599170, -0.85054030, -0.69973331, -2.07138930, +0.04884418, -0.29417269, +0.38240435, -3.21477604, -1.32670123, +0.01565033, -0.12375918, -0.15262527, -0.22159729, +0.27408663, -0.07260589, -3.20473214, -1.68446934, -0.64100998, -1.97073153, -2.09642921, -0.78751541, +0.19170673, -0.12047426, +0.01048723, -0.55287511, -1.07168873, -0.24840975, -0.27590967, -0.07298270, +0.20440101, -0.12671947, -0.01870497, -0.15595253, +0.07245821, +1.05082034, +0.60822489, -0.02632224, -0.08207163, -0.42556802, -0.08437524, +1.02768230, +0.09924095, +0.55279152, +1.19541999, +1.82709676, +0.44297467, +0.10306164, +0.03600218, +0.25392877, -2.76776120, -0.01176326, -0.26832047, -0.09284150, +0.23618109, +0.07733215, -0.04855660, -0.49525535, +0.09475056, +0.55539340, -1.87235431, +0.36766755, +1.49328627, +1.10453118, +0.32769690, +3.38640783, -0.44286438, +0.10562457, +0.29145305, -0.15664418, -0.03470882, /* S3.TCP_WINDOW */ - -0.79779965, +1.84737953, -0.61466374, +0.35913643, +0.56530251, +0.33843156, -0.62878617, +0.09505301, -0.66534444, -0.05642285, -0.45620012, -0.94086890, -0.04436567, -0.09051451, -0.11163027, -0.14708349, +0.28858567, -0.09606554, +0.25819774, -0.23139647, -0.06949229, +0.10185985, +0.25573028, -0.20065884, -0.07577470, -0.02092158, -0.27139809, +0.61318744, +0.40726845, -2.51092646, +1.49167683, -0.40476737, -0.64072024, -0.95287803, -2.57509092, +0.03782650, -0.28311598, +0.38374005, -2.18958789, +1.75108380, -0.09478435, +0.10929760, -0.07806424, +0.38732941, +0.21599246, -0.05678512, +0.09784815, -2.27769590, +0.38599143, -2.26889678, -1.99381802, -0.14774472, -0.16218717, -0.09578947, -0.55764582, -1.07508125, -0.40920552, -0.35419435, -0.07276285, +0.24035151, -0.12566876, -0.08974250, -0.18384241, +0.06178930, +0.95970335, +0.58096073, -0.03349093, -0.07946925, -0.64922454, +0.45975637, +0.13904504, +0.12070625, -0.83237424, +1.08519729, +1.56015231, +0.20572884, +0.03272795, +0.16444691, +0.12797724, -0.04452529, -0.00622930, -0.12580451, +0.06596466, +0.72192250, -0.15744630, +0.39097586, +0.10614037, +0.59303204, -2.38420304, +0.40133612, +1.16669467, +0.26682759, + -0.74886665, +1.91121726, -2.04845298, +0.36617509, +0.54723771, +0.42966249, -0.60727423, +0.10528754, -0.68894038, +0.03000949, -0.53663770, -1.10587370, -0.07781889, -0.08379003, -0.11326344, -0.14635204, +0.15471196, -0.11753719, +0.23857500, -0.29124634, -0.05451447, +0.07285514, +0.24836629, -0.08342070, -0.08321113, -0.04086263, -0.38799765, +0.79884518, +0.43357109, -2.71588877, +1.54637029, -0.47468805, -1.31175398, -1.10961034, -2.46446730, -0.00418251, -0.28687741, +0.39304204, -4.21809719, +1.81132274, -0.03122790, +0.06988447, -0.09924786, +0.48064185, +0.23821338, -0.01342858, +0.33423788, -2.24470134, +0.34917577, -2.47633433, -2.40250086, -0.96641028, +0.36061458, -0.19533310, -0.05021258, -0.62047509, -1.20434616, -0.44387965, -0.36927378, -0.10084559, +0.09318711, -0.10741477, -0.11200720, -0.26887525, +0.02689605, +1.20372505, +0.63840644, +0.00040993, -0.09346439, -0.68119570, -0.27472308, +0.03277835, +0.07418214, -0.46212698, +1.07987818, +1.48657862, +0.74518290, +0.13713305, +0.06464291, +0.13357275, -0.05927100, +0.03717526, -0.02253604, -0.19748358, +0.03885527, +0.84369803, -0.18120144, +0.29885315, +0.11817066, +0.69906458, -2.40121232, +0.37512952, +1.47084709, +0.61960156, +0.30758469, +0.03397635, +0.15194661, +0.05715709, +0.32388185, -0.15415566, -0.15598785, /* S3.TCP_FLAG_F */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_S */ - -0.03565425, -0.12031751, +0.01410377, -0.03733685, -0.04290593, +0.03383926, +0.02456627, -0.03418294, +0.05736130, -0.09829535, +0.01522818, -0.01334850, +0.02398560, -0.15107078, +0.00269606, -0.01383837, -0.04642883, +0.01222783, -0.03718948, -0.00243925, +0.01100366, -0.01174748, -0.01996881, -0.02334183, -0.02489297, +0.06285062, +0.07732313, +0.01271066, -0.48531837, +0.16163489, -0.05461606, +0.02166714, -0.00769562, +0.05421353, +0.19271342, +0.06980222, -0.01300888, -0.05471873, +0.04591579, -0.07492281, -0.14257139, -0.03493030, +0.02068318, -0.00505625, +0.07704158, -0.01440035, +0.07781184, +0.10350578, -0.04894852, +0.03607915, -0.03123038, +0.06583537, -0.01511478, +0.02788803, +0.00620495, +0.05853870, +0.00292870, +0.07120668, -0.01765991, -0.08235173, -0.03726522, +0.01290058, -0.03226086, -0.06792170, -0.04191440, -0.02213922, -0.01225415, -0.00268488, -0.01410901, -0.08025532, -0.07806613, +0.01076804, -0.03295247, -0.07183350, -0.05516275, -0.05760354, -0.02960908, -0.01765282, -0.06705331, -0.07827712, -0.04447917, -0.02605482, -0.03697022, -0.00837477, -0.02459610, -0.02271952, -0.01249621, -0.03707216, +0.01427012, -0.05325748, -0.05596872, -0.04076867, + -0.02692949, -0.26352352, +0.02966554, -0.04555509, -0.04650064, +0.01094932, +0.02335833, -0.04848958, +0.05313254, -0.10127259, +0.00890235, +0.01784653, +0.00354649, -0.12047973, -0.01133804, -0.04675873, -0.05628754, -0.00841437, -0.04286871, -0.01704597, -0.00270729, -0.01764886, -0.03784919, -0.04384036, -0.02519286, +0.03367387, +0.03980248, +0.04772061, -0.25341523, +0.18971179, -0.07744862, +0.02445471, +0.01918467, +0.07189842, +0.22607427, +0.04412171, -0.00764853, -0.06299524, +0.16811058, -0.06475945, -0.06652437, -0.03921163, -0.00300997, +0.04201184, +0.05711096, -0.00552910, +0.08402896, +0.06985916, -0.05810730, +0.06451459, -0.01140500, +0.10731423, -0.03931632, -0.02559679, -0.00756515, +0.00112601, +0.05923782, +0.00867943, +0.07750982, -0.02851136, -0.20320390, -0.03813422, -0.00163054, -0.02968738, -0.07398792, -0.05327183, -0.04113515, -0.02174185, -0.04110393, -0.00371948, -0.05050590, -0.05624916, -0.01055658, -0.01860450, -0.08334538, -0.12859975, -0.06218948, -0.06907857, -0.03528779, -0.02539194, -0.09669528, -0.03309768, -0.04619117, -0.04457023, -0.04654770, +0.03567196, -0.03781705, -0.03420175, -0.00964102, +0.00790980, +0.02911350, -0.05868049, -0.08790947, -0.02640770, -0.05519769, -0.09135908, -0.14232089, -0.00635150, -0.05639140, +0.00910470, +0.01936306, /* S3.TCP_FLAG_R */ - +0.00374153, +0.00400234, +0.00337465, +0.00379636, +0.00355441, +0.25947458, +0.03568934, +0.00392278, +0.05992721, -0.03243124, +0.02795983, +0.01907666, +0.02212692, -0.06270060, +0.01641249, +0.01312527, +0.00655374, +0.02001283, +0.00315101, +0.01289085, +0.02289616, +0.00669585, +0.00523132, +0.00881031, +0.00937710, +0.05089687, -0.01671247, +0.01686616, -0.26353374, +0.10051837, +0.00569580, +0.03179862, +0.01046760, +0.04554125, +0.12932782, +0.04805871, +0.01726810, +0.00279521, +0.04331268, +0.00389849, -0.05918877, +0.00458968, +0.03428022, +0.01543475, +0.00389175, +0.00843591, +0.07171708, +0.08628899, +0.00615365, +0.06025007, +0.01551540, +0.07130442, +0.00281870, -0.03774138, +0.03410151, +0.03438301, +0.01637140, +0.04536143, +0.00974994, +0.00334276, +0.00306020, +0.02132060, +0.00391049, +0.00229887, +0.00186651, +0.01718397, +0.00332226, +0.01316254, +0.01047529, +0.00550519, +0.00451540, +0.02199360, +0.01310552, +0.00542090, +0.00441318, +0.00366381, +0.00135920, +0.01160515, +0.00455635, -0.02132440, +0.00388451, +0.00552468, +0.00278682, +0.01198400, +0.00685405, +0.00584525, +0.02765945, +0.00342807, +0.04381726, +0.00449785, +0.00679650, +0.00329108, + +0.03363545, -0.10877859, -0.02120482, -0.00074272, +0.00314704, +0.43006989, +0.03627944, -0.00252693, +0.06279825, -0.02832489, +0.05988622, +0.02062174, +0.03145621, -0.07970958, +0.01080254, +0.00967331, +0.02948704, +0.03193185, +0.00133279, +0.04199910, +0.03484037, +0.01682021, -0.00573498, +0.01368009, +0.02507982, +0.07335755, -0.08827935, +0.01074345, -0.33518148, +0.11516045, +0.00056609, +0.03733543, +0.11457010, +0.07761771, +0.19596117, +0.12128724, +0.05567651, -0.00203606, +0.27489848, +0.02115553, -0.05112740, +0.01203371, +0.05762495, +0.07201308, +0.01987038, +0.04594706, +0.15004975, +0.16106984, -0.00445042, +0.13346427, +0.04469233, +0.16488067, +0.02812718, -0.01201331, -0.08313256, +0.05856488, +0.05775971, +0.02392298, +0.05688830, +0.02606175, -0.14593953, -0.01392575, +0.03552982, +0.01434675, -0.00179606, +0.00110956, +0.01155890, +0.00541224, -0.01445411, +0.02603583, -0.07171918, -0.03385324, +0.02973723, +0.14317630, +0.00587990, -0.03250131, -0.00018888, +0.00907474, -0.00206128, +0.02170317, +0.03199706, +0.01400580, -0.00925037, -0.00362693, -0.00808357, +0.03008892, -0.00779694, +0.01519674, +0.03732113, -0.02439127, +0.05839048, +0.00202876, +0.00459656, -0.01136566, +0.00977014, -0.01815384, -0.06005661, +0.00560062, +0.00537560, +0.02621853, -0.02682339, /* S3.TCP_FLAG_P */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_A */ - -0.03606002, -0.12075543, -0.03978763, -0.03797076, -0.04435768, -0.07743537, +0.02358955, -0.03464235, +0.05347016, -0.10017009, +0.01390744, -0.01523007, +0.02259857, -0.15338205, +0.00235889, -0.01532635, -0.04815683, +0.01121452, -0.03753180, -0.00295904, +0.01014327, -0.01468163, -0.02205258, -0.02369331, -0.02578776, +0.06201645, +0.03564068, -0.03839842, -0.39818102, +0.16131907, -0.05501577, +0.02115424, -0.00845195, +0.03773958, +0.19008097, +0.06920916, -0.01394609, -0.05496233, +0.04538448, -0.07540873, -0.14803697, -0.03526614, +0.01999917, -0.00630939, +0.06789232, -0.01461462, +0.05670889, +0.10254717, -0.05066448, +0.03393381, -0.03931345, +0.06396573, -0.01866380, +0.02387599, +0.00282794, +0.05844487, +0.00205728, +0.04890980, -0.01877260, -0.08373927, -0.03903343, +0.00797425, -0.03336219, -0.06810422, -0.04208336, -0.02360580, -0.01256118, -0.00409548, -0.01485205, -0.09208382, -0.08018552, +0.00771442, -0.03554456, -0.07269339, -0.07881392, -0.05746393, -0.02971190, -0.01845746, -0.06798189, -0.07983379, -0.04483462, -0.03389820, -0.03737475, -0.01951185, -0.02549922, -0.02343001, -0.01416760, -0.05278240, +0.01392279, -0.05408571, -0.06292445, -0.04129477, + -0.02563664, -0.26329717, -0.03578531, -0.04542056, -0.05082841, -0.10277358, +0.02305503, -0.04784579, +0.04416805, -0.09496991, +0.00685903, +0.02383774, +0.00204931, -0.12776730, -0.01100774, -0.04559842, -0.05421984, -0.00898473, -0.04248068, -0.01639056, -0.00269099, -0.02151558, -0.03715271, -0.04184154, -0.02491270, +0.03459037, +0.00052856, -0.07854805, -0.24629612, +0.18983220, -0.07690197, +0.02550246, +0.02877135, +0.05369826, +0.25204725, +0.04815343, -0.00459963, -0.06156900, +0.16913162, -0.06389418, -0.07020323, -0.03873177, -0.00103088, +0.00393754, +0.04894148, -0.00601583, +0.00569923, +0.07235183, -0.05799791, +0.07006610, -0.01284108, +0.10665946, -0.02901705, -0.02833589, -0.00768976, -0.00012637, +0.05969071, +0.00821374, +0.06358901, -0.02305372, -0.20207124, -0.04362947, -0.00827059, -0.02950301, -0.07288057, -0.05255044, -0.04139165, -0.01674113, -0.04046130, -0.00237869, -0.06141932, -0.05729367, -0.01205442, -0.01824416, -0.08305040, -0.12978796, -0.06218664, -0.06800325, -0.03404849, -0.02576298, -0.08086323, -0.02779779, -0.04514325, -0.04939761, -0.04576153, -0.00689406, -0.03854745, -0.03344716, -0.00951015, -0.06283529, +0.03021472, -0.05848422, -0.09002123, -0.08270518, -0.05486749, -0.08990619, -0.14314098, -0.01622382, -0.05493898, +0.01266075, +0.01909021, /* S3.TCP_FLAG_U */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_E */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_C */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_RES8 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_RES9 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_RES10 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_FLAG_RES11 */ - +0.00386584, +0.00410802, +0.00486396, +0.00394602, +0.00375974, +0.07969206, +0.03589214, +0.00408091, +0.06022780, -0.03078225, +0.02858297, +0.02205266, +0.02290616, -0.06226819, +0.01675561, +0.01745947, +0.00744663, +0.02044332, +0.00325811, +0.01310558, +0.02344896, +0.00695504, +0.00558403, +0.00894174, +0.00980617, +0.05208115, +0.03116730, +0.01837675, -0.18832506, +0.10062730, +0.00580399, +0.03194770, +0.01066363, +0.04643222, +0.13005086, +0.04904070, +0.01798033, +0.00288326, +0.04346058, +0.00402806, -0.05253081, +0.00471112, +0.03495075, +0.01565675, +0.03861798, +0.00848881, +0.07189614, +0.08650611, +0.00643653, +0.06060304, +0.01787394, +0.07158079, +0.00671539, +0.01540652, +0.03577825, +0.03442081, +0.01663290, +0.04735938, +0.00999508, +0.00367943, +0.00385762, +0.02207890, +0.00453732, +0.00236331, +0.00192720, +0.01854449, +0.00343085, +0.01638374, +0.01073045, +0.00719829, +0.00469113, +0.02290140, +0.01327189, +0.00558618, +0.00482287, +0.00367825, +0.00139775, +0.01183930, +0.00476010, -0.02000898, +0.00401379, +0.00981141, +0.00290671, +0.01464515, +0.00740888, +0.00605637, +0.02794534, +0.00534005, +0.04390615, +0.00469064, +0.00721669, +0.00345502, + +0.02491985, -0.10933438, -0.00500018, -0.00143291, +0.00297117, +0.13090645, +0.03829074, -0.00322692, +0.06321302, -0.03406493, +0.06889585, +0.09878737, +0.04317443, -0.08082807, +0.01044607, +0.01564566, +0.02214703, +0.03996533, +0.00092242, +0.04477997, +0.04636082, +0.01638081, -0.00818391, +0.00892404, +0.02853482, +0.07781514, +0.03401462, +0.00419814, -0.28642088, +0.11515823, +0.00110585, +0.03700630, +0.10959459, +0.08092362, +0.18479453, +0.11221133, +0.05927370, -0.00444309, +0.29391255, +0.00770490, -0.04957541, +0.01243143, +0.05388280, +0.07170846, +0.07323354, +0.04924433, +0.11290105, +0.15268014, -0.00765677, +0.12386895, +0.05334874, +0.16522806, +0.02588779, +0.00251040, +0.00418027, +0.07251592, +0.05766211, +0.02471457, +0.05856083, +0.02651407, -0.15022589, -0.00098615, +0.03832039, +0.02629927, -0.00269037, +0.00000893, +0.01120677, +0.00145249, -0.00076791, +0.02551648, +0.01771214, -0.03245965, +0.03196614, +0.14223547, +0.00512934, -0.03866207, -0.00046265, +0.00190025, -0.00178153, +0.02178508, +0.00395591, +0.01042377, -0.01327885, +0.00720013, -0.00931517, +0.05124488, +0.00101997, +0.01561665, +0.03680475, -0.00888958, +0.05805494, +0.00207241, +0.00246069, -0.01936109, +0.00871709, -0.01792410, -0.06032076, +0.02021890, +0.00361347, +0.02398680, +0.04303238, /* S3.TCP_OPT_0 */ - +0.00306220, +0.34410363, +0.02200068, -0.00394665, -0.24323365, -0.14402337, +0.06142539, -0.02129585, +0.06886950, -0.09596728, +0.01868342, -0.00811148, +0.02876649, -0.14984340, +0.00393048, +0.00330273, -0.03981106, +0.01830584, -0.02079927, +0.00874090, +0.01939705, -0.39501653, -0.32643487, -0.01998642, +0.09288515, +0.06504035, +0.12644804, +0.02632608, -0.39671666, +0.17203225, +0.19306997, +0.04908457, +0.02043637, +0.06123936, +0.21023175, +0.07180123, -0.00858647, +0.01699133, +0.07264658, +0.04969507, -0.13507230, -0.03167009, +0.02362875, +0.00461116, +0.11280584, -0.01118891, +0.08410440, +0.10688847, -0.04360589, +0.03925281, -0.01448222, +0.06983681, -0.00940435, +0.08234719, +0.01057400, +0.06049535, +0.00531396, +0.07658563, -0.01439674, -0.06189055, -0.03255729, +0.01570415, -0.01435856, -0.05999860, -0.03953549, -0.01489501, -0.00904485, +0.00161262, -0.38371591, -0.07303969, -0.06019953, +0.04622886, -0.02452364, -0.06176578, -0.00161597, -0.05740017, -0.02872406, -0.01494126, -0.06024944, -0.07619214, -0.04175475, -0.01809569, -0.03346904, +0.00139383, -0.02203146, -0.01946483, +0.12493848, -0.03250000, +0.01629753, +0.02702627, +0.02615755, -0.01410467, + +0.03102981, +0.21206269, +0.03277109, +0.00174074, -0.14098418, -0.14239420, +0.08508044, -0.04011652, +0.07093951, -0.10682107, +0.01180702, +0.02420978, +0.01063484, -0.12143548, -0.01212248, -0.01614552, -0.06079978, -0.00197825, +0.00804852, -0.00837880, +0.00908999, -0.33458764, -0.28140457, -0.03936032, +0.09773750, +0.03276718, +0.08676103, +0.07937833, -0.17801610, +0.18318365, +0.14614226, +0.04310603, +0.00230780, +0.06882248, +0.23571393, +0.03488859, -0.00692751, +0.00804225, +0.15542844, +0.01615391, -0.07134841, -0.03830699, -0.00415527, +0.08243187, +0.08233040, -0.03907362, +0.06321940, +0.06531451, -0.05722229, +0.05862699, -0.00549617, +0.09722263, -0.05068154, -0.02047833, +0.04895074, +0.00399269, +0.05715208, +0.00836096, +0.07987407, -0.02931086, -0.20110391, -0.03429829, -0.00016495, -0.01550842, -0.07787848, -0.04593773, -0.02656808, -0.01949638, -0.03914585, -0.38859377, -0.01545436, -0.04799677, +0.03431599, -0.01622522, -0.07724754, -0.03610780, -0.00189381, -0.07443895, -0.03488954, -0.02343233, -0.10941585, -0.04463752, -0.04890598, -0.03803808, -0.04091158, +0.04050369, -0.03719330, -0.03390416, +0.16053058, +0.01098359, +0.02599368, +0.02648585, +0.07719315, +0.01269063, -0.03144832, -0.06808383, -0.13949196, +0.00408893, -0.02593103, +0.01270058, +0.04889839, /* S3.TCP_OPT_1 */ - +0.03386864, +0.04290856, +0.01728650, -0.01127328, +0.02319528, +0.16629820, +0.07920591, +0.00782570, +0.08345455, -0.01327280, +0.04875363, +0.03197700, +0.03756844, -0.01534835, -0.03613784, -0.05715259, +0.03052141, +0.05660410, -0.00612270, +0.13789804, -0.27129618, +0.00837329, +0.01958422, +0.02488723, -0.02574026, -0.05994638, -0.13541116, +0.03434105, +0.03422946, +0.09845929, +0.01307388, +0.12603182, +0.01874715, +0.05328975, +0.14409246, -0.11455451, +0.02406474, +0.25996461, +0.07964170, +0.00876507, -0.03024535, +0.05211000, -0.08869298, +0.04446461, -0.05365914, +0.04166595, +0.07920086, +0.10204265, +0.02179838, +0.07262357, +0.11132195, +0.09185377, +0.06958267, -0.09045565, +0.04376928, -0.14155890, +0.03015494, +0.08481465, +0.09687775, +0.00915190, +0.00582675, +0.20186880, -0.00379507, +0.00888680, -0.02383059, -0.08358769, +0.34465350, -0.11196584, +0.01560491, +0.01707948, +0.00810099, +0.03742350, +0.02224611, +0.01192269, +0.01160786, +0.00828412, -0.03269344, +0.07272040, +0.00784644, -0.00404746, +0.00890277, +0.05308018, -0.02910548, +0.04980607, +0.04226507, +0.04131355, +0.04639507, +0.01452353, +0.04752897, +0.01545461, +0.02244447, +0.00463636, + +0.07152255, +0.23826428, +0.04171068, -0.02078457, +0.04224788, +0.23396805, +0.08936398, -0.01115120, +0.08836430, -0.02610044, +0.15298978, +0.06585944, +0.07102176, -0.00463764, -0.02812398, -0.05222459, +0.05373313, +0.14908554, -0.01187574, +0.26615678, -0.44360730, -0.03148811, -0.00041615, +0.03008709, -0.07482897, -0.06169351, -0.15265529, +0.09425852, +0.13635986, +0.11512259, +0.04461874, +0.13215062, -0.05259092, +0.06908694, +0.16250724, -0.14590336, +0.02208944, +0.35755569, +0.02187421, -0.11833815, -0.01743873, +0.09290032, -0.08987314, +0.07440215, -0.05248912, -0.08125692, +0.05861940, +0.14974621, +0.03268201, +0.09508488, +0.19698650, +0.15963636, +0.04953190, +0.10757679, -0.08481939, +0.04173678, -0.21415207, +0.03534722, +0.07277068, +0.16289365, -0.19528036, -0.03330059, +0.23381337, -0.05661997, +0.05479019, -0.04112379, -0.06658490, +0.60482066, -0.12851585, +0.00838255, -0.19596774, -0.05288275, +0.05553585, +0.11811145, +0.00399699, -0.09247661, +0.14218313, -0.00587637, -0.07002433, +0.11984547, -0.08140959, +0.00557798, -0.07613589, +0.08873096, -0.10923258, +0.18264783, +0.09025386, +0.10094721, +0.05664086, -0.02948620, +0.04676986, +0.02318123, +0.03581665, -0.01296725, -0.01195050, -0.04008565, -0.07578576, +0.06405864, -0.01400681, +0.00801642, -0.04503499, /* S3.TCP_OPT_2 */ - -0.04558580, -0.90008465, -0.12306700, -0.00162899, +0.18411973, +0.05633954, -0.01121577, +0.02236999, +0.03876632, -0.02481505, +0.06142299, +0.09657262, +0.05642588, -0.02514083, -0.04576411, -0.08479206, +0.04633468, +0.00363011, +0.00395706, +0.21742247, -0.32342632, +0.29843103, +0.27962773, +0.04406501, -0.05174812, -0.08068928, -0.20288707, +0.06293270, +0.24699939, +0.12479034, -0.16171933, +0.05039609, -0.05835106, -0.01571754, +0.08325796, -0.13468967, +0.07598102, +0.34051981, -0.00190014, -0.25916595, -0.04348754, +0.06460434, -0.12012215, +0.05624279, -0.07932262, +0.09096654, +0.01842312, +0.02455611, -0.06898842, +0.02503057, +0.00735785, +0.02825023, +0.09133701, -0.12648686, -0.07013078, +0.10147378, +0.04347740, +0.03547390, +0.06350735, +0.04352071, +0.01541360, +0.28277989, +0.00356212, +0.02434138, +0.00300624, -0.11933079, -0.08328920, -0.14731857, +0.36588252, -0.30227655, -0.01277611, +0.03511507, -0.12233495, -0.07912376, -0.23984888, +0.07891207, +0.00797742, +0.09065569, +0.00628148, -0.01287563, +0.03465793, +0.06368775, +0.01166789, +0.08778184, +0.05818142, +0.05906902, -0.16231369, +0.02852202, -0.01445095, -0.10167460, -0.14150000, +0.06982029, + -0.13671802, -1.27029202, -0.27818545, +0.00126096, +0.17298233, +0.04516526, -0.01266200, +0.00472798, +0.03619568, -0.06353539, +0.14683824, +0.23592555, +0.07786213, -0.02575231, -0.02589655, -0.09429354, +0.02499894, +0.00193154, -0.04341948, +0.37421675, -0.47235708, +0.44557869, +0.32988396, +0.03073108, -0.07654344, -0.08343899, -0.21570870, +0.03025681, +0.25184764, +0.14004059, -0.18468162, +0.08136424, -0.05058503, +0.01688181, +0.19353318, -0.16098717, +0.10587364, +0.48210593, +0.10955258, -0.69287673, -0.00057403, +0.10338156, -0.11566879, -0.03441361, -0.08444667, +0.11979226, -0.12913289, +0.01709366, -0.18899492, +0.06568899, +0.01877626, +0.14814016, -0.06998323, +0.11841740, -0.12424994, -0.13706964, +0.14796775, +0.04604644, +0.02490299, +0.11596909, -0.17056908, +0.04306066, +0.30151305, -0.03136865, +0.06712748, -0.05297740, -0.12066016, -0.14930165, -0.17683006, +0.47127946, -0.66676066, -0.10213125, +0.00755216, -0.26788174, -0.10883421, -0.53078012, +0.03866995, +0.06611088, -0.02231640, +0.10696688, -0.03538516, +0.01400173, +0.02567232, +0.06763733, -0.06682006, +0.15319482, +0.08722417, +0.08892244, -0.21784644, -0.06236933, -0.00157958, -0.15877535, -0.44364788, -0.27906022, +0.05648543, -0.07956342, -0.12415640, +0.05334432, -0.01026618, +0.06818288, -0.05749962, /* S3.TCP_OPT_3 */ - +0.21844055, +2.04751589, +0.44253897, -0.01589627, -0.02063690, +0.52895943, +0.40473449, -0.09496927, +0.23069418, -0.02714138, +0.02709296, -0.17385440, +0.01824774, -0.02382678, -0.04484806, -0.09901385, -0.05317530, +0.26888682, -0.02739027, -0.53962597, -0.30395227, +0.01556599, -0.07545239, -0.00549250, -0.04349013, -0.08361697, -0.16462687, -0.18875214, -0.65565877, +0.08305324, -0.03469937, +0.42650614, +0.22707607, +0.26291318, +0.39723514, -0.13209472, -0.18136975, +0.09905074, +0.41399586, +0.65878773, -0.06954073, +0.03442174, -0.11544633, +0.00789885, -0.06509421, +0.00740192, +0.25033024, +0.40346456, +0.35797717, +0.22325881, +0.47171691, +0.32486542, -0.16925876, -0.04883665, +0.42094552, +0.02143508, +0.01998233, +0.28225944, +0.30863341, -0.21313685, -0.03442363, -0.29349185, -0.03501594, -0.10822701, -0.00414963, -0.10803054, -0.02039336, -0.06548944, -0.23375746, +1.13106077, +0.17006769, -0.29403281, +0.53536729, +0.29391835, +0.66248575, -0.26943089, +0.00517668, +0.08275407, +0.04795254, -0.01891066, +0.13386414, +0.02087296, -0.01913650, -0.72817763, +0.01529803, -0.37939022, +0.44738588, -0.07885899, +0.25301188, +0.21055081, +0.09896712, -0.29483075, + +0.17557822, +1.82092531, +0.48671878, -0.01392625, +0.03703798, +0.55070959, +0.37282717, -0.13923704, +0.18982070, +0.01352381, +0.10746138, -0.29313442, +0.06252749, +0.01482990, -0.00371690, -0.08025250, +0.04639002, +0.32585869, -0.02635507, -0.50063804, -0.29892958, +0.01194626, -0.07961164, +0.06954370, -0.02156125, -0.04838151, -0.14746199, -0.12517419, -1.00012036, +0.10720546, +0.04453220, +0.29713069, +0.01829843, +0.09564023, +0.10085567, -0.07732815, -0.26151180, +0.05818360, +0.20469699, +0.48663891, -0.09657786, +0.05515937, -0.08744340, +0.08946821, -0.02533093, +0.36201654, +0.22449245, +0.24456224, +0.29805490, +0.12943962, +0.36065317, +0.12472322, +0.36887083, -0.15653788, +0.01626017, +0.33517034, +0.06842499, +0.04133405, +0.25677678, +0.30829672, -0.31254476, -0.03607937, -0.27314473, -0.01108701, -0.04420864, +0.12976188, -0.03857242, +0.00172458, +0.01229587, -0.33139942, +0.82262594, +0.13510541, -0.22765188, +0.23201168, +0.27111421, +0.70974540, +0.38779652, -0.25060606, +0.11389165, +0.12881566, +0.05660136, -0.05382565, +0.18952829, +0.08086226, +0.02286849, -0.68610178, +0.03936626, -0.31181437, +0.45324984, -0.13258470, +0.21637068, +0.20723804, +0.21061759, +0.39040668, -0.34464717, +0.13113879, +0.02507781, -0.09920171, -0.28770128, -0.03100088, -0.07062620, /* S3.TCP_OPT_4 */ - +0.07125362, +0.19692798, +0.16323439, +0.02180606, +0.03829776, -0.11863026, +0.18101294, +0.01792700, +0.25603636, -0.00167710, +0.07505684, +0.09533472, +0.05332977, -0.00617369, -0.01802994, -0.04532323, +0.06426902, -0.18201741, +0.02149039, -0.37766876, -0.13609108, +0.03405909, +0.04786528, +0.08701589, +0.04876671, -0.04063503, -0.07798364, +0.35755690, +0.52702745, +0.11186443, +0.02621432, +0.35668109, +0.04344531, +0.09267591, +0.23633628, -0.04491429, +0.03928341, +0.33539291, +0.16280380, +0.11029761, -0.02044952, +0.07743285, -0.07708574, +0.06665118, -0.02248496, +0.16775993, +0.11769534, +0.22329982, +0.10995874, +0.08716917, +0.19494056, +0.37745236, -0.11264211, -0.00366502, +0.16859218, +0.05831956, +0.06491621, -0.15435736, -0.15238469, +0.03952527, +0.02110865, -0.07826322, +0.01549887, +0.01498850, +0.01042720, -0.07071066, +0.01446869, -0.02363502, +0.03070696, +0.43082769, +0.23324864, -0.19455184, +0.10877935, +0.07660949, +0.19597810, +0.03417429, +0.01476978, +0.12757151, +0.12619752, +0.00163311, +0.26351869, +0.09210269, +0.01170866, -0.53982362, +0.07617799, -0.31280034, +0.14950409, +0.09153255, +0.07158739, +0.06460660, -0.18417890, +0.02447949, + +0.17711300, +0.40487497, +0.50708923, +0.02444099, +0.09492541, -0.11586831, +0.18218115, -0.02538358, +0.28499045, +0.05783197, +0.19182552, +0.13807708, +0.12198109, +0.02784319, +0.00006733, -0.04175231, +0.16511597, -0.34500971, +0.01312616, -0.56052752, -0.13891824, +0.04685464, +0.08696740, +0.20175987, +0.14199854, -0.02523691, -0.07208417, +0.90246082, +1.40328476, +0.11542189, +0.05546462, +0.50384081, -0.05609631, +0.18603062, +0.36340863, -0.00159272, +0.02892119, +0.60135206, +0.54955153, +0.39321724, +0.01170843, +0.14488813, -0.06985162, +0.16397231, +0.00514901, +0.60440118, +0.19570811, +0.34345384, +0.24967310, +0.06503293, +0.26746694, +0.65657847, +0.14446877, -0.15132155, +0.05653407, +0.26844116, +0.18265938, +0.10116282, -0.14673307, -0.12578534, -0.03302825, +0.00253164, -0.07588686, +0.00159418, +0.01672599, +0.06143196, -0.06124342, -0.00783026, +0.02913210, +0.04193837, +0.63831055, +0.37870165, -0.23564902, +0.48207388, +0.09229857, +0.22673597, +0.20104107, +0.02284887, +0.07498709, +0.21352319, +0.23791632, -0.01659552, +0.51114892, +0.18370952, -0.07784601, -0.71479170, +0.14036552, -0.42111909, +0.16742536, +0.14036486, +0.12364960, +0.11309125, -0.31923254, +0.19569581, +0.01953811, +0.16592979, +0.07079494, -0.08343974, -0.02774682, +0.04808652, -0.02565117, /* S3.TCP_OPT_5 */ - -0.06419451, -1.47411115, -0.05612594, +0.06068859, -0.09358453, -0.06950163, -0.04191419, +0.11387980, +0.15694377, -0.03141072, +0.15215514, +0.39210718, +0.11509149, -0.02784554, -0.05097194, -0.08698642, +0.16344761, -0.34214376, +0.05421308, -0.62008839, -0.20684820, -0.27873097, -0.09743231, +0.21316744, +0.19589212, -0.10034891, -0.15686851, +0.68273356, +1.02629181, +0.21318256, +0.25176044, +0.19294290, -0.11489855, -0.06361253, +0.10330351, -0.10562513, +0.24689448, +0.80997944, +0.03708915, -0.31044056, -0.04289092, +0.15258151, -0.17181481, +0.15800856, -0.06651840, +0.42321486, +0.01022201, -0.02804174, -0.11217201, -0.05669512, -0.08121714, +0.18027155, -0.21361384, -0.03946575, -0.19498745, +0.11586924, +0.12402759, -0.21121783, -0.21422148, +0.25349710, +0.04941490, -0.14371891, +0.05061638, +0.08585885, -0.01017910, -0.16622232, +0.04420727, -0.06646857, -0.03125394, -0.50981864, +0.43839996, -0.31987200, -0.28900920, -0.14706873, -0.39549417, +0.30528467, +0.00448176, +0.24525027, +0.25024592, -0.01980497, +0.60169693, +0.19504031, +0.01201012, -0.95536716, +0.16875591, -0.60560616, -0.04052707, +0.23772942, -0.11901246, -0.02003629, -0.66910343, +0.34037701, + +0.06276464, -1.69585541, +0.31018504, +0.07441105, -0.00389602, -0.02486128, -0.04395630, +0.04396249, +0.20308589, -0.04699312, +0.16433293, +0.34115511, +0.14474522, +0.00574598, -0.03428355, -0.05915596, +0.06877698, -0.34950856, +0.03286572, -0.55842832, -0.11304522, -0.26591173, -0.06078067, +0.25871337, +0.25702475, -0.08348048, -0.11648617, +1.04152105, +0.93264239, +0.19278364, +0.22304022, +0.36417527, -0.10980331, +0.13212272, +0.47758829, -0.06437076, +0.22070709, +0.88138656, +0.98366774, -0.19960859, +0.10918076, +0.19602462, -0.14318273, +0.20919893, -0.03187934, +0.50375882, +0.05794910, -0.02459776, -0.10748317, -0.05844224, -0.15561444, +0.41998844, -0.29221789, -0.20420256, +0.04831372, -0.18236109, +0.16536572, +0.13728837, -0.18251949, -0.11223363, +0.05332298, -0.00302145, -0.11611435, -0.01374331, +0.01140437, -0.00825553, -0.18685248, -0.03756110, -0.03053033, +0.02718580, -0.19637686, +0.13052871, -0.24848908, -0.21614181, -0.14859223, -0.48960064, +0.08148671, +0.26506464, -0.00339425, +0.22588978, +0.24820894, -0.04976857, +0.68961295, +0.22135436, -0.07926922, -0.81932752, +0.15903479, -0.58543773, -0.04468289, +0.27126609, +0.03198898, +0.02904972, -0.94182754, -0.13926579, +0.27835832, +0.31142059, +0.06903216, -0.14206837, +0.28911190, +0.10696205, -0.04804333, /* S3.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_0 */ - +0.00306220, +0.34410363, +0.02200068, -0.00394665, -0.24323365, -0.14402337, +0.06142539, -0.02129585, +0.06886950, -0.09596728, +0.01868342, -0.00811148, +0.02876649, -0.14984340, +0.00393048, +0.00330273, -0.03981106, +0.01830584, -0.02079927, +0.00874090, +0.01939705, -0.39501653, -0.32643487, -0.01998642, +0.09288515, +0.06504035, +0.12644804, +0.02632608, -0.39671666, +0.17203225, +0.19306997, +0.04908457, +0.02043637, +0.06123936, +0.21023175, +0.07180123, -0.00858647, +0.01699133, +0.07264658, +0.04969507, -0.13507230, -0.03167009, +0.02362875, +0.00461116, +0.11280584, -0.01118891, +0.08410440, +0.10688847, -0.04360589, +0.03925281, -0.01448222, +0.06983681, -0.00940435, +0.08234719, +0.01057400, +0.06049535, +0.00531396, +0.07658563, -0.01439674, -0.06189055, -0.03255729, +0.01570415, -0.01435856, -0.05999860, -0.03953549, -0.01489501, -0.00904485, +0.00161262, -0.38371591, -0.07303969, -0.06019953, +0.04622886, -0.02452364, -0.06176578, -0.00161597, -0.05740017, -0.02872406, -0.01494126, -0.06024944, -0.07619214, -0.04175475, -0.01809569, -0.03346904, +0.00139383, -0.02203146, -0.01946483, +0.12493848, -0.03250000, +0.01629753, +0.02702627, +0.02615755, -0.01410467, + +0.03102981, +0.21206269, +0.03277109, +0.00174074, -0.14098418, -0.14239420, +0.08508044, -0.04011652, +0.07093951, -0.10682107, +0.01180702, +0.02420978, +0.01063484, -0.12143548, -0.01212248, -0.01614552, -0.06079978, -0.00197825, +0.00804852, -0.00837880, +0.00908999, -0.33458764, -0.28140457, -0.03936032, +0.09773750, +0.03276718, +0.08676103, +0.07937833, -0.17801610, +0.18318365, +0.14614226, +0.04310603, +0.00230780, +0.06882248, +0.23571393, +0.03488859, -0.00692751, +0.00804225, +0.15542844, +0.01615391, -0.07134841, -0.03830699, -0.00415527, +0.08243187, +0.08233040, -0.03907362, +0.06321940, +0.06531451, -0.05722229, +0.05862699, -0.00549617, +0.09722263, -0.05068154, -0.02047833, +0.04895074, +0.00399269, +0.05715208, +0.00836096, +0.07987407, -0.02931086, -0.20110391, -0.03429829, -0.00016495, -0.01550842, -0.07787848, -0.04593773, -0.02656808, -0.01949638, -0.03914585, -0.38859377, -0.01545436, -0.04799677, +0.03431599, -0.01622522, -0.07724754, -0.03610780, -0.00189381, -0.07443895, -0.03488954, -0.02343233, -0.10941585, -0.04463752, -0.04890598, -0.03803808, -0.04091158, +0.04050369, -0.03719330, -0.03390416, +0.16053058, +0.01098359, +0.02599368, +0.02648585, +0.07719315, +0.01269063, -0.03144832, -0.06808383, -0.13949196, +0.00408893, -0.02593103, +0.01270058, +0.04889839, /* S3.TCP_OPTLEN_1 */ - +0.03386864, +0.04290856, +0.01728650, -0.01127328, +0.02319528, +0.16629820, +0.07920591, +0.00782570, +0.08345455, -0.01327280, +0.04875363, +0.03197700, +0.03756844, -0.01534835, -0.03613784, -0.05715259, +0.03052141, +0.05660410, -0.00612270, +0.13789804, -0.27129618, +0.00837329, +0.01958422, +0.02488723, -0.02574026, -0.05994638, -0.13541116, +0.03434105, +0.03422946, +0.09845929, +0.01307388, +0.12603182, +0.01874715, +0.05328975, +0.14409246, -0.11455451, +0.02406474, +0.25996461, +0.07964170, +0.00876507, -0.03024535, +0.05211000, -0.08869298, +0.04446461, -0.05365914, +0.04166595, +0.07920086, +0.10204265, +0.02179838, +0.07262357, +0.11132195, +0.09185377, +0.06958267, -0.09045565, +0.04376928, -0.14155890, +0.03015494, +0.08481465, +0.09687775, +0.00915190, +0.00582675, +0.20186880, -0.00379507, +0.00888680, -0.02383059, -0.08358769, +0.34465350, -0.11196584, +0.01560491, +0.01707948, +0.00810099, +0.03742350, +0.02224611, +0.01192269, +0.01160786, +0.00828412, -0.03269344, +0.07272040, +0.00784644, -0.00404746, +0.00890277, +0.05308018, -0.02910548, +0.04980607, +0.04226507, +0.04131355, +0.04639507, +0.01452353, +0.04752897, +0.01545461, +0.02244447, +0.00463636, + +0.07152255, +0.23826428, +0.04171068, -0.02078457, +0.04224788, +0.23396805, +0.08936398, -0.01115120, +0.08836430, -0.02610044, +0.15298978, +0.06585944, +0.07102176, -0.00463764, -0.02812398, -0.05222459, +0.05373313, +0.14908554, -0.01187574, +0.26615678, -0.44360730, -0.03148811, -0.00041615, +0.03008709, -0.07482897, -0.06169351, -0.15265529, +0.09425852, +0.13635986, +0.11512259, +0.04461874, +0.13215062, -0.05259092, +0.06908694, +0.16250724, -0.14590336, +0.02208944, +0.35755569, +0.02187421, -0.11833815, -0.01743873, +0.09290032, -0.08987314, +0.07440215, -0.05248912, -0.08125692, +0.05861940, +0.14974621, +0.03268201, +0.09508488, +0.19698650, +0.15963636, +0.04953190, +0.10757679, -0.08481939, +0.04173678, -0.21415207, +0.03534722, +0.07277068, +0.16289365, -0.19528036, -0.03330059, +0.23381337, -0.05661997, +0.05479019, -0.04112379, -0.06658490, +0.60482066, -0.12851585, +0.00838255, -0.19596774, -0.05288275, +0.05553585, +0.11811145, +0.00399699, -0.09247661, +0.14218313, -0.00587637, -0.07002433, +0.11984547, -0.08140959, +0.00557798, -0.07613589, +0.08873096, -0.10923258, +0.18264783, +0.09025386, +0.10094721, +0.05664086, -0.02948620, +0.04676986, +0.02318123, +0.03581665, -0.01296725, -0.01195050, -0.04008565, -0.07578576, +0.06405864, -0.01400681, +0.00801642, -0.04503499, /* S3.TCP_OPTLEN_2 */ - -0.03633321, -0.79350053, -0.10518267, -0.00546847, +0.19297926, +0.05567556, +0.00283329, +0.01658471, +0.04545587, -0.02277435, +0.05786766, +0.08136204, +0.05242899, -0.02353960, -0.04325870, -0.08174239, +0.04126637, +0.01422189, +0.00142828, +0.19887511, -0.31308329, +0.31914772, +0.28976583, +0.03933391, -0.06315467, -0.07639832, -0.19736354, +0.04301827, +0.21629333, +0.11807659, -0.17637403, +0.06146862, -0.04731940, -0.00529278, +0.09252650, -0.12944479, +0.06350020, +0.31009135, +0.01054378, -0.22664592, -0.04188927, +0.06122303, -0.11370187, +0.05149427, -0.07582678, +0.08059140, +0.02596783, +0.04092423, -0.05022868, +0.03459220, +0.02554202, +0.04123839, +0.08550707, -0.11958496, -0.04609738, +0.08683588, +0.04071371, +0.04081647, +0.07013096, +0.03144948, +0.01349870, +0.26342700, +0.00074543, +0.01979472, +0.00281423, -0.11281954, -0.06359303, -0.13986242, +0.37041719, -0.23509774, -0.01230494, +0.02740840, -0.09256610, -0.06117000, -0.20095116, +0.06325821, +0.00688622, +0.08607797, +0.00536325, -0.01138092, +0.02886225, +0.05888482, +0.00965045, +0.07537719, +0.05414538, +0.05455335, -0.14668487, +0.02141283, -0.00113879, -0.09354373, -0.12465220, +0.05034071, + -0.13061090, -1.13409185, -0.25310968, -0.00494490, +0.18667914, +0.04722635, -0.00201471, +0.00033844, +0.04114386, -0.05519065, +0.14723499, +0.21842894, +0.07643724, -0.02385688, -0.02372506, -0.09284019, +0.03054733, +0.02701578, -0.04641381, +0.35309272, -0.46921588, +0.50187022, +0.35672873, +0.02684291, -0.09593263, -0.07890983, -0.21229244, -0.01052962, +0.19746297, +0.13443288, -0.20560958, +0.08897211, -0.02976973, +0.01849139, +0.18661271, -0.15432076, +0.09054187, +0.44228558, +0.10369032, -0.64396571, -0.00517656, +0.10073764, -0.11017700, -0.04533698, -0.08031411, +0.11885392, -0.11964621, +0.04409886, -0.14909386, +0.07407779, +0.04898231, +0.15553804, -0.03806398, +0.11468393, -0.11616592, -0.10308802, +0.13152326, +0.04480327, +0.03127831, +0.12602981, -0.18017562, +0.03905121, +0.28386862, -0.03673073, +0.06815116, -0.04622109, -0.11229526, -0.11482589, -0.16579924, +0.48276825, -0.57005025, -0.11431398, +0.00074218, -0.19284150, -0.08708018, -0.47225999, +0.04693226, +0.05409261, -0.01827495, +0.10810135, -0.03274873, +0.01638915, +0.01443118, +0.06677914, -0.06469505, +0.13617959, +0.08668971, +0.09352634, -0.20213445, -0.07450776, +0.00961538, -0.14925136, -0.41924297, -0.25820089, +0.03365551, -0.07716716, -0.11936531, +0.05119539, -0.02911403, +0.06143773, -0.05548661, /* S3.TCP_OPTLEN_3 */ - +0.21108966, +1.95907484, +0.44131847, -0.02222780, +0.01755987, +0.52859374, +0.39775234, -0.09739383, +0.22855940, -0.02727073, +0.02655352, -0.17428507, +0.01748553, -0.02397821, -0.04501783, -0.10145326, -0.05426576, +0.26781111, -0.03049182, -0.54171462, -0.30544572, +0.08861899, -0.01701072, -0.00610659, -0.06584233, -0.08380848, -0.16486404, -0.19105782, -0.65820982, +0.08109354, -0.08185705, +0.42131217, +0.22175494, +0.26174464, +0.39403604, -0.13228843, -0.18207645, +0.08540846, +0.40893245, +0.63507567, -0.06970094, +0.03382388, -0.11587967, +0.00609973, -0.06529193, +0.00680030, +0.24916576, +0.40286160, +0.35701341, +0.22272153, +0.46897603, +0.32415588, -0.16960423, -0.04908641, +0.42043270, +0.02106959, +0.01957781, +0.28161544, +0.30805855, -0.21697009, -0.03516849, -0.29388142, -0.03830651, -0.10972389, -0.00459119, -0.10915124, -0.02098397, -0.06569445, -0.16330754, +1.13000886, +0.16669800, -0.30061434, +0.53379349, +0.29203217, +0.65236439, -0.26946688, +0.00501544, +0.08228218, +0.04669537, -0.01905724, +0.13336983, +0.02017346, -0.01978055, -0.72953143, +0.01491521, -0.37996995, +0.42126230, -0.07936570, +0.25264264, +0.19529539, +0.08340405, -0.29987838, + +0.16215361, +1.72690277, +0.48669448, -0.02355940, +0.05510965, +0.55085232, +0.36059817, -0.14078610, +0.18645205, +0.01352920, +0.10685457, -0.29101871, +0.06153696, +0.01481297, -0.00363376, -0.08638586, +0.04672572, +0.32401474, -0.03673744, -0.50226359, -0.30066530, +0.09062177, -0.02403120, +0.06754427, -0.05432571, -0.04831916, -0.14690431, -0.13474399, -1.02714887, +0.10728121, -0.01723409, +0.29314494, +0.02145757, +0.09620346, +0.09564908, -0.07696591, -0.26165541, +0.03738838, +0.20728638, +0.46798388, -0.09537591, +0.05468424, -0.08752661, +0.07599331, -0.02531064, +0.37418414, +0.22442096, +0.24443110, +0.29753948, +0.12936816, +0.35923871, +0.12668793, +0.37078060, -0.15654745, +0.01635188, +0.33485010, +0.06854370, +0.04149831, +0.25639404, +0.30804189, -0.31317473, -0.03560208, -0.27332654, -0.01544852, -0.04274217, +0.12767199, -0.04144965, +0.00100244, +0.01275634, -0.24669323, +0.82252729, +0.12924353, -0.23691260, +0.23097626, +0.26963610, +0.69027257, +0.37606372, -0.24944213, +0.11347217, +0.12806264, +0.05714414, -0.05164045, +0.19020781, +0.07978652, +0.02170708, -0.68602344, +0.03945000, -0.31170300, +0.41965591, -0.13227761, +0.21684289, +0.18918219, +0.17459299, +0.38113389, -0.35138417, +0.12591496, +0.02469322, -0.09971872, -0.29534899, -0.03228920, -0.07052823, /* S3.TCP_OPTLEN_4 */ - +0.07125362, +0.19692798, +0.16323439, +0.02180606, +0.03829776, -0.11863026, +0.18101294, +0.01792700, +0.25603636, -0.00167710, +0.07505684, +0.09533472, +0.05332977, -0.00617369, -0.01802994, -0.04532323, +0.06426902, -0.18201741, +0.02149039, -0.37766876, -0.13609108, +0.03405909, +0.04786528, +0.08701589, +0.04876671, -0.04063503, -0.07798364, +0.35755690, +0.52702745, +0.11186443, +0.02621432, +0.35668109, +0.04344531, +0.09267591, +0.23633628, -0.04491429, +0.03928341, +0.33539291, +0.16280380, +0.11029761, -0.02044952, +0.07743285, -0.07708574, +0.06665118, -0.02248496, +0.16775993, +0.11769534, +0.22329982, +0.10995874, +0.08716917, +0.19494056, +0.37745236, -0.11264211, -0.00366502, +0.16859218, +0.05831956, +0.06491621, -0.15435736, -0.15238469, +0.03952527, +0.02110865, -0.07826322, +0.01549887, +0.01498850, +0.01042720, -0.07071066, +0.01446869, -0.02363502, +0.03070696, +0.43082769, +0.23324864, -0.19455184, +0.10877935, +0.07660949, +0.19597810, +0.03417429, +0.01476978, +0.12757151, +0.12619752, +0.00163311, +0.26351869, +0.09210269, +0.01170866, -0.53982362, +0.07617799, -0.31280034, +0.14950409, +0.09153255, +0.07158739, +0.06460660, -0.18417890, +0.02447949, + +0.17711300, +0.40487497, +0.50708923, +0.02444099, +0.09492541, -0.11586831, +0.18218115, -0.02538358, +0.28499045, +0.05783197, +0.19182552, +0.13807708, +0.12198109, +0.02784319, +0.00006733, -0.04175231, +0.16511597, -0.34500971, +0.01312616, -0.56052752, -0.13891824, +0.04685464, +0.08696740, +0.20175987, +0.14199854, -0.02523691, -0.07208417, +0.90246082, +1.40328476, +0.11542189, +0.05546462, +0.50384081, -0.05609631, +0.18603062, +0.36340863, -0.00159272, +0.02892119, +0.60135206, +0.54955153, +0.39321724, +0.01170843, +0.14488813, -0.06985162, +0.16397231, +0.00514901, +0.60440118, +0.19570811, +0.34345384, +0.24967310, +0.06503293, +0.26746694, +0.65657847, +0.14446877, -0.15132155, +0.05653407, +0.26844116, +0.18265938, +0.10116282, -0.14673307, -0.12578534, -0.03302825, +0.00253164, -0.07588686, +0.00159418, +0.01672599, +0.06143196, -0.06124342, -0.00783026, +0.02913210, +0.04193837, +0.63831055, +0.37870165, -0.23564902, +0.48207388, +0.09229857, +0.22673597, +0.20104107, +0.02284887, +0.07498709, +0.21352319, +0.23791632, -0.01659552, +0.51114892, +0.18370952, -0.07784601, -0.71479170, +0.14036552, -0.42111909, +0.16742536, +0.14036486, +0.12364960, +0.11309125, -0.31923254, +0.19569581, +0.01953811, +0.16592979, +0.07079494, -0.08343974, -0.02774682, +0.04808652, -0.02565117, /* S3.TCP_OPTLEN_5 */ - -0.06419451, -1.47411115, -0.05612594, +0.06068859, -0.09358453, -0.06950163, -0.04191419, +0.11387980, +0.15694377, -0.03141072, +0.15215514, +0.39210718, +0.11509149, -0.02784554, -0.05097194, -0.08698642, +0.16344761, -0.34214376, +0.05421308, -0.62008839, -0.20684820, -0.27873097, -0.09743231, +0.21316744, +0.19589212, -0.10034891, -0.15686851, +0.68273356, +1.02629181, +0.21318256, +0.25176044, +0.19294290, -0.11489855, -0.06361253, +0.10330351, -0.10562513, +0.24689448, +0.80997944, +0.03708915, -0.31044056, -0.04289092, +0.15258151, -0.17181481, +0.15800856, -0.06651840, +0.42321486, +0.01022201, -0.02804174, -0.11217201, -0.05669512, -0.08121714, +0.18027155, -0.21361384, -0.03946575, -0.19498745, +0.11586924, +0.12402759, -0.21121783, -0.21422148, +0.25349710, +0.04941490, -0.14371891, +0.05061638, +0.08585885, -0.01017910, -0.16622232, +0.04420727, -0.06646857, -0.03125394, -0.50981864, +0.43839996, -0.31987200, -0.28900920, -0.14706873, -0.39549417, +0.30528467, +0.00448176, +0.24525027, +0.25024592, -0.01980497, +0.60169693, +0.19504031, +0.01201012, -0.95536716, +0.16875591, -0.60560616, -0.04052707, +0.23772942, -0.11901246, -0.02003629, -0.66910343, +0.34037701, + +0.06276464, -1.69585541, +0.31018504, +0.07441105, -0.00389602, -0.02486128, -0.04395630, +0.04396249, +0.20308589, -0.04699312, +0.16433293, +0.34115511, +0.14474522, +0.00574598, -0.03428355, -0.05915596, +0.06877698, -0.34950856, +0.03286572, -0.55842832, -0.11304522, -0.26591173, -0.06078067, +0.25871337, +0.25702475, -0.08348048, -0.11648617, +1.04152105, +0.93264239, +0.19278364, +0.22304022, +0.36417527, -0.10980331, +0.13212272, +0.47758829, -0.06437076, +0.22070709, +0.88138656, +0.98366774, -0.19960859, +0.10918076, +0.19602462, -0.14318273, +0.20919893, -0.03187934, +0.50375882, +0.05794910, -0.02459776, -0.10748317, -0.05844224, -0.15561444, +0.41998844, -0.29221789, -0.20420256, +0.04831372, -0.18236109, +0.16536572, +0.13728837, -0.18251949, -0.11223363, +0.05332298, -0.00302145, -0.11611435, -0.01374331, +0.01140437, -0.00825553, -0.18685248, -0.03756110, -0.03053033, +0.02718580, -0.19637686, +0.13052871, -0.24848908, -0.21614181, -0.14859223, -0.48960064, +0.08148671, +0.26506464, -0.00339425, +0.22588978, +0.24820894, -0.04976857, +0.68961295, +0.22135436, -0.07926922, -0.81932752, +0.15903479, -0.58543773, -0.04468289, +0.27126609, +0.03198898, +0.02904972, -0.94182754, -0.13926579, +0.27835832, +0.31142059, +0.06903216, -0.14206837, +0.28911190, +0.10696205, -0.04804333, /* S3.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_MSS */ - -1.10192108, -2.89463495, -0.23672669, -0.01313939, -0.00655377, +0.00301988, -0.16609118, -0.01347333, -0.19347944, -0.03185294, -0.21031703, +0.01319669, +0.00869599, -0.06655996, -0.03563852, -0.18161503, -0.03222775, +0.00035754, -0.04544504, -0.05928867, -0.02967027, -0.00371050, -0.01143578, -0.17457589, +0.00683365, +0.03318193, +0.06318757, +0.78252556, -0.88665423, +0.08986822, -0.02301498, -0.03057857, -0.12718782, -0.29448756, -0.05048849, -0.20285988, +0.00494889, -0.03458056, -0.49189672, +1.24779673, -0.05007626, +1.16733487, +0.63821859, -0.85975028, +0.07658773, -1.12465160, -1.15685213, -0.58272630, +1.68037539, -0.44524668, -0.02505821, -0.22871051, -0.04931179, +0.05059464, +0.00940972, +0.02759237, -0.01915734, +0.05763655, -0.03711695, -0.09318087, +0.00969020, -0.04484494, -0.00163414, -0.04175104, -0.01047181, -0.20854892, -0.01031883, -0.00764362, -0.02669304, -0.68703406, -0.59050111, -0.00308034, -1.62178826, -0.39686446, -0.41516820, -0.04724311, -0.00604554, -0.06428967, +0.49363440, -0.02185323, +1.35514026, +0.00048982, -0.01573771, -0.63173089, -0.04656327, +0.47032195, -0.03974896, +0.03339269, -0.25879614, -0.02710613, -0.05478251, -0.04536198, + -1.57172470, -3.43464811, -0.37125892, -0.01308949, +0.01033085, +0.03401901, -0.14456237, +0.01479011, -0.17311250, -0.01999446, -0.31026479, +0.09414533, +0.00863665, -0.08195388, -0.01358477, -0.20690577, +0.00151123, -0.01283813, -0.05709216, -0.07321713, -0.02056205, -0.00955324, -0.03359224, -0.16692748, +0.03168313, +0.02661988, +0.05019965, +1.27009956, -1.20593566, +0.11308774, -0.06071999, +0.01439678, +0.01025118, -0.28682270, +0.06404759, -0.30946534, +0.01144621, +0.00812361, -0.07992796, +1.13263055, -0.09087220, +1.31629771, +0.73896731, -1.24450148, +0.10830712, -1.48365150, -1.20009914, -0.58019311, +1.72537676, -0.30069942, +0.01010876, +0.02362421, -0.28014059, -0.06550676, +0.07283186, +0.02621946, +0.04977209, -0.02762603, +0.07095166, -0.05752782, -0.33673684, +0.08948661, -0.05705159, -0.00230137, -0.00716838, -0.00279292, -0.25197473, -0.01402429, -0.04713852, -0.03373824, -1.09033062, -1.17396361, -0.01368950, -2.02120243, -0.41739921, -0.42789825, -0.13153844, -0.03656995, -0.00635760, -0.09532592, +0.18056620, +0.01788960, +1.48134578, -0.03250431, -0.04973280, -1.07252752, -0.07913004, +0.78430872, +0.01083495, +0.12723658, -0.21147004, -0.04446329, -0.08944159, -0.43979386, -0.07356784, -0.08876406, +0.02662555, +0.02177576, -0.05164377, -0.01398632, -0.02861350, /* S3.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S3.TCP_WSCALE */ - -0.69746299, -0.14663754, -0.14901747, -0.06711855, -0.54462172, -0.20441852, -1.40512183, +0.52827251, -1.17976392, -0.02380539, -0.14141623, +0.17518792, -0.01042916, -0.03112519, -0.05428027, -0.10209749, -0.39366275, -0.28158362, -0.14082427, +0.11765402, -0.34432657, -0.10502713, -0.22736097, +0.21650840, -0.18001457, -0.08548495, -0.17065363, -3.39865580, -4.54833832, +0.03869115, -0.39220882, -1.66392319, +1.00985888, +0.03894593, -0.51981960, -0.11472918, +0.19192102, -2.63492724, -0.15222206, +0.61318262, -0.06368596, +0.35762815, -0.13943400, -0.26475649, -0.08013583, -0.15508565, +0.01674075, -0.38156314, +0.12530429, +1.47955910, -0.85067782, -0.99270186, +0.01657007, -0.14707311, +0.34916187, -0.43536995, -0.18046161, -0.31849242, -0.34025629, +2.52430958, -0.32879855, +0.21685383, +0.17891763, -0.37643023, +0.46427667, -0.13897891, -0.11061184, -0.15060224, +0.63666663, +1.00232478, +4.11607849, -0.18877963, +0.60334679, +0.60197724, -0.26488752, +0.34937985, +0.09866208, -0.07442516, +3.15621900, -0.02260942, +0.05305280, +0.06372927, +0.27678828, +0.71787121, -0.08816338, +0.18144436, -0.50937387, -0.05394035, +2.74315039, +0.16958672, +0.47083627, +0.06749917, + -0.58611410, -0.13675975, -0.57419252, -0.03565083, -0.50403431, -0.22869303, -1.46630733, +0.66583796, -1.16475546, +0.05931611, -0.12131728, +0.20701082, -0.02055259, +0.00046749, -0.01554444, -0.06659096, -0.35750605, -0.29478418, -0.12688182, +0.11542232, -0.29609118, -0.13428606, -0.24880513, +0.29923460, -0.15617927, -0.03399703, -0.14996862, -4.48359206, -4.90714955, +0.09624613, -0.35834059, -2.08072516, +1.79285916, +0.11142000, -0.58561524, -0.06655985, +0.18506601, -2.73168264, -0.11948054, +0.48851662, -0.02502560, +0.41766100, -0.10369201, -0.26411035, -0.05632891, -0.24514329, +0.08659750, -0.36394217, +0.08148445, +1.47929086, -0.83141240, -1.42119649, +1.03068046, +0.00800037, -0.11698799, +0.37743727, -0.38548605, -0.18050226, -0.33346373, -0.32606947, +2.69891487, -0.41246065, +0.21341667, +0.21393943, -0.44384366, +0.54870793, -0.09399317, -0.11787760, -0.12487882, +0.76086272, +2.30763211, +1.91759719, -0.21159255, +0.77002577, +0.65622071, +0.57365031, -0.95189283, +0.31961745, +0.15937215, -0.07821330, +4.55945079, -0.02860379, -0.06066109, +0.02446831, +0.28460588, +0.90613403, -0.10633345, +0.16107481, -0.48418441, -0.06392110, +2.75887190, +0.15780307, +0.50655996, -0.43334032, +0.11056359, -0.29009290, +3.76433590, +0.12474902, +0.06246313, -0.20250873, -0.06754171, /* S3.TCP_CORR_WINDOW_MSS */ - +0.60803137, +2.56463296, -0.14084094, +0.53289210, +0.17471821, +0.15244760, -0.15902121, +0.18970652, -0.11099145, -0.03868805, +0.02383590, -0.48520111, +0.01029890, -0.07115268, -0.01454276, -0.00872201, +1.45580880, -0.00449942, +0.14952585, -0.08128165, -0.01842053, +0.04419915, +0.07496750, -0.07106722, -0.06145956, +0.01861119, +0.02909729, -0.97571475, +0.76989771, -2.44381417, +1.97057169, -0.18061065, -0.19824145, -0.27931034, -1.00112835, +0.04194405, -0.24515328, +0.67996927, -0.52183231, -0.57341518, -0.05410164, -0.07081198, -0.06735462, -0.04086170, +0.15552599, +0.00790048, -1.46820356, -0.78557004, -0.25883610, -0.83227598, -0.86687736, +0.03162875, -0.01311446, +0.05403466, -0.23602821, -0.50297566, -0.13968274, -0.09650170, -0.00883158, +2.00619859, -0.10515308, +0.00258359, -0.10657604, +1.68165670, +0.41679894, +0.27957477, +0.07438009, -0.01034178, -0.19476364, +0.34536200, +1.22521152, +0.29407618, +0.85824659, +0.62834430, +0.71419276, +0.36779087, -0.00124380, +0.35813659, -1.04730827, -0.02768539, -0.12149947, -0.05274062, +0.06762259, +0.33180529, -0.02442703, -0.05949326, +0.01428510, -0.85587694, -0.93223815, +0.16826141, +0.25339071, -1.62468886, + +0.95969888, +2.52536362, -0.73817583, +0.59719728, +0.16249173, +0.25699926, -0.15294007, +0.15358435, -0.10416417, -0.05035458, +0.00171356, -0.75473118, +0.00657136, -0.06671892, -0.02730559, -0.02228708, +1.78728199, -0.02222482, +0.14854570, -0.19082385, -0.03056105, +0.04673721, +0.08330890, -0.10899171, -0.11798128, -0.01556604, +0.05072559, -1.23754959, +0.92012914, -2.71158897, +2.19864341, -0.28574664, -0.23665995, -0.37735329, -1.01543581, +0.00374660, -0.34508242, +0.75722256, -1.45457216, -0.91746820, +0.01077394, -0.07402820, -0.07769925, -0.19575739, +0.20320130, -0.22758963, -1.68455696, -0.90289638, -0.42710809, -0.98205585, -1.16710678, -0.35793857, -0.08573393, -0.02747293, +0.11052757, -0.29803062, -0.67114624, -0.14716342, -0.11201549, -0.03960460, +1.95069390, -0.13906467, -0.00383792, -0.15572466, +1.72802015, +0.53078493, +0.28207417, +0.07319537, -0.02776545, -0.23911353, -0.21132314, +1.09743286, +0.35183474, +0.30300382, +0.60648177, +0.96184088, +0.20685902, +0.53645155, +0.00053516, +0.48784400, -1.73024660, -0.00759001, -0.20258835, -0.07949102, +0.02162427, -0.29725968, -0.03715946, -0.33168440, -0.03032299, -1.44290166, -0.96304213, +0.18923961, +0.52056084, +0.47498373, -1.58317165, +1.60243598, -0.39784948, +0.07152636, -0.51370177, -0.38767799, -0.02691266, /* S4.TCP_WINDOW */ - -0.79753844, +1.84786215, -0.59996060, +0.35952821, +0.56477792, +0.08057159, -0.62824164, +0.09535567, -0.66400669, -0.05341726, -0.45369344, -0.93959874, -0.04401233, -0.08655424, -0.11422333, -0.14525404, +0.28948453, -0.09624498, +0.25842262, -0.23105242, -0.06881166, +0.10214167, +0.25635974, -0.20041115, -0.07411959, -0.02064331, -0.21328350, +0.61688406, +0.86304534, -2.33189926, +1.25591429, -0.40428003, -0.64024680, -0.93836636, -2.57248608, +0.05040446, -0.28249179, +0.38410367, -2.18924602, +1.75138683, -0.08491375, +0.10960904, -0.08139718, +0.38745650, +0.22077562, -0.05659778, +0.09840598, -2.27716101, +0.38677324, -2.26743055, -1.99008527, -0.14667775, -0.16040885, -0.09178925, -0.55590938, -1.07496246, -0.41149981, -0.34955539, -0.07250272, +0.24095485, -0.12402238, -0.08523944, -0.18301582, +0.06192446, +0.95982027, +0.58120115, -0.03327032, -0.07925862, -0.64708124, +0.46295199, +0.13956533, +0.12270012, -0.83161520, +1.08559301, +1.56166582, +0.20580957, +0.03311537, +0.16492770, +0.12864062, -0.04212131, -0.00599088, -0.12033503, +0.06620000, +0.72405855, -0.15696076, +0.39132219, +0.10704430, +0.59416931, -2.38399842, +0.40178641, +1.16795439, +0.26711176, + -0.75053266, +1.91115605, -1.94377922, +0.36606234, +0.54740988, +0.17380265, -0.60773123, +0.10497594, -0.68747342, +0.02441631, -0.52993619, -1.11342745, -0.07677683, -0.06468375, -0.11717630, -0.14655863, +0.15315576, -0.11851995, +0.23817494, -0.29141281, -0.05504037, +0.07291946, +0.24759694, -0.08585801, -0.08197804, -0.04197760, -0.31160590, +0.80069475, +0.67898951, -2.49538561, +1.25000292, -0.47458493, -1.32737443, -1.07559812, -2.49325117, +0.00793312, -0.29009469, +0.39176421, -4.21876974, +1.81031322, -0.01765281, +0.06988849, -0.10730034, +0.48034048, +0.24014889, -0.01052874, +0.33206391, -2.24572194, +0.34908125, -2.48231856, -2.40091600, -0.96739759, +0.35769945, -0.19326031, -0.04897542, -0.61982211, -1.20447523, -0.44659465, -0.36812335, -0.10347129, +0.09255613, -0.10169604, -0.10346268, -0.26836023, +0.02618185, +1.20301237, +0.63758721, -0.00269757, -0.09519599, -0.67984362, -0.26995504, +0.03285783, +0.07561449, -0.46383769, +1.07936558, +1.48538758, +0.74498934, +0.13683980, +0.06463406, +0.13362794, -0.06301911, +0.02836776, -0.02361323, -0.19306259, +0.03805290, +0.84738999, -0.18040647, +0.29869059, +0.11814275, +0.69887659, -2.40168644, +0.37479739, +1.47140371, +0.63285615, +0.30740336, +0.03261426, +0.15262361, +0.06575942, +0.32486365, -0.15414266, -0.15471373, /* S4.TCP_FLAG_F */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_S */ - -0.03552794, -0.12018483, +0.02144779, -0.03719014, -0.04258726, -0.09509025, +0.02486556, -0.03403307, +0.05788116, -0.09678368, +0.01595165, -0.01272830, +0.02469289, -0.14906493, +0.00285392, -0.01316994, -0.04598266, +0.01257575, -0.03708749, -0.00225126, +0.01133418, -0.01140255, -0.01945282, -0.02321907, -0.02464295, +0.06320825, +0.10639473, +0.01353575, -0.25884549, +0.16173702, -0.05449917, +0.02183474, -0.00746157, +0.06144471, +0.19393650, +0.07013751, -0.01270000, -0.05463517, +0.04608642, -0.07477839, -0.13763539, -0.03481140, +0.02102199, -0.00481379, +0.07944613, -0.01431589, +0.07808528, +0.10374901, -0.04857496, +0.03675162, -0.02937100, +0.06623081, -0.01422392, +0.02991933, +0.00707069, +0.05857461, +0.00319777, +0.07353480, -0.01738734, -0.08205330, -0.03643801, +0.01529587, -0.03194140, -0.06785477, -0.04185658, -0.02150724, -0.01215206, -0.00194536, -0.01384989, -0.07866462, -0.07787047, +0.01173428, -0.03258058, -0.07164032, -0.05442175, -0.05756714, -0.02957284, -0.01740738, -0.06685633, -0.07707486, -0.04435854, -0.02332756, -0.03685633, -0.00729613, -0.02425926, -0.02251585, -0.01210478, -0.03650583, +0.01437168, -0.05306641, -0.05536275, -0.04062802, + -0.02727695, -0.26359519, +0.06075699, -0.04563385, -0.04594275, -0.08440425, +0.02321240, -0.04858674, +0.05361477, -0.10359782, +0.01083095, +0.01593100, +0.00438537, -0.11260461, -0.01143592, -0.04698240, -0.05677091, -0.00830065, -0.04302636, -0.01708415, -0.00281509, -0.01749256, -0.03811092, -0.04451419, -0.02525538, +0.03353757, +0.06506846, +0.04709564, -0.13736487, +0.18969944, -0.07768007, +0.02412800, +0.01663717, +0.08193030, +0.20938345, +0.04270170, -0.00844577, -0.06367415, +0.16796391, -0.06495633, -0.06115177, -0.03927084, -0.00370504, +0.04195475, +0.05770139, -0.00506024, +0.08340056, +0.06964790, -0.05813582, +0.06246779, -0.01095946, +0.10683841, -0.04051537, -0.02492528, -0.00707475, +0.00128284, +0.05914890, +0.00882917, +0.07797335, -0.02918889, -0.20343583, -0.03620382, +0.00193460, -0.02958711, -0.07425076, -0.05349358, -0.04095315, -0.02336656, -0.04124961, -0.00392916, -0.04924928, -0.05630927, -0.01005618, -0.01887156, -0.08348851, -0.12891856, -0.06227953, -0.06915816, -0.03554111, -0.02533373, -0.09838417, -0.03608944, -0.04641339, -0.04294000, -0.04675784, +0.03710319, -0.03757802, -0.03424906, -0.00969895, +0.00773019, +0.02887779, -0.05876552, -0.08779193, -0.02202693, -0.05524976, -0.09173889, -0.14217266, -0.00240875, -0.05605231, +0.00914311, +0.01967767, /* S4.TCP_FLAG_R */ - +0.00386785, +0.00413502, +0.01071867, +0.00394307, +0.00387308, +0.13054507, +0.03598863, +0.00407265, +0.06044708, -0.03091957, +0.02868329, +0.01969686, +0.02283421, -0.06069474, +0.01657035, +0.01379370, +0.00699992, +0.02036075, +0.00325301, +0.01307884, +0.02322668, +0.00704077, +0.00574731, +0.00893307, +0.00962712, +0.05125450, +0.01235913, +0.01769125, -0.03706087, +0.10062049, +0.00581269, +0.03196623, +0.01070166, +0.05277244, +0.13055090, +0.04839400, +0.01757698, +0.00287876, +0.04348331, +0.00404291, -0.05425276, +0.00470859, +0.03461902, +0.01567721, +0.00629631, +0.00852037, +0.07199052, +0.08653222, +0.00652721, +0.06092254, +0.01737479, +0.07169985, +0.00370956, -0.03571008, +0.03496726, +0.03441892, +0.01664047, +0.04768955, +0.01002251, +0.00364118, +0.00388741, +0.02371589, +0.00422994, +0.00236579, +0.00192432, +0.01781595, +0.00342435, +0.01390206, +0.01073441, +0.00709589, +0.00471105, +0.02295985, +0.01347741, +0.00561407, +0.00515418, +0.00370022, +0.00139544, +0.01185059, +0.00475332, -0.02012214, +0.00400514, +0.00825194, +0.00290070, +0.01306264, +0.00719088, +0.00604892, +0.02805088, +0.00399440, +0.04391882, +0.00468892, +0.00740247, +0.00343173, + +0.03074383, -0.10900369, +0.05593987, -0.00109117, +0.00415702, +0.18881131, +0.03642020, -0.00284194, +0.06335948, -0.03064492, +0.06439940, +0.01160271, +0.03321079, -0.06683847, +0.01062236, +0.00914198, +0.02669342, +0.03090543, +0.00079437, +0.04130248, +0.03339815, +0.01726834, -0.00491733, +0.01125803, +0.02474731, +0.07257898, -0.03425430, +0.00962502, +0.03049934, +0.11515912, +0.00034451, +0.03694396, +0.09276982, +0.10123358, +0.17641015, +0.11830225, +0.05024421, -0.00492967, +0.27310690, +0.01684814, -0.04113355, +0.01148637, +0.05411798, +0.07227635, +0.02122374, +0.04778866, +0.14797544, +0.15966113, -0.00497765, +0.12914600, +0.04662260, +0.16344040, +0.02616247, -0.00959764, -0.08200403, +0.05912540, +0.05702851, +0.02428646, +0.05770272, +0.02458056, -0.14736425, -0.00571519, +0.04044664, +0.01432911, -0.00292347, +0.00033602, +0.01178679, +0.00418270, -0.01382605, +0.02569107, -0.06962462, -0.03369456, +0.03088679, +0.13955001, +0.00533171, -0.03427537, -0.00039499, +0.00847502, -0.00261974, +0.02146620, +0.02559284, +0.00744035, -0.01240264, +0.00071857, -0.00890452, +0.03611894, -0.00573669, +0.01444636, +0.03712573, -0.02373236, +0.05815790, +0.00124085, +0.00522154, +0.00072626, +0.00961868, -0.01904663, -0.05935196, +0.01181635, +0.00624667, +0.02650463, -0.02509471, /* S4.TCP_FLAG_P */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_A */ - -0.03580740, -0.12049007, -0.02509959, -0.03767735, -0.04372034, -0.33529438, +0.02418814, -0.03434261, +0.05450989, -0.09714676, +0.01535437, -0.01398967, +0.02401315, -0.14937034, +0.00267460, -0.01398949, -0.04726447, +0.01191035, -0.03732782, -0.00258306, +0.01080432, -0.01399178, -0.02102059, -0.02344780, -0.02528772, +0.06273171, +0.09378388, -0.03674824, +0.05476473, +0.16152332, -0.05478199, +0.02148946, -0.00798383, +0.05220196, +0.19252713, +0.06987975, -0.01332833, -0.05479522, +0.04572573, -0.07511990, -0.13816495, -0.03502833, +0.02067678, -0.00582447, +0.07270142, -0.01444569, +0.05725577, +0.10303364, -0.04991737, +0.03527876, -0.03559468, +0.06475660, -0.01688207, +0.02793859, +0.00455943, +0.05851670, +0.00259541, +0.05356604, -0.01822746, -0.08314243, -0.03737901, +0.01276483, -0.03272328, -0.06797038, -0.04196773, -0.02234184, -0.01235700, -0.00261644, -0.01433382, -0.08890243, -0.07979421, +0.00964691, -0.03480079, -0.07230704, -0.07733192, -0.05739111, -0.02963942, -0.01796659, -0.06758794, -0.07742928, -0.04459336, -0.02844369, -0.03714699, -0.01735457, -0.02482555, -0.02302267, -0.01338473, -0.05164974, +0.01412590, -0.05370358, -0.06171252, -0.04101348, + -0.02635484, -0.26345554, +0.02633439, -0.04559106, -0.04976322, -0.28928472, +0.02275695, -0.04805122, +0.04513176, -0.09979627, +0.01070721, +0.02000378, +0.00372706, -0.11300785, -0.01120694, -0.04609273, -0.05523088, -0.00878981, -0.04280204, -0.01648580, -0.00291355, -0.02125060, -0.03776394, -0.04321115, -0.02506066, +0.03430255, +0.05156958, -0.07979735, -0.02007323, +0.18980595, -0.07737323, +0.02484540, +0.02364928, +0.07380386, +0.21879048, +0.04536413, -0.00621108, -0.06295020, +0.16882815, -0.06431255, -0.05971533, -0.03887782, -0.00246300, +0.00388041, +0.05026410, -0.00509770, +0.00443407, +0.07190200, -0.05811001, +0.06595802, -0.01200752, +0.10568934, -0.03143521, -0.02706213, -0.00673877, +0.00018984, +0.05950028, +0.00850857, +0.06452272, -0.02443393, -0.20261068, -0.03980372, -0.00118852, -0.02933706, -0.07343795, -0.05301048, -0.04105130, -0.02000078, -0.04081369, -0.00283335, -0.05894329, -0.05745769, -0.01108631, -0.01882770, -0.08335976, -0.13046074, -0.06237509, -0.06817091, -0.03458576, -0.02569439, -0.08427683, -0.03375621, -0.04561858, -0.04626555, -0.04620336, -0.00406653, -0.03814721, -0.03357511, -0.00963406, -0.06321987, +0.02973030, -0.05870947, -0.08982532, -0.07408007, -0.05500968, -0.09069370, -0.14287291, -0.00839179, -0.05427117, +0.01273691, +0.01978203, /* S4.TCP_FLAG_U */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_E */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_C */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_RES8 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_RES9 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_RES10 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_FLAG_RES11 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S4.TCP_OPT_0 */ - -0.03423789, -0.34628253, +0.01348669, +0.00089848, +0.15252194, -0.24490825, +0.00881517, -0.01633640, +0.06196148, -0.05030980, +0.02415878, +0.01318719, +0.02502995, -0.08962233, +0.01218047, +0.00464356, -0.01168668, +0.01975584, -0.01717089, +0.00539932, +0.01583249, -0.13336382, +0.20749739, -0.00276392, +0.03751780, +0.05704093, +0.12314341, +0.02224466, +0.01824504, +0.12417582, +0.06807274, +0.01137261, -0.01290965, +0.05425607, +0.15271798, +0.05678113, +0.00813204, -0.06330506, +0.02754142, -0.10435262, -0.07111616, -0.00966250, +0.03010713, +0.00411497, +0.08823541, -0.00057699, +0.07455549, +0.09193490, -0.01237789, +0.05250066, +0.00103037, +0.06968434, +0.00357926, +0.07420270, +0.02765004, +0.04285392, +0.01275687, +0.05810750, +0.00005654, -0.03511840, -0.01007449, +0.02131985, -0.00272192, -0.02592758, -0.01328238, +0.00347489, -0.00215289, +0.01356805, +0.25132372, -0.01992823, -0.01587102, -0.11566109, +0.00038487, -0.02208729, -0.04617937, -0.00910081, -0.00909055, +0.00422775, -0.01722805, -0.03717592, -0.01295570, +0.00519830, -0.01065508, +0.06308424, -0.00306335, -0.00348637, -0.00250404, -0.00730639, +0.03402689, -0.01948413, +0.02720763, -0.02819425, + -0.14223874, -0.76958624, +0.08541882, -0.00254647, +0.19740180, -0.35899257, -0.01474671, -0.03226152, +0.06757379, -0.07834573, +0.03219057, +0.09552872, +0.02467526, -0.10302590, +0.00061483, -0.04858883, -0.04223518, +0.01780665, -0.03924456, -0.00036550, +0.00860787, -0.24624241, +0.24806984, -0.02783765, +0.06399954, +0.04821836, +0.17236923, +0.04030871, +0.03833181, +0.14075821, +0.07849373, +0.01710668, +0.05551150, +0.09972013, +0.17980019, +0.06494404, +0.01598393, -0.13015336, +0.29527525, -0.25016488, -0.05174502, -0.02864721, +0.00564642, +0.00862150, +0.10092622, +0.01719401, +0.06836456, +0.10051056, -0.06803884, +0.08716760, +0.00718988, +0.15488694, -0.00362861, -0.01234055, +0.06887291, +0.03756225, +0.05538743, +0.01800186, +0.06448028, -0.01140878, -0.22718393, -0.03002752, +0.01308031, +0.00053258, -0.04694815, -0.03529004, -0.02124479, -0.00985150, -0.01708934, +0.31805959, +0.05626561, -0.08263546, -0.19365702, +0.01181982, -0.04011455, -0.17796859, -0.02973916, -0.01513631, -0.03114691, -0.00876477, -0.10012414, -0.01864401, -0.04844962, -0.02223669, -0.01863160, +0.19014991, -0.02364964, -0.03079774, -0.02609705, -0.00659673, +0.04747867, -0.05352309, -0.08600407, -0.02686897, -0.06435229, -0.07111805, -0.10800860, +0.01929224, -0.03805288, +0.00740874, +0.07970960, /* S4.TCP_OPT_1 */ - +0.05443989, +0.46217814, +0.15190897, +0.00108041, +0.21845158, +0.12732231, +0.15808957, -0.04995068, +0.17677611, -0.01783360, +0.02756003, -0.08223782, +0.02995474, -0.01993660, -0.04414287, -0.09246055, -0.01823407, +0.02336720, -0.02106156, -0.04726069, +0.09207530, -0.02759086, +0.26196453, -0.01111511, +0.00185171, -0.07318730, -0.14077224, +0.02209645, +0.08413459, +0.09609613, +0.01144346, +0.16942644, +0.07464738, +0.13543887, +0.26066898, -0.13375497, -0.07060879, -0.10874406, +0.13975850, +0.13132994, -0.04623209, +0.03248197, -0.11063163, +0.01258407, -0.06549816, -0.01413862, +0.13775502, +0.23597887, +0.13174246, +0.13236854, +0.25062890, +0.22043152, +0.04803131, -0.10475650, +0.19686058, +0.02993092, +0.02077875, +0.14768182, +0.16553642, -0.11429382, -0.01267609, +0.14668697, -0.01210989, -0.04787583, -0.00260155, -0.10516249, -0.00728680, -0.12488912, +0.25336698, +0.43785508, -0.01088751, -0.00429663, +0.20870880, +0.10221482, +0.22514196, -0.12071373, +0.00008259, +0.05738968, -0.02098932, -0.01130830, -0.04491397, +0.02573609, -0.00782042, -0.03026094, +0.01662933, +0.01489074, +0.12452292, -0.04808800, +0.12700348, +0.04480514, +0.08391992, -0.15243183, + -0.04680454, +0.62769319, +0.28988979, +0.01217786, +0.27047869, +0.17314332, +0.15785608, -0.07682194, +0.18164147, -0.00204522, +0.09879116, -0.21631885, +0.05344899, +0.00449736, -0.01669859, -0.10651122, +0.04152383, +0.03711347, -0.04385752, -0.06878713, +0.10964603, -0.10630337, +0.28746207, -0.00131100, +0.03606296, -0.06267154, -0.15412309, +0.16523359, +0.25020396, +0.11196811, +0.07920063, +0.20227687, +0.00104456, +0.13685756, +0.18461369, -0.14256857, -0.14318271, -0.14892152, -0.03484379, +0.08081962, -0.06932382, +0.04184888, -0.11312875, -0.04235781, -0.05962513, -0.03759517, +0.12219601, +0.28873101, +0.20634659, +0.12049816, +0.33991947, +0.29514021, +0.23847590, +0.06837655, -0.09552383, +0.22675589, +0.07129956, +0.03363776, +0.12780106, +0.22529230, -0.34996592, -0.03690029, +0.15091664, -0.00681456, +0.01475534, +0.01655466, -0.07522770, +0.01529334, -0.11693014, +0.28191482, +0.29243673, -0.09687893, -0.00438946, +0.28254778, +0.09734276, +0.15772294, +0.23176558, -0.12822906, +0.02962595, +0.10134241, -0.17530208, -0.01939379, -0.17794137, +0.04149714, -0.03889065, +0.03202378, +0.04717760, +0.05580898, +0.10959003, -0.13042236, +0.10328327, +0.04160000, +0.03742605, +0.14702997, -0.25808030, -0.09382360, -0.10107200, +0.04081917, -0.19723959, +0.00382070, -0.06591958, /* S4.TCP_OPT_2 */ - +0.14788715, +1.55881840, +0.20712864, -0.00016129, -0.09655126, +0.01388750, +0.30495928, -0.07519578, +0.26446628, -0.03421120, +0.02408777, -0.15970546, +0.03246715, -0.03544749, -0.06664636, -0.12349718, -0.04593211, -0.05628685, -0.02250417, -0.21218245, +0.01183718, +0.27491723, -0.14033673, -0.02737643, -0.27872185, -0.10945955, -0.21983183, +0.04215061, +0.30071152, +0.13341948, -0.05661606, +0.33043665, +0.16170503, +0.19365596, +0.38883935, -0.18500106, -0.12890893, +0.01763027, +0.27604673, +0.41729166, -0.07879371, +0.02740754, -0.15684116, +0.01088633, -0.10452357, -0.04330571, +0.16217791, +0.34693376, +0.19834192, +0.17181755, +0.38197233, +0.33620657, +0.04488404, -0.15659456, +0.29558039, +0.08750788, +0.03073252, +0.19230185, +0.23420020, -0.18260107, -0.03021598, +0.15819666, -0.16170471, -0.09006801, -0.00798210, -0.14919174, -0.10737073, -0.17543201, -0.26516404, +0.69483948, -0.01085297, -0.04956585, +0.34196390, +0.16362118, +0.42007126, -0.21101230, +0.00173433, +0.05848602, -0.04485288, -0.02826660, -0.08951873, +0.01160281, -0.00660876, -0.02647398, +0.00324018, +0.00650813, +0.28985009, -0.10938656, +0.17453470, +0.10379179, +0.09083569, -0.21928075, + +0.10119304, +1.48050131, +0.19708211, -0.00838637, -0.11138377, +0.01936835, +0.32816718, -0.10632038, +0.24156889, +0.01569695, +0.09136614, -0.23973154, +0.04226307, -0.00332822, -0.02414596, -0.09351098, +0.03770615, -0.07147779, -0.01227079, -0.22545624, +0.01121047, +0.28371029, -0.17154768, +0.04402917, -0.30732586, -0.07153888, -0.20333084, +0.18729838, +0.30810558, +0.14818084, -0.05914152, +0.35739857, +0.01302483, +0.15414503, +0.28825296, -0.16040606, -0.17369148, +0.15091374, +0.03674016, +0.23758970, -0.07687192, +0.02230732, -0.12540100, -0.03070551, -0.08004149, -0.06427335, +0.03293005, +0.25141229, +0.14462857, +0.10891395, +0.30532276, +0.27772027, +0.27820693, +0.05266059, -0.13168947, +0.23233376, +0.15983797, +0.04783506, +0.15787599, +0.22878645, -0.39578162, -0.01339491, +0.13082057, -0.19018583, -0.02195800, +0.03237715, -0.08418021, -0.08699428, -0.14554551, -0.34437593, +0.29438948, -0.10557216, -0.04830753, +0.13122360, +0.13119053, +0.36263973, +0.33581561, -0.20824847, +0.04965008, +0.07420112, -0.20275690, -0.03795250, -0.20973096, +0.01149352, -0.05595757, +0.04180345, +0.01065415, +0.04542787, +0.31510038, -0.24783411, +0.10296831, +0.08224509, +0.17659426, +0.14487780, -0.27523175, -0.08769697, -0.03346422, +0.02644511, -0.25477371, +0.01445318, -0.08106657, /* S4.TCP_OPT_3 */ - -0.08333755, -1.33503780, -0.06062413, -0.14223522, -0.08162074, +0.00176973, -0.06304952, +0.14267771, +0.02286173, -0.02532090, -0.01123770, +0.36144821, +0.00912428, -0.01986585, -0.03994078, -0.07685180, +0.19677545, +0.27430332, -0.04349569, +0.42814788, +0.44154338, +0.00105726, -0.08553556, +0.16955044, +0.59605527, -0.06778177, -0.11088483, -0.22120482, +0.03070529, -0.01326294, -0.51373514, -0.00141603, -0.10606572, -0.03798366, +0.01243240, -0.08733449, +0.25625071, +0.23136102, -0.12282398, -0.31143669, -0.03775814, +0.02962128, -0.11083983, +0.01166736, -0.05969519, +0.37985329, +0.04884078, -0.01632367, -0.12830337, +0.00268258, -0.00836370, +0.08986099, +0.01794511, -0.09737526, -0.18938084, -0.15273671, -0.03653882, -0.20397728, -0.24117882, +0.28440717, -0.03248186, -0.18109662, +0.37927252, +0.15484753, -0.05194672, -0.12391972, +0.29013016, -0.06115133, -0.02543045, -0.59196667, -0.22916058, +0.24823352, -0.35039054, -0.16325289, -0.25172915, +0.32428571, -0.04236341, +0.02818623, -0.07567333, -0.00955179, +0.37430129, -0.00365065, -0.07965191, -0.30282907, +0.01764415, -0.13280763, -0.14005843, +0.23880942, -0.11990806, -0.08527185, -0.02046465, +0.37611056, + -0.07743139, -1.51231901, +0.11510703, -0.12064789, -0.08594545, +0.02581051, -0.03381064, +0.08633056, +0.01468263, -0.10958195, -0.00332684, +0.29215702, +0.01363098, +0.00685617, -0.02225131, -0.05755173, +0.13270472, +0.33096702, -0.06396872, +0.48549082, +0.48747202, -0.02732846, -0.12127556, +0.04358694, +0.59253288, -0.03959837, -0.07862734, -0.13097686, +0.43866166, +0.05731372, -0.47942352, +0.06613832, -0.33263787, -0.13852219, -0.08951063, -0.07632044, +0.18373782, +0.08717198, -0.21236609, -0.42920566, -0.05027680, +0.06114010, -0.08261823, +0.08787287, -0.04486832, +0.34394592, +0.19829205, -0.18450521, -0.18867670, +0.04261563, -0.03873902, +0.12070358, -0.26764587, +0.00285589, -0.06825557, -0.26061058, -0.16585163, -0.02767342, -0.19322515, -0.24795107, +0.06128880, +0.00007594, -0.17425289, +0.44086529, +0.13474548, -0.09228495, -0.12867610, +0.24297225, -0.04602395, -0.09248408, -1.05052187, -0.41453416, +0.25418055, -0.47477147, -0.17547213, -0.50029369, +0.05034571, +0.24567475, -0.07119827, +0.01859001, -0.10178983, -0.00365337, +0.38688597, -0.00762462, -0.08725399, -0.43176765, +0.03964130, -0.23177458, -0.16400132, +0.31060997, -0.08062551, -0.10164002, -0.00946826, -0.16689073, +0.31748590, +0.13118430, -0.67860735, +0.02773736, +0.29114814, +0.15638734, -0.05889864, /* S4.TCP_OPT_4 */ - +0.00836435, -0.82749942, +0.04133701, -0.01042689, -0.02021254, -0.05552124, +0.11406554, +0.11572732, +0.20324981, -0.02102806, -0.00237968, +0.30875246, +0.02379186, -0.02101263, -0.03785019, -0.07763257, +0.19597489, +0.03891858, -0.03140927, +0.03977498, -0.30809880, -0.02218147, -0.01917201, +0.18005309, -0.02092981, -0.06797854, -0.11998343, +0.06718031, +0.26289801, +0.09136442, +0.00657271, +0.32680872, -0.03971749, +0.03651866, +0.19380323, -0.08089305, +0.23062265, +0.75880742, +0.07684068, -0.17245383, -0.04192813, +0.02537345, -0.10288078, +0.00956005, -0.06077824, +0.35479172, +0.09862265, +0.13738119, -0.04093947, +0.05219481, +0.17271135, +0.32037044, +0.01178235, -0.10055927, -0.04323849, -0.01139465, +0.02095218, -0.23540421, -0.26629738, +0.23009951, -0.03241906, -0.18977261, -0.04302417, +0.12259514, -0.03175313, -0.12377618, +0.06870325, -0.06296488, +0.00328292, -0.20774994, -0.06496333, -0.02152904, -0.14774351, -0.04679628, -0.04172312, +0.29231343, -0.01358379, +0.03232011, -0.02628066, -0.01204041, +0.34412992, +0.00966311, -0.02901053, -0.06905129, +0.00788364, -0.12852172, +0.06914926, +0.21542974, -0.06070262, +0.00708196, -0.27174007, +0.29679191, + -0.03449530, -0.79506529, +0.18803636, +0.00800108, +0.02598784, -0.04611461, +0.12493223, +0.04625168, +0.22290768, -0.04803399, +0.03035574, +0.24935256, +0.04551912, +0.01035752, -0.01135120, -0.05411925, +0.17939547, +0.08176056, -0.03556473, +0.06776282, -0.32701285, -0.04042593, -0.01912902, +0.17628479, -0.02705130, -0.03343876, -0.08996359, +0.59369747, +1.14637821, +0.11182302, +0.00203345, +0.43596487, -0.09440889, +0.05348249, +0.22770803, -0.05175221, +0.19918829, +0.71657083, +0.33456741, -0.22483944, +0.02495268, +0.03485431, -0.06889526, +0.09158260, -0.04160178, +0.28901795, +0.20086944, +0.08611432, -0.05333002, +0.03700365, +0.23219278, +0.49856171, -0.12388896, +0.00036202, -0.07021413, -0.06797090, +0.09591343, +0.05617366, -0.22593778, -0.26659939, +0.04783458, +0.01860634, -0.18262262, -0.12372254, +0.10796709, -0.07011289, -0.12302391, +0.03573429, -0.03766749, -0.01639960, -0.48273614, -0.15819801, -0.03354719, -0.04437530, -0.05431632, -0.27541632, +0.16993675, +0.23808751, -0.00260703, +0.03645764, -0.13664400, -0.01633750, +0.32927858, +0.01295456, -0.04870378, -0.00352506, +0.02418954, -0.20805724, +0.08197071, +0.26271696, -0.05352795, +0.00465749, -0.45402728, -0.01015830, +0.26081132, +0.11189799, -0.26968253, +0.04144398, +0.25485910, +0.16856424, -0.05234244, /* S4.TCP_OPT_5 */ - -0.04400109, -0.19741824, -0.16426493, -0.04250938, -0.07727421, -0.22820504, -0.08651041, -0.04939820, -0.13007187, -0.00509478, +0.25676050, -0.09992413, +0.08962436, -0.00271190, -0.01945715, -0.01543795, -0.10913369, +0.00744037, +0.15893731, +0.33952789, -0.17630915, +0.04801206, -0.08024068, -0.11401724, -0.02451840, -0.06100880, -0.05594303, +0.52641683, +0.98229281, +0.14379418, -0.17505146, -0.09720672, -0.07487930, -0.04652226, -0.09950581, -0.06863587, -0.05818434, -0.12241077, -0.13071122, -0.25758403, +0.01624753, +0.19983206, -0.12537013, +0.24328116, -0.01522002, -0.19221746, -0.05209527, -0.09426483, -0.17592244, -0.06560426, -0.20016970, -0.15727889, +0.22408403, -0.08010220, -0.01253449, +0.32053792, +0.22029399, -0.02370707, -0.06777279, -0.09497595, +0.17024654, -0.12327846, -0.05997839, -0.07956621, +0.07912431, -0.06180055, -0.17993923, -0.03277346, -0.03394565, -0.16358664, +0.42321037, +0.15245077, -0.19540127, -0.18540689, -0.29072645, -0.14307922, +0.05506013, +0.29667376, +0.25495741, +0.01063744, -0.35525763, +0.31404915, +0.16049553, +0.32461924, +0.23539695, +0.36887055, -0.19851177, -0.07105521, +0.00045228, -0.11079699, +0.11973735, -0.10013395, + +0.06949991, -0.12856293, -0.14335439, -0.06585885, -0.04251921, -0.25200216, -0.04262546, -0.00989246, -0.10059356, -0.02780964, +0.21825822, +0.03153514, +0.04983583, -0.00039641, -0.01766066, -0.00500189, -0.08592619, -0.00171872, +0.11748970, +0.33439109, -0.17748663, +0.01859542, -0.05629575, -0.09292342, -0.05999031, -0.09910977, -0.04736830, +0.34940704, +0.53883141, +0.12453475, -0.21629915, -0.03563970, -0.01336499, +0.12931768, +0.23839082, -0.07066121, -0.00618952, -0.04172219, -0.06743166, -0.25993994, +0.10268551, +0.18372694, -0.14320027, +0.20128262, -0.01297074, -0.14835724, -0.06123339, +0.05777434, -0.17230010, -0.03143700, -0.19857670, -0.03392442, -0.16690773, +0.20703996, -0.08675603, +0.07499660, +0.26742408, +0.18539332, +0.00227645, -0.07144877, -0.17443056, +0.10701416, -0.12050637, -0.12022888, -0.08383978, +0.00361223, -0.06878789, -0.17392047, -0.04256624, +0.05701318, -0.24740335, +0.13296567, +0.08716986, -0.12733513, -0.19668660, -0.37939467, -0.07545879, -0.15852736, -0.03513677, +0.21928659, +0.08530227, +0.03468278, -0.28692794, +0.22660202, +0.07620509, +0.39854255, +0.17235877, +0.30624078, -0.15095347, -0.00600966, +0.08133295, -0.08607649, +0.07675655, -0.04881437, -0.11214356, -0.21752851, +0.39849411, +0.09593334, -0.17272542, -0.08207889, +0.01974833, /* S4.TCP_OPT_6 */ - +0.00629010, -0.06445311, -0.03517440, -0.02538876, -0.02853881, -0.10461450, -0.03291676, -0.00518258, -0.17123392, +0.00660174, -0.15516620, +0.00676437, +0.08202344, +0.01199871, +0.00559965, +0.02620674, -0.03719866, +0.36301320, +0.26048656, -0.08097861, -0.03233717, +0.08537736, -0.01620268, -0.01480578, +0.02260148, +0.00655764, -0.00593645, +0.10577689, +0.51155024, +0.09906101, -0.17555594, -0.06586187, -0.00618227, -0.00685379, -0.09745975, -0.02025417, -0.01405843, -0.08364721, +0.00481015, +0.02403144, +0.03066528, -0.01803258, +0.02686037, -0.08970600, +0.01554697, -0.03176066, +0.00053613, -0.06507585, -0.02156684, -0.01230160, -0.02495083, -0.18047737, -0.02049355, +0.03796629, +0.02793956, +0.21638745, +0.19148525, +0.00742897, +0.00450331, -0.00885957, +0.34169485, +0.00162314, +0.01373683, -0.02516034, +0.09654135, -0.00327538, -0.01655788, +0.01035949, +0.00331582, +0.03508889, +0.55998284, -0.09291069, -0.05470436, -0.04874709, -0.14912448, -0.04904958, +0.14015411, -0.14284332, +0.32599719, +0.02310702, +0.02033102, -0.10896858, -0.20517409, -0.12306081, -0.05637092, -0.06914846, -0.07506368, +0.00552162, +0.04152222, -0.01847424, -0.06836073, -0.02747821, + +0.11232488, -0.06019933, +0.05388411, -0.05211387, -0.01989466, -0.11212512, -0.02972493, +0.00276395, -0.18715587, -0.02680866, -0.13707270, +0.02952326, +0.08621070, +0.01286299, -0.00404041, +0.04404794, -0.04309710, +0.33672896, +0.23902165, -0.07600333, -0.04176115, +0.06936856, +0.01556838, -0.01369687, -0.04518061, +0.00872761, -0.01533642, -0.28017893, +0.14784413, +0.08645146, -0.19306097, -0.15053020, +0.04645786, -0.01123274, -0.19319934, -0.01625883, +0.01454545, -0.19216023, +0.11072032, +0.12344155, +0.14406495, +0.04137514, +0.06088245, -0.07679030, +0.02263596, +0.02686829, -0.02497737, -0.00756432, -0.00592676, -0.00398690, +0.00351330, -0.22529392, -0.09077179, -0.01069134, +0.06701853, +0.07316721, +0.23549644, +0.17024425, +0.01508355, +0.02166253, -0.05197645, +0.32317965, +0.00699535, -0.04738747, -0.04800292, +0.09328269, -0.01720009, -0.04915546, +0.01761276, +0.06311476, +0.14431720, +0.35073611, -0.08600675, -0.03304487, -0.05608604, -0.11435858, -0.05583031, -0.04637444, +0.12751186, -0.12832016, +0.35822952, +0.03649541, +0.09583074, -0.11197143, -0.22242948, -0.13991806, -0.04742173, -0.07104878, -0.06541879, +0.01553893, +0.14188050, +0.00728245, -0.10301820, -0.01475020, -0.02556015, +0.05118241, +0.52983356, -0.02518120, -0.00276648, -0.06882651, +0.03269259, /* S4.TCP_OPT_7 */ - +0.00361804, -0.12953339, -0.02549899, +0.28472359, -0.05503137, -0.06745295, -0.03467472, -0.01211412, -0.01828734, +0.00706657, -0.17262758, -0.01837865, +0.22680239, +0.01075113, -0.00183616, +0.02326350, -0.04432498, -0.15403222, -0.27570734, -0.09497681, -0.00404405, +0.31060532, -0.02591163, -0.02821200, +0.20610877, +0.01021254, +0.00016741, +0.27497281, +0.44243244, +0.31547951, +0.57325217, -0.00177316, -0.01120898, -0.03035382, -0.05183037, -0.03874571, -0.04546107, -0.00376956, +0.00034530, +0.02256640, +0.02321755, -0.02160210, +0.02595553, -0.08558628, +0.01494332, -0.04583005, +0.01233166, -0.05057290, -0.01183845, +0.00302996, -0.08305334, -0.05539004, -0.02954066, +0.03624710, +0.01935485, +0.37158491, -0.06210308, +0.01144922, +0.00683384, +0.00294555, -0.56980162, -0.00098111, +0.34880299, -0.03662836, +0.20051116, +0.00166796, +0.16868928, +0.00753198, -0.00246152, +0.02150988, +0.04018260, -0.09894928, -0.04165237, -0.03543717, -0.09374994, -0.05778453, +0.38231870, -0.10660337, +0.09155485, +0.02144872, +0.01671306, -0.10415943, +0.50954185, -0.09684388, -0.04797523, -0.06675207, -0.16630517, +0.00639263, +0.03786110, -0.05769467, -0.07986105, -0.03203556, + +0.10953712, -0.15061387, +0.02103081, +0.25042113, -0.11702891, -0.06097443, -0.01770609, -0.01427731, -0.02581631, -0.03526055, -0.15390650, -0.09368965, +0.20301054, +0.00715538, -0.02682801, +0.02691861, -0.04209193, -0.16010564, -0.31011152, -0.08732528, +0.01831645, +0.25084310, -0.01905091, -0.07943903, +0.15331492, +0.01570692, +0.00067635, +0.23987625, +0.19948712, +0.27919583, +0.52920931, +0.05869257, -0.10893222, -0.03573171, -0.12916313, -0.05155856, -0.05637579, +0.13392208, +0.05735347, +0.10344902, +0.00980672, +0.02793983, +0.06084078, -0.05993654, +0.02088895, -0.05703523, +0.02824455, -0.07887363, +0.00902897, +0.05033237, -0.07235718, -0.06368033, -0.01480653, -0.02477057, +0.06447711, +0.04258094, +0.35378841, -0.08343692, +0.01969256, +0.03055493, -0.01377047, -0.69796286, +0.00283204, +0.32221264, -0.05594604, +0.26840205, -0.00170306, +0.06813841, +0.00511322, +0.00607104, +0.00693235, -0.15098948, -0.09126327, -0.01620359, -0.02708147, -0.04372751, -0.03879422, -0.04681632, +0.36882678, -0.08767278, +0.21331076, +0.01255109, +0.08698275, -0.09586976, +0.44130077, -0.10153708, -0.02909719, -0.05465593, -0.18074083, +0.06958336, +0.03322224, -0.03478646, -0.06168944, -0.02741614, -0.01055115, +0.00320556, -0.27947490, -0.03967353, -0.02704262, -0.15418905, +0.01310028, /* S4.TCP_OPT_8 */ - +0.01019459, -0.05857355, -0.02281884, +0.33039970, -0.03531362, -0.06564635, -0.02621150, -0.00078079, -0.01168250, +0.00844912, -0.11708814, -0.01654724, +0.24161378, +0.01346356, +0.00605530, +0.02552986, -0.04151228, -0.14550766, +0.09044073, -0.06859630, +0.00106639, +0.12404466, -0.01591715, -0.02094888, +0.27337790, +0.01251194, +0.00219730, +0.30578387, +0.47495584, +0.33043256, +0.72538714, +0.00498308, -0.00446965, -0.02752470, -0.04561402, -0.01710861, -0.04281220, +0.00171428, +0.00716611, +0.03127604, +0.02424237, -0.00817380, +0.02837386, -0.06505967, +0.01665177, -0.03205805, +0.01595250, -0.04832695, -0.00871075, +0.00576250, -0.07916700, -0.05261004, -0.01541018, +0.03845513, +0.02134918, -0.06602081, +0.03057927, +0.01486412, +0.01172320, +0.00768640, -0.07496574, +0.00441219, +0.37841536, -0.01460502, +0.04245800, +0.00691998, +0.34054864, +0.01357626, +0.00244053, +0.02422134, +0.15756858, -0.08252915, -0.03795872, -0.03131585, -0.09032774, -0.05608449, -0.03956536, -0.09773752, +0.12130804, +0.02404745, +0.02073756, -0.09799026, +0.34752400, -0.09055915, -0.03913445, -0.04889973, -0.13491505, +0.00875451, +0.03934477, -0.03602254, -0.07005537, -0.02028097, + +0.14354201, -0.01498381, +0.01597287, +0.30835693, -0.06768904, -0.06369152, -0.01431820, +0.01677907, -0.01873047, -0.04443555, -0.10022411, -0.09769118, +0.22033227, +0.01599544, -0.01066112, +0.02824760, -0.04485077, -0.15553573, +0.09585631, -0.06461617, +0.02196596, +0.09153763, +0.00159383, -0.06441010, +0.22599691, +0.01714929, -0.00213817, +0.27331238, +0.28247561, +0.27541058, +0.69184203, +0.06204119, -0.08683776, -0.08037836, -0.13636942, -0.01763311, -0.05896655, +0.11576972, +0.04744346, +0.11233284, +0.01062853, +0.04598762, +0.06039207, -0.04782177, +0.02216943, -0.03955669, +0.02789466, -0.08089147, +0.00893881, +0.04935796, -0.07251025, -0.06826187, -0.02480776, -0.00793253, +0.06497237, +0.03957729, -0.13497469, +0.01892250, +0.02712848, +0.03614572, -0.01333498, -0.12162640, +0.00869631, +0.36136661, -0.02313923, +0.07968069, -0.00014350, +0.28583954, +0.02488867, +0.00779626, -0.00295710, +0.04390063, -0.07436103, -0.01529358, -0.02975106, -0.04768653, -0.02469375, -0.05304283, -0.09025620, -0.08132776, +0.23663716, +0.01853541, +0.08454947, -0.09309849, +0.26766271, -0.09571159, -0.02433183, -0.04323346, -0.15249961, +0.06078337, +0.03095350, -0.01478755, -0.06294608, -0.02065454, -0.00799805, -0.00119421, -0.12474937, -0.03667102, -0.04913757, -0.07210990, +0.01362067, /* S4.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_0 */ - -0.00930917, +0.18972151, +0.02781854, -0.00383757, -0.16519737, -0.27312147, +0.04989043, -0.02494516, +0.06930640, -0.09446881, +0.01891351, -0.00764771, +0.02932593, -0.14788254, +0.00393353, +0.00054937, -0.03981436, +0.02015403, -0.02469409, +0.01674464, +0.01824917, -0.38823983, -0.21688557, -0.02027807, +0.09524393, +0.06548797, +0.15550616, +0.02728791, -0.16801887, +0.17212123, +0.19317650, +0.04062746, +0.01184165, +0.06718239, +0.21301800, +0.07194077, -0.00766593, -0.00602857, +0.06438802, +0.00874125, -0.13020499, -0.03210577, +0.02352185, +0.00245641, +0.11518792, -0.01173650, +0.08421302, +0.10714386, -0.04335460, +0.03960689, -0.01389747, +0.07026168, -0.00868601, +0.08417400, +0.01109369, +0.06045059, +0.00558242, +0.07827431, -0.01466016, -0.06342477, -0.03264459, +0.01777443, -0.01429962, -0.06237986, -0.03987266, -0.01588130, -0.00935261, +0.00220868, -0.25924678, -0.07203485, -0.05549322, -0.37246458, -0.01759626, -0.06251189, -0.01623432, -0.03510877, -0.02882525, -0.00953251, -0.05992722, -0.07507671, -0.04207420, -0.01365872, -0.03377872, +0.16649595, -0.02193277, -0.01784725, +0.14474936, -0.03221803, +0.01644661, +0.03948465, +0.24694991, -0.02247387, + +0.00133740, +0.05035562, +0.06397216, +0.00187990, -0.07272443, -0.23470382, +0.06329339, -0.04353312, +0.07187491, -0.10825912, +0.01332346, +0.02246872, +0.01133980, -0.11322949, -0.01218400, -0.02565044, -0.06009264, +0.00251704, -0.00842531, +0.00359766, +0.00819527, -0.31917998, -0.17643862, -0.03992348, +0.11172867, +0.03271070, +0.11193717, +0.07985625, -0.03952429, +0.18320735, +0.14774981, +0.02744017, +0.00129433, +0.07810788, +0.22596137, +0.03278523, -0.00513969, -0.01718850, +0.15887870, -0.01323833, -0.06537185, -0.03912046, -0.00546474, +0.06989053, +0.08297900, -0.03781355, +0.06273881, +0.06513600, -0.05746258, +0.05659454, -0.00651987, +0.09532874, -0.04723875, -0.01994859, +0.04935816, +0.00362017, +0.05667592, +0.00863048, +0.07971632, -0.02987276, -0.19553493, -0.03702763, +0.00306554, -0.01483873, -0.07746780, -0.04931054, -0.03193568, -0.02297637, -0.03919189, -0.25700690, -0.01421005, -0.04754493, -0.33714341, -0.01531251, -0.07825144, -0.06631092, -0.00279759, -0.04486668, -0.03569547, -0.01618637, -0.11065694, -0.04905692, -0.04895604, -0.03582029, -0.04287284, +0.22216501, -0.03712889, -0.03350179, +0.16814883, +0.00894245, +0.02573204, +0.03613554, +0.28347753, +0.01896942, -0.04167224, -0.07106013, -0.13747106, +0.01416962, -0.02867493, +0.00970570, +0.04921559, /* S4.TCP_OPTLEN_1 */ - -0.00190911, -0.19192248, +0.05361668, +0.01082554, +0.24533707, +0.05969676, +0.05869454, -0.01528181, +0.10641866, -0.01368326, +0.04169955, +0.00177129, +0.03960901, -0.01521449, -0.03751949, -0.07732552, +0.01481598, +0.04142507, -0.00844066, +0.00185851, +0.12817331, -0.00636676, +0.31168207, +0.01467561, +0.01067745, -0.06359599, -0.11627697, +0.03266605, +0.21420776, +0.10244067, +0.01773649, +0.06607256, +0.01297201, +0.07630482, +0.16985759, -0.11798712, -0.00176880, -0.06770707, +0.05565615, -0.04947681, -0.03115253, +0.04530933, -0.10002548, +0.02988998, -0.05549161, +0.02950787, +0.09317592, +0.13543791, +0.04836894, +0.08720520, +0.14130299, +0.12379668, +0.06413651, -0.09351020, +0.08286907, +0.03528649, +0.03022056, +0.09989841, +0.11139998, -0.03583575, +0.00372686, +0.18819436, +0.00250710, -0.00936974, +0.00158247, -0.09457030, +0.00301488, -0.11527150, +0.35339605, +0.12498486, +0.00336802, +0.01975923, +0.06840335, +0.03129634, +0.03031097, -0.02494316, +0.00258597, +0.06850598, +0.00115919, -0.00542053, -0.00469481, +0.04695255, +0.00140441, +0.02595773, +0.03476523, +0.03354246, +0.00877181, -0.00262775, +0.06750692, -0.00673599, -0.01162710, -0.05273953, + -0.15179736, -0.30473357, +0.17788120, +0.02506728, +0.33081899, +0.09050969, +0.05017771, -0.03699826, +0.11498593, -0.02543311, +0.13249715, -0.01182876, +0.07395874, +0.00726031, -0.01708571, -0.09563003, +0.04107713, +0.08776828, -0.04238331, +0.00588406, +0.18829252, -0.07700341, +0.43127326, +0.01196713, +0.03305379, -0.06318321, -0.13108296, +0.11989684, +0.41633524, +0.11426080, +0.07291168, +0.09685681, -0.01028245, +0.10543273, +0.14881160, -0.14174029, -0.02930637, -0.12500090, -0.03033024, -0.28630844, -0.02498799, +0.07455094, -0.10940756, -0.01707317, -0.05468446, +0.02898665, +0.08005161, +0.20113416, +0.09564958, +0.09979100, +0.23650501, +0.22575979, +0.10530634, +0.09807697, -0.08783866, +0.09705789, +0.06652183, +0.04006122, +0.08535558, +0.17746362, -0.25321030, -0.00869286, +0.21292510, -0.00612450, +0.04619405, -0.01001196, -0.08277825, +0.01127984, -0.12377255, +0.46553971, -0.05154175, -0.05597958, +0.01531757, +0.21279747, +0.02485075, -0.12818204, +0.14249974, -0.03365815, +0.00542307, +0.11592043, -0.10322260, -0.00600476, -0.08437709, +0.07350608, -0.02411428, +0.13496398, +0.07789509, +0.08489870, -0.02562397, -0.06385599, +0.06325185, -0.02253893, -0.19543717, +0.02190482, -0.12152202, -0.08089213, -0.08861163, +0.05955961, -0.09907989, +0.02128803, -0.05199282, /* S4.TCP_OPTLEN_2 */ - +0.14944635, +1.57658516, +0.22356551, -0.01116167, -0.04438628, +0.01257555, +0.31175932, -0.08368194, +0.27020782, -0.03239290, +0.01890093, -0.17661493, +0.02720754, -0.03405041, -0.06439260, -0.12316949, -0.05374212, -0.04736036, -0.02814049, -0.19789689, +0.01477578, +0.28392574, -0.07313466, -0.03439841, -0.24638854, -0.10549538, -0.21500874, +0.01968166, +0.26699449, +0.12032729, -0.09903031, +0.33572498, +0.16670905, +0.20199273, +0.39333642, -0.18003145, -0.14425934, -0.02712982, +0.27913831, +0.42581603, -0.07780841, +0.02315870, -0.15101358, +0.00379227, -0.10146843, -0.05447041, +0.16892286, +0.36192126, +0.21593842, +0.18053095, +0.39372862, +0.34828822, +0.03838495, -0.15010755, +0.31842565, +0.07219819, +0.02422922, +0.19685973, +0.24020212, -0.20030293, -0.03327967, +0.13832903, -0.13799455, -0.09618952, -0.00868623, -0.14395723, -0.08965020, -0.16828187, -0.19050522, +0.75999194, -0.02179931, +0.03732423, +0.36518033, +0.17707159, +0.44865822, -0.23422195, +0.00027087, +0.05210821, -0.04995090, -0.02700209, -0.09592974, +0.00416830, -0.01104162, -0.08928880, -0.00134400, +0.00011563, +0.27597305, -0.11754549, +0.18741704, +0.09663922, +0.06912009, -0.24451760, + +0.09332856, +1.46577646, +0.21311301, -0.01966477, -0.06372719, +0.01930706, +0.32747241, -0.11350212, +0.24569004, +0.02270374, +0.08656982, -0.27009404, +0.03796789, -0.00191742, -0.02197041, -0.09890020, +0.03995747, -0.06265515, -0.02156565, -0.21252202, +0.01067257, +0.28922194, -0.10699478, +0.03099461, -0.27326348, -0.06728789, -0.20008671, +0.14753002, +0.25314073, +0.13927884, -0.09718028, +0.36320318, +0.01533322, +0.15310715, +0.27050133, -0.15343595, -0.19710970, +0.08462278, +0.02543267, +0.24539106, -0.08799302, +0.01791538, -0.12044857, -0.05221644, -0.07693909, -0.05750594, +0.04034588, +0.26250077, +0.16240947, +0.11682064, +0.31507318, +0.28610281, +0.30421403, +0.04699984, -0.12445181, +0.25339697, +0.14283082, +0.04235368, +0.16333822, +0.23515784, -0.41593495, -0.01818610, +0.11301353, -0.15645144, -0.02032667, +0.03851076, -0.07868303, -0.06386703, -0.13467505, -0.26270838, +0.33917408, -0.12282822, +0.04490479, +0.14206229, +0.14514185, +0.38942614, +0.33615009, -0.23153199, +0.05423700, +0.07057882, -0.20861116, -0.03532645, -0.22145792, +0.00656712, -0.05748700, -0.08576016, +0.00848855, +0.04570704, +0.29345266, -0.26041078, +0.11354486, +0.07356845, +0.13683368, +0.15830875, -0.30943972, -0.09378700, -0.05119696, +0.02030382, -0.28282186, +0.00675099, -0.08059280, /* S4.TCP_OPTLEN_3 */ - -0.00072110, -0.32070264, +0.04567197, -0.06459600, -0.03500451, -0.10514192, +0.07252642, +0.05431780, +0.10965664, -0.01508641, +0.03027633, +0.14469379, +0.03216968, -0.01351357, -0.02988454, -0.06382852, +0.09387670, +0.12789110, -0.01125798, +0.16289862, +0.25908699, +0.36044195, -0.01095902, +0.07621553, +0.10684780, -0.05629255, -0.09457602, -0.02467674, +0.20117558, +0.05771203, -0.37626682, +0.15666748, -0.01919536, +0.04171071, +0.11317362, -0.06948093, +0.10210191, +0.08949944, -0.00036178, -0.09470352, -0.02883302, +0.04533902, -0.09732244, +0.03465125, -0.04284686, +0.17961316, +0.08231423, +0.12272899, -0.02141039, +0.05357439, +0.11597822, +0.22128422, +0.05891719, -0.08395464, +0.03805462, -0.02116234, +0.01866857, -0.18058472, -0.21190081, +0.10261535, -0.00167937, -0.15760185, +0.12001156, +0.05970141, -0.01447765, -0.09496498, +0.10171271, -0.04767502, +0.00284835, +0.00901564, -0.08321967, +0.08787273, -0.09617308, -0.04715531, +0.02943217, +0.11351582, -0.01030073, +0.06198339, -0.02275451, -0.00369816, +0.13364797, +0.03974781, -0.02319117, -0.05458154, +0.03639647, +0.00141548, -0.03865371, +0.11662730, -0.00694881, -0.05026557, +0.00377434, +0.13144709, + +0.04535211, -0.22495135, +0.18845352, -0.07230530, -0.09161218, -0.12971495, +0.10444388, +0.02176783, +0.10885479, -0.03524631, +0.09754017, +0.19053755, +0.05580034, +0.01244287, -0.00982268, -0.06148849, +0.15957484, +0.24657714, -0.04108902, +0.26735268, +0.39010202, +0.61033789, -0.04437628, +0.01454857, +0.11418292, -0.04646381, -0.08817062, +0.13725899, +0.57502996, +0.09608970, -0.43653912, +0.25917931, -0.18893292, +0.02650870, +0.07830769, -0.05661554, +0.07656807, +0.06412037, -0.15004790, -0.23774209, -0.02851489, +0.07701133, -0.09552405, +0.10120041, -0.03325323, +0.38261138, +0.19005481, +0.11425127, -0.05454479, +0.06405520, +0.14214159, +0.37348879, -0.04106784, +0.07893916, -0.06734607, +0.05277788, +0.02139973, +0.03987678, -0.17503525, -0.25588155, -0.07646963, +0.05559409, -0.17545264, +0.19631831, +0.09725663, -0.03638735, -0.08798137, +0.07916961, -0.02428337, -0.03139891, -0.39668859, -0.28415733, +0.10272230, -0.11461412, -0.06209964, -0.16590612, +0.10108371, +0.06656930, -0.01380852, +0.08868243, -0.13795380, +0.01226826, +0.18655781, +0.05643584, -0.11114456, -0.02793580, +0.07706750, -0.00743207, -0.04171144, +0.22173875, +0.00186878, -0.07776779, +0.00848996, +0.00827547, +0.14441214, +0.01626560, -0.30263547, +0.06043533, +0.03919479, +0.09513707, -0.04782825, /* S4.TCP_OPTLEN_4 */ - -0.00192668, -0.93783869, +0.02025510, -0.00681918, -0.02949361, -0.04126980, +0.09211766, +0.12349073, +0.18442647, -0.02025535, +0.00055844, +0.32547067, +0.02606591, -0.02012368, -0.03662586, -0.07397288, +0.20222205, +0.04202618, -0.02714975, +0.05066713, -0.30141967, -0.01720798, -0.02944299, +0.18522676, -0.01654135, -0.06643846, -0.11531026, +0.06940952, +0.26657524, +0.09304122, +0.00823019, +0.29657468, -0.05058918, +0.02423299, +0.17424468, -0.07968765, +0.24445530, +0.77246645, +0.06123110, -0.20068526, -0.03891014, +0.02808356, -0.10078580, +0.01353445, -0.05935090, +0.36272090, +0.08962815, +0.11167620, -0.05807815, +0.04306352, +0.14747119, +0.28885899, +0.01483464, -0.09878054, -0.07259372, +0.00049423, +0.02273230, -0.22619484, -0.25807975, +0.24700598, -0.02856602, -0.18659142, -0.03919698, +0.13095078, -0.02904637, -0.12137514, +0.04949337, -0.06161130, -0.00028510, -0.28808363, -0.06205218, -0.01623893, -0.17625248, -0.06075099, -0.08623123, +0.31146812, -0.01079819, +0.03432176, -0.02173667, -0.01089339, +0.35236332, +0.01392530, -0.02484065, -0.05798524, +0.01152656, -0.12496765, +0.04836616, +0.22303342, -0.07270116, -0.00083991, -0.28672175, +0.31862996, + -0.04171400, -0.95968789, +0.16525440, +0.01274239, +0.01204418, -0.03045283, +0.10567687, +0.05472419, +0.20429709, -0.05582878, +0.03348901, +0.27134177, +0.04824792, +0.01045548, -0.01106301, -0.04967011, +0.17770909, +0.08584276, -0.03185198, +0.08103422, -0.32358668, -0.03270042, -0.03211580, +0.18026922, -0.02254235, -0.03381871, -0.08509725, +0.58134433, +1.12492447, +0.11227427, +0.00045644, +0.39893098, -0.10401389, +0.04543537, +0.21675060, -0.05447255, +0.21737610, +0.73099356, +0.36674988, -0.27456900, +0.03393378, +0.03988043, -0.06760386, +0.09919848, -0.04161684, +0.29823976, +0.19594001, +0.05421036, -0.08225940, +0.03262610, +0.20829628, +0.47107684, -0.15652381, +0.00290687, -0.06989621, -0.10454011, +0.10659908, +0.05616893, -0.21683058, -0.25995677, +0.06277970, +0.02704976, -0.18081187, -0.12152180, +0.11418821, -0.07323082, -0.12335946, +0.00363047, -0.04080319, -0.01647765, -0.57104995, -0.15364080, -0.03047992, -0.09346281, -0.06898064, -0.32919883, +0.15212991, +0.25641006, -0.00471403, +0.03633519, -0.12365281, -0.01469323, +0.34545709, +0.01714178, -0.04112318, +0.00718800, +0.02790881, -0.20900796, +0.05966455, +0.27173297, -0.06196089, -0.00397985, -0.48578018, -0.03695775, +0.28449664, +0.11745220, -0.26686934, +0.04411965, +0.27877984, +0.17356538, -0.04976591, /* S4.TCP_OPTLEN_5 */ - -0.04109418, -0.19560492, -0.14270151, -0.16991630, -0.07295478, -0.21512090, -0.08419911, -0.04731732, -0.12412539, -0.00107344, +0.26069519, -0.07741726, +0.04090796, -0.00134196, -0.01765695, -0.01292007, -0.10102266, +0.01536460, +0.16275072, +0.32173051, -0.16829868, +0.05917218, -0.07642403, -0.09841398, +0.07574604, -0.05777762, -0.05193957, +0.55392244, +1.02450142, +0.05574503, -0.52275031, -0.09393974, -0.07125111, -0.03849134, -0.09203083, -0.06439021, -0.05176560, -0.12066452, -0.12408196, -0.22806052, +0.01799814, +0.20684954, -0.12297869, +0.24772976, -0.01105169, -0.16308942, -0.04749778, -0.08246927, -0.15128388, -0.06251523, -0.19304033, -0.14151624, +0.16336359, -0.05656026, -0.00641374, +0.33179826, +0.23395046, -0.01985400, -0.05492099, -0.08903417, +0.17316785, -0.10158698, -0.04664595, -0.07862360, +0.08180146, -0.05950540, -0.17090802, -0.02719256, -0.03105732, -0.12379642, +0.50868101, +0.14823914, -0.18697012, -0.17444630, -0.28306721, -0.13851211, +0.05876264, +0.31087394, +0.30431079, +0.01164429, -0.27573691, +0.32404886, +0.18076725, +0.06308193, +0.24569396, +0.24437820, -0.18586868, -0.05907244, +0.00896098, -0.10245246, +0.14210020, -0.09760853, + +0.06246733, -0.14758841, -0.08423625, -0.19576960, -0.03773118, -0.23402130, -0.04713486, -0.01445184, -0.09520156, +0.00107454, +0.22237560, +0.07230284, +0.01356726, +0.00153039, -0.01727947, -0.00309187, -0.08341158, +0.00659162, +0.11970459, +0.33249805, -0.16929107, +0.03076094, -0.05282495, -0.06973823, +0.06055534, -0.09580555, -0.04378132, +0.38002093, +0.59714215, +0.05468205, -0.60259794, -0.03834740, +0.00441872, +0.15757475, +0.26704407, -0.06385143, +0.00007175, -0.06023860, -0.04609578, -0.22330622, +0.10835646, +0.19580620, -0.14272262, +0.20508638, -0.00649158, -0.06454194, -0.06190002, +0.08618642, -0.14799280, -0.03486739, -0.19254893, -0.01311549, -0.14664375, +0.15623325, -0.05237919, +0.07944058, +0.29191736, +0.19847556, +0.00469775, -0.04718768, -0.16467881, +0.10192551, -0.09886594, -0.12026051, -0.08910267, +0.01977139, -0.06742179, -0.15352964, -0.03348619, +0.05867126, -0.14400643, +0.17016208, +0.10138511, -0.11886879, -0.18356934, -0.33835021, -0.07152891, -0.15123245, -0.02495985, +0.23627821, +0.14155101, +0.03287566, -0.19634476, +0.24961657, +0.15405533, +0.09728718, +0.18380239, +0.19944509, -0.14101714, -0.00953223, +0.12900240, -0.07352611, +0.11140493, -0.04287108, -0.11311125, -0.14320401, +0.44697114, +0.06230967, -0.15841006, -0.08646084, +0.02188925, /* S4.TCP_OPTLEN_6 */ - +0.01303969, -0.03389672, -0.01873662, +0.04207546, -0.01860207, -0.07071800, -0.01955992, +0.00352807, -0.16136248, +0.00899699, -0.11475329, +0.01184999, +0.09853075, +0.01496034, +0.01003388, +0.03020734, -0.02122991, +0.39638806, +0.19828981, -0.06133972, -0.02636691, +0.11434046, -0.00820108, -0.00858399, +0.04368992, +0.01192629, +0.00761892, -0.04010252, +0.29090658, +0.12556410, -0.00218605, -0.05993943, -0.00008077, -0.00050678, -0.09259039, -0.01090869, -0.00859623, -0.07712350, +0.01105671, +0.03515673, +0.03252605, -0.00591524, +0.03052506, -0.06412889, +0.02028923, -0.02109037, +0.01652221, -0.05470459, -0.00602050, +0.00718956, -0.01769744, -0.16967470, -0.00998650, +0.04155910, +0.03368426, +0.11725113, +0.13562144, +0.01359402, +0.00956219, +0.01061500, +0.19970234, +0.00777955, +0.07875642, -0.00746253, +0.07233683, +0.00895870, +0.05332569, +0.01575553, +0.00844850, +0.04512373, +0.40646987, -0.07642664, -0.03348573, -0.02404678, -0.09916559, -0.03141573, +0.06028471, -0.10497001, +0.24600097, +0.02612669, +0.02566254, -0.07942114, +0.00962670, -0.08840088, -0.03737285, -0.04797828, -0.06727332, +0.01592966, +0.04560736, -0.01135500, -0.04564919, -0.01371243, + +0.10501650, -0.02442375, +0.04785244, +0.01850801, -0.02301753, -0.07736314, -0.01825714, +0.01280685, -0.18416514, -0.04314721, -0.10082035, +0.01191233, +0.10154996, +0.01608283, +0.00080067, +0.04264129, -0.02503272, +0.37306484, +0.18017607, -0.06204020, -0.04102299, +0.09876088, +0.01545542, -0.02767325, -0.03516855, +0.01202532, -0.00144696, -0.50679937, -0.19159276, +0.11251727, +0.01645889, -0.15714099, +0.02504738, -0.05473018, -0.23590284, -0.00781619, +0.00678578, -0.19071375, +0.08891915, +0.11379801, +0.10715500, +0.04288691, +0.05710475, -0.05110813, +0.02621620, +0.02366638, +0.00113059, -0.03627453, +0.00724275, +0.02051746, +0.00288627, -0.23759623, -0.07079663, -0.00181897, +0.06658237, +0.06605253, +0.11261377, +0.11680428, +0.01902341, +0.02036605, -0.02424784, +0.19381560, +0.01236538, +0.04635325, -0.02432013, +0.07963850, -0.00124434, +0.02251127, +0.02309551, +0.04930057, +0.11560761, +0.33880167, -0.07649079, -0.01612418, -0.02789874, -0.07038668, -0.04599612, -0.02981652, +0.03771665, -0.09498221, +0.34015232, +0.03499171, +0.08559255, -0.08117037, +0.03914170, -0.10144324, -0.02918642, -0.04816619, -0.06364596, +0.03206121, +0.11047327, +0.00887179, -0.06443541, -0.00515160, -0.00879950, +0.04488926, +0.36045346, -0.01709815, +0.00572192, -0.05155674, +0.03199035, /* S4.TCP_OPTLEN_7 */ - +0.01632277, -0.02249217, -0.01195935, +0.06709569, -0.01448511, -0.05780123, -0.00985343, +0.00749989, +0.01003498, +0.02057444, -0.09903750, +0.01472677, +0.10642011, +0.01677207, +0.01224145, +0.03355052, -0.01410204, -0.11106019, +0.18266807, -0.04985773, +0.00984712, +0.12957863, -0.00424289, +0.00077980, +0.09780021, +0.01946423, +0.01693579, +0.41900841, +0.63057670, +0.14142074, +0.06287869, +0.01474498, +0.00323805, +0.00406211, +0.00250686, -0.00689944, -0.00501680, +0.02112574, +0.01468148, +0.03992932, +0.03394744, -0.00053694, +0.03367908, -0.05369541, +0.02285207, -0.01624026, +0.02543769, -0.00540834, +0.00260380, +0.01581901, -0.01330554, -0.00392549, -0.00556632, +0.04358717, +0.03664462, +0.09316954, +0.12475765, +0.02161025, +0.01748094, +0.01868933, +0.15247316, +0.01107830, +0.10287996, -0.00084532, +0.06439833, +0.01435984, +0.07900408, +0.01856309, +0.01112590, +0.04987328, +0.36753951, -0.05398945, -0.02247879, -0.01349784, -0.08006149, -0.02343834, +0.03267301, -0.08728350, +0.22472534, +0.02781497, +0.02848752, -0.06706788, +0.08557224, -0.07447298, -0.02912492, -0.03921464, -0.05912909, +0.02056297, +0.05001669, -0.00722065, -0.03524598, -0.00814464, + +0.09493756, -0.01589907, +0.04435181, +0.04142891, -0.02630200, -0.06557391, -0.00110251, +0.01536056, +0.01324388, +0.02251590, -0.08592319, +0.00263881, +0.10947457, +0.01843960, +0.00202376, +0.04247693, -0.02075714, -0.11387906, +0.18595529, -0.03997796, +0.02852167, +0.11752480, +0.01530699, +0.01304879, +0.09879061, +0.02338590, +0.01090261, +0.48811401, +0.76248572, +0.12273266, +0.08648316, +0.06309740, +0.00927378, +0.04608711, +0.02466566, -0.00673084, +0.00530146, +0.08769741, +0.07216544, +0.10644361, +0.08350037, +0.04267183, +0.05931232, -0.04505598, +0.02773668, +0.00624032, +0.01330692, +0.03365428, +0.01361178, +0.02889786, +0.00245802, +0.02324646, -0.01399155, +0.00105753, +0.06601890, +0.06253484, +0.10618300, +0.11794118, +0.03058213, +0.03832474, -0.01529232, +0.13069112, +0.01478986, +0.08281100, -0.01699747, +0.06960547, +0.00391494, +0.05027582, +0.02345774, +0.04316167, +0.10120280, +0.31455426, -0.04388780, -0.01031115, -0.01769287, -0.05650439, -0.00540461, -0.02146790, +0.00259431, -0.07598260, +0.28671282, +0.03079049, +0.08047875, -0.06871894, +0.06869103, -0.08655112, -0.02117505, -0.03923563, -0.06051913, +0.03634239, +0.09920798, +0.01001035, -0.05052050, +0.00020669, -0.00672276, +0.03972262, +0.29178631, -0.01238551, -0.00682029, -0.04342295, +0.03154626, /* S4.TCP_OPTLEN_8 */ - +0.01176931, -0.03211842, -0.02204228, +0.35705469, -0.02291059, -0.06512315, -0.02443142, +0.00159504, -0.00774891, +0.00876180, -0.10609724, -0.01597865, +0.24533217, +0.01399319, +0.00730897, +0.02625928, -0.04070213, -0.14273302, +0.15246222, -0.06348863, +0.00213164, -0.02713296, -0.01317564, -0.01955647, +0.32009218, +0.01302423, +0.00275951, +0.31482506, +0.48527746, +0.33606147, +0.82599856, +0.00633318, -0.00307771, -0.02668832, -0.04157840, -0.01390801, -0.04187109, +0.00278291, +0.00857689, +0.03319327, +0.02453642, -0.00544511, +0.02893617, -0.06071591, +0.01707552, -0.02985527, +0.01785904, -0.04754873, -0.00749842, +0.00656562, -0.07718349, -0.05161185, -0.01303868, +0.03897267, +0.02199761, -0.12418093, +0.04478924, +0.01564001, +0.01271737, +0.00896085, +0.09883692, +0.00550222, +0.39105554, -0.00735939, +0.02728178, +0.00904169, +0.36870556, +0.01466206, +0.00385703, +0.02540086, +0.18132043, -0.07192403, -0.03579632, -0.02934173, -0.08884831, -0.05566202, -0.03374897, -0.09582358, +0.12878169, +0.02464540, +0.02160949, -0.09613111, +0.05766731, -0.08878958, -0.03709023, -0.04571181, -0.11174634, +0.00940033, +0.03990868, -0.02028822, -0.06416895, -0.01710502, + +0.16096802, +0.02388728, +0.01488476, +0.34907162, -0.02986554, -0.06426074, -0.01357952, +0.02125211, -0.01187390, -0.04669238, -0.09034017, -0.09889203, +0.22433609, +0.01724542, -0.00838465, +0.02914748, -0.04573837, -0.15284870, +0.16217066, -0.05976064, +0.02270088, -0.04616837, +0.00927345, -0.06182174, +0.27748456, +0.01735901, -0.00251282, +0.29555414, +0.34990335, +0.27276765, +0.78950500, +0.06205564, -0.08570849, -0.08770415, -0.13311674, -0.01287618, -0.05927901, +0.10855405, +0.04430067, +0.11335057, +0.00901861, +0.04914873, +0.06007449, -0.04294896, +0.02240315, -0.04377100, +0.02808381, -0.08124773, +0.00911124, +0.04897958, -0.07257026, -0.06973449, -0.02774942, -0.00528522, +0.06502861, +0.03899684, -0.21317174, +0.03388185, +0.02817723, +0.03715775, -0.01322917, +0.07084529, +0.00983505, +0.37624916, -0.01097892, +0.05819134, +0.00132538, +0.32219907, +0.02757468, +0.00826866, -0.00445439, +0.08421532, -0.06070559, -0.01489342, -0.02945398, -0.04779973, -0.01253817, -0.05472941, -0.07648084, -0.07955847, +0.24093562, +0.01973536, +0.08370699, -0.09174592, -0.12781124, -0.09402316, -0.02333485, -0.04120248, -0.12897447, +0.05816253, +0.03032767, +0.00186436, -0.06032249, -0.01079901, -0.00446818, -0.00380655, -0.09400207, -0.03572675, -0.05724566, -0.06169829, +0.01363485, /* S4.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S4.TCP_MSS */ - -1.10418836, -2.91713608, -0.24107592, -0.01028388, -0.00969708, +0.00250110, -0.16990614, -0.04271100, -0.19499023, -0.03211288, -0.21170180, +0.01045113, +0.01045908, -0.06659063, -0.03682882, -0.18182599, -0.00609576, +0.00316076, -0.04604987, -0.06100789, -0.03070761, -0.00491038, -0.01412750, -0.17531000, +0.00121672, +0.03214377, +0.06273605, +0.77844697, -0.89069563, +0.10263638, -0.01714474, -0.03321006, -0.13009671, -0.29900010, -0.05144990, -0.20121333, +0.00164110, -0.16474139, -0.49416012, +1.23315325, -0.05015219, +1.16691790, +0.63837467, -0.86052454, +0.07633582, -1.13168640, -1.15722998, -0.58389605, +1.67965401, -0.44605253, -0.02576390, -0.23121456, -0.04977427, +0.05041551, +0.00878802, +0.02739383, -0.01962659, +0.05739379, -0.03729312, +0.12258700, +0.00824604, -0.04490494, -0.00331892, +0.14831842, -0.01108424, -0.20992222, -0.01185822, -0.00881669, -0.02769005, -0.69058206, -0.59203280, -0.00437793, -1.62526235, -0.39944509, -0.41917975, -0.04347374, -0.00613959, -0.05921860, +0.49301984, -0.02195569, +1.35366380, -0.00038884, -0.01689763, -0.63648556, -0.04698883, +0.46991967, -0.04088785, +0.00358183, -0.25905906, -0.02757403, -0.05905442, -0.26746860, + -1.57493736, -3.46289855, -0.37512767, -0.00927021, +0.00646600, +0.03467414, -0.14822578, -0.00748351, -0.17422842, -0.02102634, -0.31295328, +0.09207495, +0.01222191, -0.08158721, -0.01465722, -0.20662017, +0.04879773, -0.00424518, -0.05877400, -0.07824265, -0.02336968, -0.01080097, -0.03731947, -0.16506499, +0.02293673, +0.02473674, +0.04981523, +1.26358187, -1.22063284, +0.12280079, -0.04533733, +0.01129359, +0.03350810, -0.29655783, +0.06466337, -0.30704011, +0.00725303, -0.24927576, -0.07295325, +1.11049568, -0.08906837, +1.31559712, +0.73905335, -1.24698375, +0.10785356, -1.49418127, -1.19977481, -0.58263323, +1.72411516, -0.29927311, +0.00990202, +0.01991471, -0.28462874, -0.06620496, +0.07304017, +0.02726329, +0.04841548, -0.02789046, +0.07091798, -0.05750719, +0.08797021, +0.07795656, -0.05714479, -0.00491851, +0.21880948, -0.00575667, -0.25506323, -0.02137239, -0.04852196, -0.03482714, -1.08311097, -1.17903057, -0.01624755, -2.02604254, -0.42069039, -0.42996965, -0.13163520, -0.03110352, -0.00768149, -0.08683942, +0.18095057, +0.01949574, +1.47690873, -0.03318888, -0.05861357, -1.07794537, -0.07994216, +0.78347650, +0.00994619, +0.06684867, -0.21192224, -0.04436936, -0.09193380, -0.44904873, -0.36639635, -0.09761459, +0.02489827, +0.02113435, -0.07499255, -0.03698174, -0.03491818, /* S4.TCP_SACKOK */ - +0.02781689, +0.05168302, +0.07505428, +0.01952210, +0.03007247, +0.28087092, +0.07149693, +0.01820643, +0.09147498, -0.00903712, -0.21144393, +0.03703443, +0.05515671, -0.00967980, -0.02503085, -0.04588862, +0.03656555, +0.05642121, +0.09585207, +0.13529290, +0.16284557, +0.01851759, +0.03394318, +0.03308684, +0.01840086, -0.03221790, -0.08286651, +0.10437769, -0.02855299, +0.10785744, +0.03038279, +0.07611155, +0.03659797, +0.07346562, +0.15047259, -0.09044868, +0.02927499, +0.04785438, +0.06823562, +0.07462571, -0.02227295, -0.08399009, -0.02447823, -0.15728371, -0.04152862, +0.06603480, +0.10402293, +0.10737313, +0.03381664, +0.07971998, +0.18478140, +0.09887817, +0.08027950, -0.08222889, +0.04980613, +0.05959437, +0.05828264, +0.12817603, +0.10581271, +0.01881370, +0.06078027, -0.21920082, +0.01357551, +0.01518541, +0.01957846, -0.07008149, +0.01211093, -0.04633709, +0.02353180, +0.03184572, +0.03653019, +0.05623374, +0.03111528, +0.01754464, +0.04506842, +0.01924072, +0.00837860, -0.20973060, +0.02196330, +0.00001767, +0.01719205, -0.19909877, +0.03270327, +0.26335793, -0.14031043, +0.09966871, +0.05263946, +0.03329279, +0.04998933, +0.02116084, +0.04209693, +0.02123203, + -0.00736758, +0.23003707, +0.20775684, +0.02037443, +0.05139666, +0.36788347, +0.10211589, -0.00569467, +0.09287119, -0.03371716, -0.29308211, -0.04236716, +0.09976051, +0.01297678, -0.00720550, -0.02720722, +0.04305783, +0.10563033, +0.12333763, +0.19025605, +0.24476796, -0.00629217, +0.03924440, +0.00709169, +0.02616489, -0.00102562, -0.08580487, +0.31984854, +0.11518771, +0.11411115, +0.08248106, +0.09591220, -0.01166731, +0.06437722, -0.04159315, -0.10314418, +0.01224926, +0.06163640, -0.05166304, +0.27643746, +0.01846819, -0.10381683, +0.02869707, -0.20866217, -0.03498454, -0.09613332, +0.18553809, +0.12186200, +0.06685963, +0.07770240, +0.36625399, +0.12661977, +0.03619499, +0.12139775, -0.07869129, +0.02716122, +0.13449864, +0.07942765, +0.13175140, +0.13522085, -0.19554440, +0.19448624, -0.24967137, -0.01299140, +0.04082783, +0.00261504, -0.05612360, -0.05212382, -0.03888426, +0.01603680, -0.19642188, -0.01140380, +0.06486850, +0.12878978, -0.00353075, -0.09844911, +0.14072949, -0.00434952, +0.02235871, -0.31777270, -0.15788498, +0.00843849, -0.05939061, -0.32834610, +0.14274070, +0.61431038, -0.21226325, +0.21199600, +0.05101660, +0.03451757, +0.03808547, +0.02284455, +0.02600449, +0.05904887, +0.00093584, -0.05027294, -0.03315276, +0.09674620, +0.03765120, +0.03529507, -0.03462106, /* S4.TCP_WSCALE */ - -0.69725079, -0.14650625, -0.14896466, -0.06707430, -0.54453131, -0.20438377, -1.40498845, +0.52845089, -1.17971413, -0.02377541, -0.12661201, +0.17523462, -0.01025111, -0.03109307, -0.05418057, -0.10196932, -0.39361113, -0.28148107, -0.13856337, +0.12001862, -0.34407410, -0.10494275, -0.22690718, +0.21660668, -0.17997236, -0.08543354, -0.17059871, -3.39849725, -4.54823270, +0.03873258, -0.39213463, -1.66358563, +1.01034986, +0.03900772, -0.51977441, -0.11463500, +0.19198918, -2.63428314, -0.15196260, +0.61909413, -0.06364617, +0.18268712, -0.13349257, -0.11540363, -0.08009785, -0.15503774, +0.01679099, -0.38151082, +0.12593750, +1.47960470, -0.85063728, -0.99264380, +0.01663045, -0.14702361, +0.34919811, -0.43515684, -0.18040932, -0.31842765, -0.34017472, +2.52440647, -0.32842206, +0.21698971, +0.17894817, -0.37637942, +0.46474371, -0.13876762, -0.11054653, -0.15055080, +0.63678597, +1.00236589, +4.11627110, -0.18860569, +0.60337865, +0.60203354, -0.26483736, +0.34941100, +0.09872639, -0.07176771, +3.15636977, -0.02257912, +0.05316739, +0.06425871, +0.27725247, +0.71894712, -0.08700251, +0.18291588, -0.50930960, -0.05389824, +2.74318112, +0.16965601, +0.47092478, +0.06765856, + -0.58686661, -0.13707675, -0.57425974, -0.03577667, -0.50406716, -0.22881848, -1.46667703, +0.66608139, -1.16483634, +0.05959625, -0.10693292, +0.20686680, -0.02032797, +0.00042191, -0.01551059, -0.06650720, -0.35757172, -0.29480357, -0.12438020, +0.11688620, -0.29594266, -0.13425974, -0.24773124, +0.29891840, -0.15624328, -0.03399396, -0.15014052, -4.48349901, -4.90821887, +0.09624475, -0.35825789, -2.08057072, +1.79211194, +0.11120116, -0.58584565, -0.06679692, +0.18528915, -2.73162781, -0.11998416, +0.50620033, -0.02511679, +0.19995575, -0.09247452, -0.02319210, -0.05632330, -0.24569477, +0.08655986, -0.36400920, +0.08402776, +1.47929804, -0.83142574, -1.42153308, +1.03041130, +0.00801933, -0.11700452, +0.37733636, -0.38525250, -0.18054778, -0.33346756, -0.32609647, +2.69890040, -0.41161003, +0.21359514, +0.21376338, -0.44398553, +0.54912046, -0.09390617, -0.11844729, -0.12499878, +0.76091427, +2.30736152, +1.91777588, -0.21151038, +0.77006746, +0.65612336, +0.57354057, -0.95191261, +0.31945890, +0.15945793, -0.07536176, +4.55938604, -0.02778818, -0.06084392, +0.02522553, +0.28656434, +0.90650233, -0.10520244, +0.16404831, -0.48424128, -0.06401097, +2.75881880, +0.15780693, +0.50642697, -0.43354735, +0.11047417, -0.29046264, +3.76557017, +0.12484396, +0.06237759, -0.20283512, -0.06756071, /* S4.TCP_CORR_WINDOW_MSS */ - +0.55495481, +2.94799587, -0.08050382, +0.18554778, +0.19434814, +0.14439878, -0.06623839, +0.09511041, -0.07547766, -0.03511266, +0.04414269, -0.34265555, +0.00381097, -0.06892227, -0.00292581, -0.00234197, +0.14219080, -0.01398869, +0.13910418, -0.04913878, -0.00136204, +0.04963037, +0.10381881, -0.04902915, -0.02296167, +0.03951024, +0.04740772, -0.81217561, +0.69850774, -0.86037602, +0.43557871, -0.10235035, -0.14087501, -0.20792176, -0.84305670, +0.03677439, -0.09302821, +0.37494902, -0.41911172, -0.38562845, -0.05145449, -0.05521601, -0.05445189, -0.01763563, +0.14989500, +0.11764084, -1.25733980, -0.65354551, -0.20997451, -0.70040142, -0.73133727, +0.07762795, -0.00490810, +0.05826181, -0.18399416, -0.44457167, -0.11250407, -0.07131459, -0.00400206, -0.15690593, -0.07814620, +0.00769962, -0.06705771, -0.20297539, +0.37074183, +0.25919936, +0.10396001, +0.00216887, -0.15881467, +0.41002097, +1.09735597, +0.32908794, +0.87550712, +0.59681352, +0.75799019, +0.07084256, -0.00214659, +0.10900916, -0.90186526, -0.02488962, -0.09065091, -0.01711885, +0.08046462, +0.44625966, -0.01407282, -0.04436448, +0.04942951, +0.26549101, -0.80079817, +0.15543506, +0.35516338, +0.42231095, + +0.97031386, +3.25437360, -0.58742496, +0.18706263, +0.22082057, +0.23800822, -0.04617516, +0.06803915, -0.07438795, -0.04515641, +0.06517595, -0.68980951, -0.00817863, -0.07494880, -0.01778511, -0.02251882, +0.09087529, -0.06773650, +0.15841736, -0.14501237, -0.00400319, +0.05923335, +0.14544510, -0.09572571, -0.07550201, +0.03178420, +0.08542278, -1.06786413, +1.08424751, -0.91286894, +0.39032466, -0.16680968, -0.42538587, -0.27538861, -0.89090339, +0.00974496, -0.15613735, +0.56273370, -1.37991525, -0.84061616, -0.01641113, -0.07068790, -0.07514117, -0.06482837, +0.21273083, -0.04225892, -1.47504686, -0.77464855, -0.42548006, -0.87059224, -1.02034534, -0.28329662, +0.09415217, -0.01797349, +0.10608176, -0.25764924, -0.61076704, -0.12317291, -0.08774404, -0.03691822, -0.39962301, -0.05979261, +0.00217670, -0.12936066, -0.23409359, +0.50868007, +0.28785546, +0.17492693, -0.01688667, -0.20138291, -0.00719808, +1.28177247, +0.48175324, +0.53154308, +0.61118584, +1.02912161, +0.19664263, +0.00555830, +0.00571764, +0.14103522, -1.61131853, -0.00901954, -0.17412809, -0.04788904, +0.12490886, -0.06575266, -0.02799992, -0.31818495, +0.03127648, +0.47080414, -0.83215051, +0.18764533, +0.63049187, +0.64248832, +0.59901936, +1.71585345, -0.27342790, +0.07976495, +0.16432774, -0.04486514, +0.00889171, /* S5.TCP_WINDOW */ - -0.79723418, +1.84704298, -0.59895870, +0.36316930, +0.56899201, +0.05343512, -0.62773979, +0.09583102, -0.66193054, -0.05292986, -0.45449363, -0.92425164, -0.04308421, -0.08600776, -0.11091615, -0.14517131, +0.29059472, -0.09471711, +0.26003077, -0.23034350, -0.06820551, +0.10251033, +0.25839218, -0.19988933, -0.07055002, -0.01958927, -0.21131686, +0.75037346, +0.94927666, -2.51400539, +1.48327009, -0.40380652, -0.63981134, -0.93772333, -2.57147919, +0.03821367, -0.28154518, +0.38438210, -2.18879777, +1.75175453, -0.08440925, +0.11020599, -0.07712982, +0.38887515, +0.22129652, -0.05620873, +0.10156583, -2.27591076, +0.38868584, -2.26491237, -1.98915641, -0.14488017, -0.15953245, -0.09119264, -0.55478281, -1.07379935, -0.40301926, -0.34902417, -0.07172451, +0.24241273, -0.12117938, -0.08431169, -0.18056317, +0.06215335, +0.96051460, +0.58298349, -0.03253620, -0.07745668, -0.65102346, +0.46428402, -0.43820070, +0.12402127, -0.82947954, +1.08710750, +1.56252596, +0.20696309, +0.03357131, +0.16652911, +0.29242204, -0.04178102, -0.00537853, -0.11802971, +0.06727598, +0.72572733, -0.15464093, +0.39303243, +0.10783078, +0.59805211, -2.38348453, +0.40247614, +1.16923902, +0.27003842, + -0.75746633, +1.90675638, -1.94390040, +0.36823710, +0.54982968, +0.18019056, -0.60805424, +0.10417434, -0.68594609, +0.02266089, -0.53146760, -1.09406667, -0.07597106, -0.06270916, -0.11353339, -0.14734982, +0.15247243, -0.11761307, +0.23987358, -0.29154143, -0.05531327, +0.07250101, +0.24840358, -0.09112542, -0.07808993, -0.04103716, -0.30800820, +0.84786778, +0.66278851, -2.72070045, +1.53373863, -0.47502584, -1.33892305, -1.07888581, -2.49673455, -0.01030090, -0.29056058, +0.39053417, -4.22654024, +1.80498565, -0.02521233, +0.06933055, -0.10317121, +0.48017346, +0.24047437, -0.01535159, +0.33826867, -2.24492157, +0.35236935, -2.49909087, -2.40126534, -0.97091710, +0.35280995, -0.19268987, -0.04881784, -0.61949890, -1.20360461, -0.43865895, -0.36816299, -0.10335362, +0.09577584, -0.09489630, -0.10257961, -0.26515599, +0.02559233, +1.20256715, +0.63940515, -0.00335043, -0.09406310, -0.68745624, -0.27050016, -0.06983106, +0.07615148, -0.46425979, +1.08083545, +1.48454297, +0.74503585, +0.13715714, +0.06491494, +0.13489191, +0.09016065, +0.02076212, -0.02622002, -0.19110799, +0.03685361, +0.84868270, -0.17689805, +0.30172203, +0.11781966, +0.70297089, -2.40530755, +0.37481920, +1.47059744, +0.63243327, +0.31614807, +0.03201216, +0.18757691, +0.06645204, +0.32837884, -0.15454020, -0.15454288, /* S5.TCP_FLAG_F */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_S */ - -0.03490836, -0.11959065, +0.05812810, -0.03507111, -0.04198933, -0.24559881, +0.02573498, -0.03316902, +0.06078997, -0.09621387, +0.01737112, +0.10760927, +0.02589232, -0.14840362, +0.00316464, -0.01234472, -0.04066667, +0.01506816, -0.03533105, -0.00136784, +0.01208375, -0.00915012, -0.01834292, -0.02243916, -0.02266952, +0.06399926, +0.11197928, +0.14734097, -0.40330165, +0.16370526, -0.05271775, +0.02252159, -0.00648006, +0.06897024, +0.19580105, +0.07045554, -0.00824281, -0.05417415, +0.04688314, -0.07393314, -0.13690311, -0.03405561, +0.02163364, -0.00377293, +0.08147495, -0.01374369, +0.08178858, +0.10538208, -0.04510853, +0.04078102, -0.02445601, +0.06865554, -0.00970356, +0.03226169, +0.01452938, +0.05955768, +0.01199672, +0.07776651, -0.01660830, -0.07680535, -0.03314912, +0.01647926, -0.02845898, -0.06753611, -0.04110779, -0.02065132, -0.01134056, -0.00118586, -0.01293402, -0.06279765, -0.65473848, +0.01368254, -0.02880639, -0.06957132, -0.04001669, -0.05722050, -0.02909271, -0.01554213, +0.09730501, -0.07654021, -0.04340242, -0.01793168, -0.03565573, +0.00021533, -0.02191247, -0.02056045, -0.01042518, -0.00541023, +0.01505747, -0.05192105, -0.05233624, -0.03624621, + -0.03181784, -0.26743448, +0.08354579, -0.04581854, -0.04768248, -0.18223926, +0.02302496, -0.04954072, +0.05598987, -0.10914035, +0.00985610, +0.11265002, +0.00456639, -0.11153341, -0.01169342, -0.04789299, -0.05890151, -0.00833766, -0.04201552, -0.01818857, -0.00394273, -0.01702710, -0.03911003, -0.05244089, -0.02481797, +0.03280837, +0.07132694, +0.09811087, -0.21991466, +0.18745457, -0.07881890, +0.02235745, +0.00901488, +0.08710085, +0.19976987, +0.04124656, -0.00727311, -0.06620153, +0.16497404, -0.06860121, -0.07002924, -0.04022918, -0.00518682, +0.03988207, +0.05918881, -0.00474200, +0.08496168, +0.06830990, -0.05623987, +0.04802862, -0.01031337, +0.10345970, -0.04991164, -0.02064982, -0.00529811, +0.00720840, +0.05882586, +0.01617734, +0.07960998, -0.03132230, -0.19878293, -0.03022828, +0.00213651, -0.02526563, -0.07568588, -0.05437406, -0.04121704, -0.02697251, -0.04239682, -0.00684879, -0.02458913, -0.14103928, -0.00999816, -0.01965809, -0.08290645, -0.12871443, -0.06236761, -0.06975812, -0.03661934, -0.02474244, +0.03176950, -0.04314271, -0.04907584, -0.03899672, -0.04797145, +0.04199549, -0.03533588, -0.03259575, -0.01027575, +0.05406229, +0.02335135, -0.05902252, -0.08840989, +0.00138076, -0.04484327, -0.09165569, -0.11240938, -0.00107189, -0.04083675, +0.00649477, +0.01969254, /* S5.TCP_FLAG_R */ - +0.00391280, +0.00415812, +0.00666947, +0.00470749, +0.00392008, +0.37473442, +0.03604538, +0.00404684, +0.06096938, -0.03086171, +0.02900913, -0.09925421, +0.02305629, -0.06053759, +0.01661778, +0.01384499, +0.00340810, +0.02123546, +0.00395255, +0.01322462, +0.02333938, +0.00764445, +0.00569377, +0.00892480, +0.00981779, +0.05138771, +0.01254793, +0.08369085, +0.00462574, +0.10142809, +0.00649152, +0.03202670, +0.01063341, +0.05147240, +0.13035990, +0.04844050, +0.01414759, +0.00292926, +0.04352869, +0.00414470, -0.05418642, +0.00491275, +0.03470939, +0.01593074, +0.00549792, +0.00845076, +0.07329062, +0.08667114, +0.00684418, +0.06131668, +0.01598500, +0.07194441, +0.00049160, -0.03699948, +0.02976882, +0.03486484, +0.02063850, +0.04762280, +0.01013437, +0.00073801, +0.00513502, +0.02378535, +0.00366489, +0.00243992, +0.00221210, +0.01797195, +0.00363886, +0.01394903, +0.01069279, +0.00122291, -0.28507380, +0.02317928, +0.01411622, +0.00610249, +0.00472509, +0.00500538, +0.00159435, +0.01242452, +0.08633985, -0.02008488, +0.00400440, +0.00767419, +0.00327484, +0.00811274, +0.00794163, +0.00665576, +0.02803418, -0.02271288, +0.04401933, +0.00472808, +0.00748830, +0.00336441, + +0.02926520, -0.10627826, +0.04164833, -0.00032163, +0.00375703, +0.69514617, +0.03436778, -0.00272399, +0.06416068, -0.02965993, +0.06685641, -0.31620550, +0.03321673, -0.06409689, +0.01058390, +0.00979420, +0.02628264, +0.03751905, +0.00282284, +0.04064984, +0.03574834, +0.01970200, -0.00426414, +0.02044416, +0.02341681, +0.07349354, -0.03242659, +0.04883684, +0.02649658, +0.11509219, +0.00106175, +0.03692100, +0.08815736, +0.09599579, +0.17635578, +0.11806642, +0.03210617, -0.00165231, +0.26519078, +0.02681945, -0.04118072, +0.01191949, +0.05512276, +0.07328486, +0.01890847, +0.01635039, +0.15708353, +0.16192286, +0.00271737, +0.11920072, +0.04294084, +0.15862360, +0.02584859, -0.01912648, -0.08544205, +0.03853358, +0.05913553, +0.02895425, +0.05771576, +0.02469390, -0.15556316, +0.00245202, +0.04080421, +0.00711285, -0.00255006, +0.00110734, +0.01285036, +0.00447405, -0.01364051, +0.02429413, -0.10870549, -0.44638662, +0.03227987, +0.14678236, +0.00757502, -0.02918995, -0.00002236, +0.01468272, -0.00108378, +0.02422809, +0.24692916, +0.00349599, -0.01356331, -0.00108887, -0.01496449, +0.01438489, -0.00521300, +0.02071293, +0.03775046, -0.08874815, +0.05678467, +0.00172880, +0.00854435, +0.00715143, +0.01059086, -0.02259454, -0.03033424, +0.01032077, -0.01313383, +0.02781735, -0.02668843, /* S5.TCP_FLAG_P */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_A */ - -0.03532984, -0.12005870, -0.02037885, -0.03577977, -0.04333780, -0.57473229, +0.02480866, -0.03364134, +0.05652393, -0.09667727, +0.01655857, +0.10557919, +0.02502916, -0.14882556, +0.00292464, -0.01336772, -0.04275674, +0.01419122, -0.03568343, -0.00182155, +0.01139313, -0.01219681, -0.02033638, -0.02278529, -0.02360897, +0.06337719, +0.09626932, +0.09576374, +0.14098932, +0.16338940, -0.05317433, +0.02200961, -0.00729015, +0.05410569, +0.19377630, +0.07013047, -0.00921174, -0.05441355, +0.04633358, -0.07445750, -0.13753241, -0.03437309, +0.02117061, -0.00496664, +0.07402917, -0.01393251, +0.06058132, +0.10428034, -0.04750370, +0.03847357, -0.03316498, +0.06641493, -0.01303136, +0.02971753, +0.01040668, +0.05947615, +0.01109808, +0.05428677, -0.01770454, -0.07867919, -0.03449904, +0.01354287, -0.02957683, -0.06769809, -0.04126724, -0.02167649, -0.01164411, -0.00203702, -0.01362243, -0.08222546, -0.65734959, +0.01112634, -0.03238404, -0.07061422, -0.07563688, -0.05686165, -0.02918326, -0.01635891, +0.09616316, -0.07699867, -0.04376168, -0.02483542, -0.03607512, -0.01102401, -0.02270553, -0.02124995, -0.01239523, -0.02419448, +0.01467788, -0.05290250, -0.05987171, -0.03678731, + -0.03042620, -0.26727150, +0.02865648, -0.04579551, -0.05167018, -0.48396373, +0.02251055, -0.04875577, +0.04593250, -0.10406242, +0.01025596, +0.11847353, +0.00395857, -0.11213608, -0.01138040, -0.04664090, -0.05673812, -0.00818918, -0.04168077, -0.01692203, -0.00369595, -0.02089323, -0.03847710, -0.05035324, -0.02453267, +0.03389813, +0.05365782, -0.04003135, -0.04289940, +0.18762347, -0.07849407, +0.02340989, +0.01885284, +0.07208349, +0.21184943, +0.04451075, -0.00397823, -0.06506704, +0.16630227, -0.06766385, -0.06781245, -0.03959772, -0.00344995, +0.00212609, +0.05114915, -0.00331862, +0.00692360, +0.07115542, -0.05642598, +0.05285197, -0.01170520, +0.10298148, -0.03721302, -0.02329034, -0.00492651, +0.00529640, +0.05937425, +0.01568310, +0.06445486, -0.02501771, -0.19762418, -0.03551696, -0.00105432, -0.02484556, -0.07443590, -0.05369008, -0.04103714, -0.02219556, -0.04164529, -0.00537624, -0.04577230, -0.14268290, -0.01110787, -0.01952121, -0.08274444, -0.13177364, -0.06261612, -0.06877123, -0.03487147, -0.02529783, +0.05048938, -0.03953139, -0.04788320, -0.04402944, -0.04647310, +0.00049173, -0.03604448, -0.03172778, -0.01016797, -0.03161062, +0.02463010, -0.05894794, -0.09063426, -0.07627493, -0.04433016, -0.09009479, -0.11356634, -0.00721033, -0.03917358, +0.01028064, +0.01997148, /* S5.TCP_FLAG_U */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_E */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_C */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_RES8 */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_RES9 */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_RES10 */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_FLAG_RES11 */ - +0.00416632, +0.00439218, +0.01243183, +0.00498006, +0.00422159, -0.04765363, +0.03641718, +0.00445593, +0.06159312, -0.02909480, +0.02981644, +0.02287879, +0.02402615, -0.06002836, +0.01701262, +0.01835225, +0.00819811, +0.02184310, +0.00414141, +0.01359600, +0.02401332, +0.00809952, +0.00631024, +0.00928257, +0.01067933, +0.05269835, +0.06113031, +0.08537237, +0.08078489, +0.10162065, +0.00668305, +0.03230885, +0.01110616, +0.05386465, +0.13162666, +0.04947507, +0.01851827, +0.00311087, +0.04384896, +0.00442721, -0.04736184, +0.00511650, +0.03548429, +0.01626967, +0.04119898, +0.00872113, +0.07371146, +0.08721122, +0.00772030, +0.06247183, +0.02007997, +0.07261052, +0.00781717, +0.01760100, +0.03686027, +0.03492518, +0.02106887, +0.04990549, +0.01047925, +0.00449788, +0.00606069, +0.02475669, +0.00571724, +0.00254570, +0.00231444, +0.01945026, +0.00384207, +0.01733206, +0.01121282, +0.00905699, -0.28422663, +0.02443394, +0.01466230, +0.00650643, +0.00598585, +0.00432620, +0.00165234, +0.01281194, +0.08673628, -0.01865077, +0.00441139, +0.01354884, +0.00350260, +0.01618401, +0.00870264, +0.00705322, +0.02866104, +0.00615570, +0.04422520, +0.00516178, +0.00846487, +0.00498196, + +0.01525989, -0.11093936, +0.07090074, -0.00188473, +0.00273310, -0.07572845, +0.03756832, -0.00418602, +0.06453714, -0.03745397, +0.07481537, +0.08435434, +0.04540141, -0.06609854, +0.01014664, +0.01485122, +0.01837802, +0.04100741, +0.00179700, +0.04327649, +0.04398469, +0.01832042, -0.00849443, +0.00320712, +0.02931982, +0.07710010, +0.09050231, +0.03983340, +0.05215022, +0.11507967, +0.00160028, +0.03608560, +0.07595684, +0.10175137, +0.16339588, +0.10762990, +0.05172283, -0.00880704, +0.28287688, +0.00104950, -0.04221678, +0.01160618, +0.04962931, +0.07106548, +0.07404623, +0.04582039, +0.11691550, +0.15124750, -0.00061187, +0.11121679, +0.05489733, +0.15894529, +0.02089399, +0.00465520, +0.00474004, +0.07160261, +0.05819558, +0.02995442, +0.05931013, +0.02489456, -0.14574083, +0.01921210, +0.04364463, +0.03026774, -0.00453413, -0.00107804, +0.01177695, -0.00061667, -0.00048969, +0.02345690, +0.01666453, -0.44761141, +0.03334903, +0.13902950, +0.00593196, -0.04076955, -0.00068368, +0.00191457, -0.00130031, +0.02292057, +0.21219953, -0.00096541, -0.01722954, +0.01356359, -0.01222848, +0.05744103, +0.00618620, +0.01968350, +0.03640078, -0.00881717, +0.05587136, +0.00124167, +0.00282055, -0.00711488, +0.01682982, -0.01937843, -0.03128077, +0.02676196, +0.00597452, +0.02414199, +0.04376113, /* S5.TCP_OPT_0 */ - -0.03378604, -0.34585509, +0.03013574, +0.00231930, +0.15291288, -0.53662743, +0.00942450, -0.01564732, +0.06381786, -0.04988475, +0.02515612, +0.17259399, +0.02589551, -0.08916909, +0.01240187, +0.00524126, -0.00581402, +0.02146503, -0.01598277, +0.00605207, +0.01635937, -0.13188410, +0.20827127, -0.00213222, +0.03902350, +0.05760399, +0.12630182, +0.11113101, -0.00053184, +0.12550968, +0.06925799, +0.01186366, -0.01216678, +0.05840000, +0.15411836, +0.05700576, +0.01342894, -0.06296179, +0.02812452, -0.10374812, -0.07055014, -0.00913728, +0.03054520, +0.00482581, +0.09000416, -0.00007022, +0.07705962, +0.09311013, -0.01002236, +0.05544352, +0.00463622, +0.07130519, +0.00865553, +0.07654485, +0.03569515, +0.04351646, +0.01863666, +0.05994814, +0.00055702, -0.02959920, -0.00793271, +0.02211569, +0.00043805, -0.02570303, -0.01277152, +0.00406051, -0.00158168, +0.01412224, +0.25204273, -0.00831960, -0.40023119, -0.11428729, +0.00270165, -0.02067424, -0.04024529, -0.00927119, -0.00876549, +0.00548757, +0.09220455, -0.03677504, -0.01217462, +0.00925829, -0.00982568, +0.07130499, -0.00143697, -0.00211943, -0.00138703, +0.03018163, +0.03451747, -0.01867470, +0.02920099, -0.02435586, + -0.15231788, -0.77635981, +0.11441683, -0.00350127, +0.19462693, -0.78954668, -0.01417313, -0.03381573, +0.06894010, -0.08289825, +0.03138506, +0.39833309, +0.02509340, -0.10156891, +0.00034769, -0.04975844, -0.04545781, +0.01548962, -0.03839037, -0.00216187, +0.00507023, -0.24348187, +0.24417968, -0.04454696, +0.06636946, +0.04719609, +0.17919147, +0.08565560, -0.06539281, +0.14046492, +0.07823047, +0.01576776, +0.03843275, +0.10342158, +0.17391737, +0.06190932, +0.02629365, -0.13596360, +0.28818716, -0.25982779, -0.05909784, -0.02993172, +0.00295946, +0.00567301, +0.10303217, +0.03321153, +0.07038740, +0.09760667, -0.06272787, +0.07626773, +0.01002506, +0.15021296, -0.01239639, -0.00189606, +0.07303312, +0.05477433, +0.05525378, +0.02423366, +0.06505467, -0.01280184, -0.21078933, -0.01568966, +0.01347315, +0.01238282, -0.04916635, -0.03681904, -0.02174448, -0.01310898, -0.01804118, +0.31456819, +0.10294280, -0.34752231, -0.19297229, +0.00737754, -0.03959769, -0.18079489, -0.03011438, -0.01926847, -0.03127838, -0.00837741, +0.09757842, -0.02603762, -0.05098236, -0.01519475, -0.01757263, +0.20857383, -0.01816412, -0.02813858, -0.02720806, +0.06758277, +0.04376300, -0.05358213, -0.08844381, -0.01999907, -0.04744132, -0.06871140, -0.07682188, +0.02177581, -0.01137007, +0.00499861, +0.08069078, /* S5.TCP_OPT_1 */ - +0.05474327, +0.46245802, +0.15640586, +0.00209066, +0.21869094, -0.11369942, +0.15848434, -0.04947456, +0.17794470, -0.01753989, +0.02825422, +0.03712510, +0.03055806, -0.01962580, -0.04399198, -0.09206313, -0.01403164, +0.02459621, -0.02019849, -0.04680161, +0.09243027, -0.02659543, +0.26243852, -0.01067068, +0.00290732, -0.07280138, -0.13917822, +0.08843790, +0.12772211, +0.09707099, +0.01228896, +0.16975305, +0.07513258, +0.13714137, +0.26156542, -0.13360333, -0.06672126, -0.10850645, +0.14014860, +0.13173761, -0.04583250, +0.03285075, -0.11033253, +0.01307145, -0.06434687, -0.01377330, +0.13953868, +0.23676370, +0.13324591, +0.13436704, +0.25271196, +0.22145556, +0.05167109, -0.10314074, +0.20249155, +0.03042192, +0.02511452, +0.14818455, +0.16584775, -0.11035060, -0.01117198, +0.14718250, -0.00982391, -0.04771901, -0.00223048, -0.10477092, -0.00688305, -0.12451850, +0.25385511, +0.44426405, -0.29932948, -0.00338349, +0.21010702, +0.10318056, +0.22641501, -0.12079581, +0.00032040, +0.05827015, +0.06098257, -0.01103365, -0.04435927, +0.02833418, -0.00723055, -0.02439060, +0.01779242, +0.01587028, +0.12518816, -0.02088207, +0.12733796, +0.04532614, +0.08511851, -0.14959195, + -0.05378551, +0.62244339, +0.29446895, +0.01128789, +0.26782321, -0.15433037, +0.15791558, -0.07785076, +0.18206460, -0.00517860, +0.09764073, +0.04724350, +0.05323619, +0.00500197, -0.01677057, -0.10652516, +0.03891861, +0.03571642, -0.04310446, -0.06924395, +0.10700419, -0.10470220, +0.28382789, -0.01452386, +0.03745252, -0.06253221, -0.15110749, +0.19560471, +0.19696997, +0.11187896, +0.07897480, +0.20125843, -0.00825535, +0.13562556, +0.18085513, -0.14266872, -0.13331417, -0.15340653, -0.03921976, +0.07364221, -0.07472630, +0.04076393, -0.11351290, -0.04485552, -0.05777820, -0.02043590, +0.12350647, +0.28599524, +0.20726522, +0.11265830, +0.34032342, +0.29112192, +0.23285916, +0.07478638, -0.09262388, +0.23657723, +0.07104493, +0.03813804, +0.12756708, +0.22423472, -0.33367435, -0.02700427, +0.15068613, +0.00269347, +0.01335997, +0.01533213, -0.07538595, +0.01311450, -0.11708150, +0.27891795, +0.31796965, -0.38847806, -0.00495749, +0.27810177, +0.09745210, +0.15367845, +0.23135232, -0.13115260, +0.02933638, +0.10042077, +0.00257722, -0.02427274, -0.17869536, +0.04491055, -0.03734978, +0.04604753, +0.04975958, +0.05749238, +0.10867245, -0.07923816, +0.10039899, +0.04098100, +0.03524188, +0.14164644, -0.24333178, -0.09221298, -0.07724485, +0.04229003, -0.17701374, +0.00198311, -0.06465236, /* S5.TCP_OPT_2 */ - +0.14817577, +1.55906196, +0.19008210, +0.00097942, -0.09639737, -0.35951854, +0.30528906, -0.07469990, +0.26532964, -0.03390524, +0.02482654, -0.00678794, +0.03311183, -0.03513111, -0.06649571, -0.12313154, -0.04110632, -0.05485780, -0.02147455, -0.21167928, +0.01217875, +0.27587031, -0.14003137, -0.02688888, -0.27757513, -0.10906732, -0.21999602, +0.12652302, +0.52152458, +0.13459989, -0.05565310, +0.33073751, +0.16212327, +0.19182932, +0.38955235, -0.18485417, -0.12415397, +0.01787909, +0.27641337, +0.41768520, -0.07835120, +0.02780986, -0.15654076, +0.01138222, -0.10354410, -0.04287815, +0.16420137, +0.34766685, +0.19952295, +0.17379092, +0.38287535, +0.33697576, +0.04908544, -0.15491960, +0.30166919, +0.08812230, +0.03609544, +0.19044038, +0.23441754, -0.17809172, -0.02857420, +0.15854424, -0.15900557, -0.08989952, -0.00753952, -0.14882441, -0.10692207, -0.17508411, -0.26468249, +0.69651530, -0.38219791, -0.04872669, +0.34279202, +0.16459413, +0.41262945, -0.21098724, +0.00202296, +0.05943408, +0.06024652, -0.02798780, -0.08889444, +0.01366634, -0.00594232, -0.01976990, +0.00457361, +0.00763705, +0.29021247, -0.07700774, +0.17486916, +0.10421574, +0.09152981, -0.21574063, + +0.09735483, +1.47585253, +0.18392377, -0.00904694, -0.11305881, -0.36127528, +0.32788831, -0.10689726, +0.24089990, +0.01268334, +0.09046063, -0.02274179, +0.04228302, -0.00316400, -0.02420787, -0.09358711, +0.03501253, -0.07039988, -0.01145086, -0.22480307, +0.01028546, +0.28250944, -0.17155400, +0.03275276, -0.30568394, -0.07158214, -0.20356948, +0.20879157, +0.34340724, +0.14794563, -0.05997548, +0.35604466, +0.01095334, +0.14753496, +0.28454987, -0.16045251, -0.16632245, +0.14739482, +0.03490840, +0.23427420, -0.08291440, +0.02156117, -0.12570998, -0.03321033, -0.07871085, -0.05216535, +0.03466674, +0.25069054, +0.14539036, +0.10106248, +0.30529276, +0.27581910, +0.27515901, +0.05840378, -0.12850072, +0.23911005, +0.15955052, +0.05278357, +0.15642270, +0.22908956, -0.38322844, -0.00968016, +0.13045862, -0.18086834, -0.02307657, +0.03145239, -0.08417055, -0.08833816, -0.14578161, -0.34523500, +0.30359782, -0.29186405, -0.04851792, +0.12997731, +0.13136695, +0.35835690, +0.33528739, -0.20991881, +0.04961552, +0.07366130, -0.02964997, -0.04181639, -0.21135886, +0.01296156, -0.05350639, +0.05263777, +0.01235477, +0.04725648, +0.31429035, -0.20972490, +0.09939069, +0.08181089, +0.17494403, +0.12002439, -0.26046310, -0.08638004, -0.00887366, +0.02801122, -0.23380883, +0.01167288, -0.07999854, /* S5.TCP_OPT_3 */ - -0.08276293, -1.33446672, -0.01989463, -0.14088061, -0.08106980, -0.39292819, -0.06223684, +0.14356757, +0.02524824, -0.02480895, -0.01014407, +0.60073686, +0.01010162, -0.01936170, -0.03967749, -0.07607787, +0.20568326, +0.27592102, -0.04243879, +0.42888552, +0.44218025, +0.00270602, -0.08437213, +0.17033862, +0.59783804, -0.06712396, -0.10548907, -0.15339921, -0.15543747, -0.01210230, -0.51263256, -0.00078965, -0.10501597, -0.02915810, +0.01448796, -0.08706296, +0.26413729, +0.23177154, -0.12207264, -0.31069324, -0.03709220, +0.03017291, -0.11031855, +0.01245469, -0.05686799, +0.38049509, +0.05124397, -0.01482953, -0.12515391, +0.00631783, -0.00205893, +0.09204116, +0.02568343, -0.09374350, -0.17672372, -0.15219956, -0.03173790, -0.19967882, -0.24051164, +0.29255829, -0.03044059, -0.17998269, +0.38332000, +0.15509207, -0.05148571, -0.12321980, +0.29072715, -0.06043879, -0.02447296, -0.57022673, -0.51624374, +0.24996235, -0.34725516, -0.16167230, -0.23689500, +0.32332719, -0.04208219, +0.02947755, +0.00690149, -0.00905440, +0.37525816, +0.00232298, -0.07882544, -0.29036771, +0.01924020, -0.13145907, -0.13836214, +0.29661230, -0.11932277, -0.08416565, -0.01752397, +0.38055968, + -0.08972040, -1.51982300, +0.17847431, -0.12148757, -0.08755919, -0.39140312, -0.03288466, +0.08462889, +0.01682049, -0.11591268, -0.00625041, +0.53085820, +0.01353072, +0.00712940, -0.02250594, -0.05869537, +0.13014130, +0.32512675, -0.06398708, +0.48133053, +0.48196528, -0.02746498, -0.12261545, +0.03020854, +0.59293699, -0.04075757, -0.07095630, -0.08705190, +0.23747917, +0.05720894, -0.47970778, +0.06484284, -0.35562242, -0.12578173, -0.09666009, -0.07784891, +0.19165217, +0.08265624, -0.21967824, -0.44143386, -0.05875709, +0.05908312, -0.08476686, +0.08386501, -0.04194245, +0.35142374, +0.19450492, -0.18953800, -0.18445200, +0.03292635, -0.03535932, +0.11633917, -0.27975724, +0.01509592, -0.06364434, -0.24013754, -0.16645746, -0.02300802, -0.19131805, -0.24961080, +0.06888262, +0.01136445, -0.17350314, +0.44897377, +0.13242628, -0.09415600, -0.12954130, +0.23775184, -0.04704178, -0.09471087, -0.97548562, -0.61639122, +0.25221740, -0.48668139, -0.17581893, -0.50130040, +0.04998812, +0.24146827, -0.07265221, +0.01846704, +0.03748976, -0.01056153, +0.38346477, +0.00006443, -0.08564418, -0.41389156, +0.04279987, -0.23076508, -0.16529554, +0.40254796, -0.08397588, -0.10193460, -0.01259570, -0.13972664, +0.32835330, +0.13463833, -0.65753682, +0.03061326, +0.32566881, +0.15223302, -0.05788883, /* S5.TCP_OPT_4 */ - +0.00893897, -0.82692834, +0.08206652, -0.00907228, -0.01966161, -0.45021916, +0.11487822, +0.11661719, +0.20563632, -0.02051611, -0.00128605, +0.54804110, +0.02476920, -0.02050848, -0.03758690, -0.07685864, +0.20488270, +0.04053628, -0.03035237, +0.04051262, -0.30746193, -0.02053271, -0.01800858, +0.18084128, -0.01914704, -0.06732073, -0.11458767, +0.13498592, +0.07675524, +0.09252506, +0.00767530, +0.32743509, -0.03866774, +0.04534422, +0.19585878, -0.08062152, +0.23850923, +0.75921794, +0.07759202, -0.17171037, -0.04126218, +0.02592507, -0.10235949, +0.01034738, -0.05795103, +0.35543352, +0.10102585, +0.13887533, -0.03779001, +0.05583006, +0.17901612, +0.32255062, +0.01952067, -0.09692752, -0.03058137, -0.01085750, +0.02575310, -0.23110576, -0.26563020, +0.23825063, -0.03037779, -0.18865868, -0.03897669, +0.12283968, -0.03129212, -0.12307627, +0.06930024, -0.06225234, +0.00424042, -0.18601000, -0.35204649, -0.01980021, -0.14460813, -0.04521570, -0.02688897, +0.29135491, -0.01330257, +0.03361143, +0.05629416, -0.01154302, +0.34508679, +0.01563674, -0.02818406, -0.05658993, +0.00947969, -0.12717316, +0.07084555, +0.27323262, -0.06011734, +0.00818816, -0.26879939, +0.30124103, + -0.04566638, -0.80302792, +0.24461821, +0.00675984, +0.02418070, -0.46319865, +0.12563730, +0.04456256, +0.22495047, -0.05440590, +0.02736114, +0.49031567, +0.04531500, +0.01063440, -0.01160603, -0.05527514, +0.17678821, +0.07800364, -0.03566983, +0.06526180, -0.32915567, -0.04017008, -0.02083236, +0.16273387, -0.02578776, -0.03459968, -0.08219659, +0.63442858, +0.92513658, +0.11171907, +0.00118341, +0.43448716, -0.11449763, +0.06512544, +0.21978362, -0.05330116, +0.20723390, +0.71201815, +0.32788080, -0.23569775, +0.01619665, +0.03282230, -0.07106809, +0.08754212, -0.03864009, +0.29660967, +0.19758071, +0.08128602, -0.05030589, +0.02722575, +0.23500216, +0.49366086, -0.13613159, +0.01273936, -0.06556759, -0.04791360, +0.09460927, +0.06078885, -0.22399927, -0.26819953, +0.05550961, +0.03010258, -0.18183087, -0.11045322, +0.10572147, -0.07213594, -0.12389567, +0.03069703, -0.03868614, -0.01878656, -0.41067465, -0.37995933, -0.03416398, -0.05324678, -0.05471286, -0.27667709, +0.16953815, +0.23371787, -0.00433113, +0.03621788, +0.00446480, -0.02330164, +0.32595609, +0.02068116, -0.04696169, +0.01534695, +0.02747940, -0.20704230, +0.08054528, +0.35548495, -0.05712312, +0.00414014, -0.45632120, +0.01636788, +0.27182539, +0.11542507, -0.24867003, +0.04433622, +0.28971109, +0.16439004, -0.05130478, /* S5.TCP_OPT_5 */ - -0.04336871, -0.19678965, -0.09989811, -0.04029180, -0.07655706, -0.04717872, -0.08556111, -0.04862232, -0.12659145, -0.00454257, +0.25821106, -0.09797483, +0.09081659, -0.00201090, -0.01913748, -0.01458235, -0.10690657, +0.00996718, +0.16072405, +0.34037657, -0.17551996, +0.05052607, -0.07896887, -0.11334627, -0.02268276, -0.06019860, -0.04796197, +0.66134437, +0.60620545, +0.14578096, -0.17317963, -0.09648625, -0.07388669, -0.03487621, -0.09756958, -0.06830309, -0.05704501, -0.12196395, -0.12989797, -0.25670886, +0.01691293, +0.20060608, -0.12474502, +0.24438812, -0.01346497, -0.19180373, -0.04825601, -0.09256837, -0.17199647, -0.06154246, -0.19450586, -0.15447750, +0.22584517, -0.07864901, -0.00887907, +0.32152206, +0.22922037, -0.01624911, -0.06683737, -0.09236648, +0.17381608, -0.12190276, -0.05758551, -0.07924251, +0.07987977, -0.06087186, -0.17912372, -0.03199571, -0.03309018, -0.14467065, -0.15364171, +0.15452101, -0.19064934, -0.18320036, -0.26446244, -0.14222179, +0.05554478, +0.29864331, +0.41933631, +0.01115744, -0.35445478, +0.31964473, +0.16171701, +0.32790147, +0.23776435, +0.37082228, -0.19648305, -0.06327589, +0.00115492, -0.10954827, +0.12339319, -0.09705011, + +0.06596916, -0.12994786, -0.10257656, -0.06575427, -0.04372982, -0.02164426, -0.04288574, -0.01085257, -0.09658544, -0.03286866, +0.21769688, +0.02659727, +0.05008298, +0.00169157, -0.01794327, -0.00584869, -0.08765541, -0.00189487, +0.11865930, +0.33284122, -0.17837316, +0.01956177, -0.05726207, -0.09744838, -0.06011849, -0.09962559, -0.03753561, +0.41432553, +0.40435210, +0.12395607, -0.21783404, -0.03726901, -0.02279500, +0.14088854, +0.22774575, -0.07239202, -0.00908541, -0.04344233, -0.07073801, -0.26289820, +0.09456653, +0.18281049, -0.14469463, +0.19961053, -0.01192772, -0.15408684, -0.05943314, +0.05650313, -0.16990617, -0.04677885, -0.19794660, -0.03774146, -0.17816548, +0.20810188, -0.08694184, +0.07624816, +0.26713643, +0.19303029, +0.00564839, -0.07499151, -0.17262025, +0.11481786, -0.12006266, -0.11946171, -0.08515298, +0.00290744, -0.06900205, -0.17738490, -0.04368905, +0.05382664, -0.22634768, +0.04369648, +0.08762436, -0.12729494, -0.19570128, -0.37628413, -0.07517086, -0.15800595, -0.03656055, +0.22050811, +0.21889145, +0.02651737, -0.28965335, +0.23126992, +0.07268916, +0.39926187, +0.17491961, +0.30843012, -0.15121148, +0.02298605, +0.07606388, -0.08611965, +0.07709430, +0.00314281, -0.10516476, -0.21900341, +0.43063079, +0.09663315, -0.17140154, -0.08262146, +0.01923746, /* S5.TCP_OPT_6 */ - +0.00674180, -0.06400412, +0.01080191, -0.02380477, -0.02802657, +0.02469002, -0.03223868, -0.00462839, -0.16874790, +0.00699618, -0.15413008, +0.00815673, +0.08287503, +0.01249943, +0.00582799, +0.02681788, -0.03560786, +0.36481806, +0.26176280, -0.08037240, -0.03177347, +0.08717308, -0.01529425, -0.01432652, +0.02391265, +0.00713635, -0.00023569, +0.20215370, +0.24291641, +0.10048013, -0.17421891, -0.06534725, -0.00547326, +0.00146482, -0.09607673, -0.02001648, -0.01324463, -0.08332805, +0.00539104, +0.02465655, +0.03114057, -0.01747971, +0.02730688, -0.08891531, +0.01680057, -0.03146513, +0.00327846, -0.06386409, -0.01876257, -0.00940031, -0.02090523, -0.17847637, -0.01923560, +0.03900428, +0.03055057, +0.21709041, +0.19786123, +0.01275609, +0.00517146, -0.00699566, +0.34424452, +0.00260578, +0.01544603, -0.02492913, +0.09708097, -0.00261202, -0.01597537, +0.01091502, +0.00392687, +0.04860031, +0.14794564, -0.09143195, -0.05131013, -0.04717100, -0.13036447, -0.04843713, +0.14050029, -0.14143650, +0.44341070, +0.02347845, +0.02090448, -0.10497173, -0.20430161, -0.12071636, -0.05467992, -0.06775437, -0.07361459, +0.01107828, +0.04202410, -0.01758230, -0.06574941, -0.02527547, + +0.10970477, -0.06120312, +0.08328095, -0.05203310, -0.02077868, +0.05389163, -0.02986406, +0.00203638, -0.18422658, -0.03045083, -0.13725762, +0.02599326, +0.08629096, +0.01441229, -0.00424598, +0.04342253, -0.04431863, +0.33582115, +0.23984315, -0.07707783, -0.04237312, +0.07005377, +0.01483727, -0.01691638, -0.04529988, +0.00836213, -0.00804519, -0.22135178, -0.01893851, +0.08632945, -0.19408716, -0.15172205, +0.03964918, -0.00283118, -0.20080430, -0.01749788, +0.01231250, -0.19339556, +0.10829416, +0.12127742, +0.13797151, +0.04073838, +0.05975029, -0.07786983, +0.02336179, +0.02280564, -0.02357988, -0.00845209, -0.00414296, -0.01502029, +0.00401596, -0.22782605, -0.09884594, -0.00991953, +0.06684132, +0.07404485, +0.23490569, +0.17588705, +0.01749613, +0.01916934, -0.05060408, +0.32935695, +0.00733428, -0.04667135, -0.04896610, +0.09261775, -0.01734239, -0.05164929, +0.01679892, +0.06076284, +0.15945821, +0.21005790, -0.08556054, -0.03286674, -0.05530684, -0.11192438, -0.05561486, -0.04596493, +0.12597383, -0.12714494, +0.50906027, +0.03031931, +0.09384635, -0.10828228, -0.22527487, -0.13913821, -0.04534693, -0.06959031, -0.06559172, +0.03650593, +0.13809657, +0.00724551, -0.10265065, +0.02291736, -0.02046684, +0.05008435, +0.55510994, -0.02466432, -0.00174554, -0.06918697, +0.03230018, /* S5.TCP_OPT_7 */ - +0.00393423, -0.12921910, +0.00668443, +0.28583238, -0.05467280, +0.02306021, -0.03420006, -0.01172619, -0.01654713, +0.00734268, -0.17190230, -0.01740400, +0.22739851, +0.01110163, -0.00167632, +0.02369130, -0.04321142, -0.15276882, -0.27481397, -0.09455247, -0.00364946, +0.31186233, -0.02527573, -0.02787651, +0.20702659, +0.01061764, +0.00415794, +0.34243658, +0.25438876, +0.31647290, +0.57418809, -0.00141292, -0.01071268, -0.02453080, -0.05086226, -0.03857932, -0.04489141, -0.00354615, +0.00075192, +0.02300398, +0.02355025, -0.02121509, +0.02626808, -0.08503280, +0.01582084, -0.04562318, +0.01425129, -0.04972467, -0.00987546, +0.00506086, -0.08022142, -0.05398934, -0.02866009, +0.03697370, +0.02118256, +0.37207698, -0.05763990, +0.01517820, +0.00730155, +0.00425029, -0.56801685, -0.00029327, +0.34999943, -0.03646652, +0.20088889, +0.00213231, +0.16909703, +0.00792086, -0.00203378, +0.03096788, -0.24824344, -0.09791416, -0.03927640, -0.03433391, -0.08061794, -0.05735581, +0.38256103, -0.10561860, +0.17374430, +0.02170872, +0.01711448, -0.10136164, +0.51015259, -0.09520276, -0.04679152, -0.06577620, -0.16529081, +0.01028229, +0.03821241, -0.05707032, -0.07803313, -0.03049364, + +0.10774514, -0.15127900, +0.04121726, +0.25033441, -0.11757973, +0.05438031, -0.01779978, -0.01477732, -0.02379457, -0.03777900, -0.15393914, -0.09598429, +0.20278985, +0.00818680, -0.02696957, +0.02648284, -0.04291538, -0.15979187, -0.30938629, -0.08799124, +0.01789941, +0.25076833, -0.01951584, -0.08161976, +0.15308948, +0.01544777, +0.00566793, +0.28189624, +0.06645743, +0.27807383, +0.52840283, +0.05788635, -0.11355144, -0.02989302, -0.13432530, -0.05238744, -0.05781983, +0.13306898, +0.05573293, +0.10191629, +0.00576065, +0.02750904, +0.06004907, -0.06064908, +0.02136773, -0.05981412, +0.02916746, -0.07948467, +0.01024828, +0.04257760, -0.07198116, -0.06545167, -0.02046531, -0.02422488, +0.06432555, +0.04318509, +0.35323870, -0.07941452, +0.02136760, +0.02881675, -0.01281545, -0.69270050, +0.00307397, +0.32206012, -0.05659574, +0.26780914, -0.00181375, +0.06644586, +0.00454721, +0.00447217, +0.01746011, -0.26963477, -0.09091068, -0.01607499, -0.02657699, -0.04213835, -0.03865197, -0.04659305, +0.36769778, -0.08684296, +0.33473693, +0.00839534, +0.08560675, -0.09328120, +0.43900461, -0.10095611, -0.02769786, -0.05361336, -0.18083912, +0.08398366, +0.03060411, -0.03480579, -0.06140977, -0.00139745, -0.00700985, +0.00246195, -0.26230110, -0.03930691, -0.02632863, -0.15443622, +0.01282162, /* S5.TCP_OPT_8 */ - +0.01051078, -0.05825925, +0.00936458, +0.33150849, -0.03495505, +0.02486681, -0.02573684, -0.00039285, -0.00994229, +0.00872523, -0.11636286, -0.01557259, +0.24220989, +0.01381406, +0.00621513, +0.02595766, -0.04039872, -0.14424425, +0.09133410, -0.06817196, +0.00146098, +0.12530166, -0.01528124, -0.02061339, +0.27429572, +0.01291704, +0.00618783, +0.37324764, +0.28691217, +0.33142595, +0.72632306, +0.00534332, -0.00397335, -0.02170168, -0.04464590, -0.01694222, -0.04224254, +0.00193769, +0.00757274, +0.03171362, +0.02457506, -0.00778679, +0.02868642, -0.06450619, +0.01752929, -0.03185119, +0.01787213, -0.04747872, -0.00674776, +0.00779340, -0.07633508, -0.05120934, -0.01452961, +0.03918172, +0.02317689, -0.06552874, +0.03504246, +0.01859310, +0.01219091, +0.00899113, -0.07318097, +0.00510004, +0.37961180, -0.01444318, +0.04283573, +0.00738433, +0.34095640, +0.01396514, +0.00286827, +0.03367933, -0.13085746, -0.08149403, -0.03558276, -0.03021259, -0.07719573, -0.05565577, -0.03932304, -0.09675275, +0.20349749, +0.02430745, +0.02113898, -0.09519246, +0.34813474, -0.08891803, -0.03795075, -0.04792387, -0.13390069, +0.01264417, +0.03969609, -0.03539818, -0.06822745, -0.01873905, + +0.14170208, -0.01569019, +0.03628598, +0.30822156, -0.06827920, +0.05204580, -0.01439927, +0.01626065, -0.01669824, -0.04696534, -0.10031542, -0.09998965, +0.22006802, +0.01703122, -0.01080631, +0.02780565, -0.04568226, -0.15522711, +0.09646346, -0.06532748, +0.02152675, +0.09176393, +0.00109575, -0.06662051, +0.22569255, +0.01688380, +0.00290408, +0.31538533, +0.14611886, +0.27428498, +0.69096066, +0.06121805, -0.09153147, -0.07440429, -0.14151229, -0.01850178, -0.06043342, +0.11490740, +0.04577900, +0.11076813, +0.00655361, +0.04553909, +0.05958870, -0.04856252, +0.02264606, -0.04235792, +0.02882388, -0.08149458, +0.01016678, +0.04160565, -0.07213013, -0.07002035, -0.03046343, -0.00739747, +0.06481673, +0.04020032, -0.13511444, +0.02294147, +0.02880515, +0.03438911, -0.01238450, -0.11703240, +0.00892479, +0.36110272, -0.02381329, +0.07924279, -0.00025196, +0.28400494, +0.02429863, +0.00617774, +0.00764549, -0.08319727, -0.07401024, -0.01516218, -0.02923048, -0.04605867, -0.02454906, -0.05279249, -0.09124482, -0.08049851, +0.35848822, +0.01429634, +0.08315788, -0.09048761, +0.26543888, -0.09513256, -0.02291932, -0.04220202, -0.15259859, +0.07522477, +0.02833431, -0.01481028, -0.06265542, +0.00551919, -0.00444523, -0.00194411, -0.10732128, -0.03630866, -0.04838763, -0.07237813, +0.01333471, /* S5.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_0 */ - -0.00856038, +0.19044408, +0.06877189, -0.00159563, -0.16450326, -0.66623558, +0.05092886, -0.02383014, +0.07253835, -0.09378107, +0.02051715, +0.23184686, +0.03071597, -0.14714442, +0.00429598, +0.00154765, -0.03060125, +0.02282359, -0.02285588, +0.01778472, +0.01911988, -0.38579152, -0.21551191, -0.01927181, +0.09764983, +0.06640534, +0.16179333, +0.16126405, -0.31152456, +0.17417310, +0.19504125, +0.04144737, +0.01309987, +0.07620918, +0.21542627, +0.07231138, +0.00044972, -0.00547399, +0.06535710, +0.00973943, -0.12930609, -0.03126767, +0.02423787, +0.00361419, +0.11819158, -0.01094684, +0.08815810, +0.10909987, -0.03929493, +0.04443846, -0.00724605, +0.07307615, -0.00073677, +0.08796894, +0.02396708, +0.06145619, +0.01455024, +0.08279076, -0.01378138, -0.05475362, -0.02922746, +0.01917085, -0.00939168, -0.06201985, -0.03908222, -0.01490759, -0.00844649, +0.00313001, -0.25806603, -0.05002692, -0.63168979, -0.37016947, -0.01344236, -0.06020422, -0.00097818, -0.03545575, -0.02832567, -0.00751400, +0.10442680, -0.07442337, -0.04084036, -0.00667492, -0.03247026, +0.17941753, -0.01937980, -0.01570550, +0.14676993, +0.02583418, +0.01724938, +0.04087093, +0.25053280, -0.01663846, + -0.00475228, +0.04405983, +0.08959296, +0.00144456, -0.07507877, -0.55880107, +0.06330281, -0.04475518, +0.07422785, -0.11549299, +0.01147405, +0.21578417, +0.01140918, -0.11251769, -0.01249550, -0.02691900, -0.06315469, +0.00197460, -0.00762383, +0.00214692, +0.00643928, -0.31917176, -0.17804561, -0.05217841, +0.11235528, +0.03147928, +0.11857121, +0.12924071, -0.12936826, +0.18082440, +0.14648239, +0.02513722, -0.00756996, +0.08380649, +0.21469782, +0.03096655, -0.00106840, -0.02095566, +0.15562704, -0.01789027, -0.07592724, -0.04032547, -0.00740534, +0.06703740, +0.08517777, -0.03294775, +0.06328147, +0.06321573, -0.05557080, +0.04173841, -0.00531343, +0.09175870, -0.05850093, -0.01171395, +0.05312158, +0.01503850, +0.05614363, +0.01601221, +0.08132015, -0.03214289, -0.18800928, -0.03049061, +0.00315699, -0.00682076, -0.07940166, -0.05057018, -0.03248810, -0.02816184, -0.04061073, -0.26045131, +0.02602402, -0.13242645, -0.33750633, -0.01682111, -0.07799060, -0.06718174, -0.00308370, -0.04656040, -0.03710757, -0.01584752, +0.01412018, -0.05658365, -0.05201164, -0.03044663, -0.04290582, +0.23178710, -0.03476206, -0.03209121, +0.16721665, +0.08742444, +0.01948243, +0.03580302, +0.28224175, +0.04054642, -0.02786461, -0.06984711, -0.10795318, +0.01641748, +0.00089213, +0.00480172, +0.04950640, /* S5.TCP_OPTLEN_1 */ - -0.00160573, -0.19164261, +0.05811357, +0.01183579, +0.24557643, -0.18132497, +0.05908931, -0.01480569, +0.10758726, -0.01338955, +0.04239374, +0.12113421, +0.04021232, -0.01490368, -0.03736860, -0.07692810, +0.01901841, +0.04265408, -0.00757759, +0.00231759, +0.12852828, -0.00537134, +0.31215606, +0.01512004, +0.01173306, -0.06321008, -0.11468295, +0.09900750, +0.25779528, +0.10341552, +0.01858199, +0.06639917, +0.01345721, +0.07800732, +0.17075403, -0.11783548, +0.00211872, -0.06746946, +0.05604625, -0.04906914, -0.03075295, +0.04567811, -0.09972639, +0.03037735, -0.05434032, +0.02987319, +0.09495958, +0.13622274, +0.04987239, +0.08920370, +0.14338605, +0.12482072, +0.06777630, -0.09189444, +0.08850004, +0.03577749, +0.03455632, +0.10040114, +0.11171131, -0.03189254, +0.00523098, +0.18868989, +0.00479308, -0.00921293, +0.00195354, -0.09417874, +0.00341863, -0.11490087, +0.35388419, +0.13139383, -0.28507395, +0.02067237, +0.06980157, +0.03226208, +0.03158402, -0.02502523, +0.00282377, +0.06938646, +0.08313109, -0.00514588, -0.00414011, +0.04955064, +0.00199428, +0.03182807, +0.03592833, +0.03452199, +0.00943705, +0.02457819, +0.06784140, -0.00621499, -0.01042850, -0.04989965, + -0.16089228, -0.30992761, +0.18495307, +0.02398038, +0.32656675, -0.26059562, +0.05045805, -0.03824870, +0.11545063, -0.02860218, +0.13057277, +0.27853076, +0.07324708, +0.00773410, -0.01715080, -0.09553260, +0.03879039, +0.08458522, -0.04161843, +0.00461044, +0.18416264, -0.07543755, +0.42301391, -0.00255430, +0.03486463, -0.06283298, -0.12775001, +0.15189869, +0.36110600, +0.11417168, +0.07262394, +0.09593345, -0.02474994, +0.10417023, +0.14535432, -0.14163236, -0.01815199, -0.13009401, -0.03725483, -0.29463258, -0.03047469, +0.07307456, -0.10964888, -0.02021108, -0.05268408, +0.04772652, +0.08204675, +0.19735062, +0.09818386, +0.09217842, +0.23782961, +0.22023119, +0.09948444, +0.10465989, -0.08484877, +0.11040865, +0.06637164, +0.04464710, +0.08509738, +0.17627912, -0.23494083, +0.00305267, +0.21230813, +0.00534385, +0.04458488, -0.01129511, -0.08293662, +0.00907061, -0.12383725, +0.46061975, -0.02043160, -0.39427167, +0.01430752, +0.20405819, +0.02504115, -0.13244247, +0.14207282, -0.03770634, +0.00532146, +0.11453439, +0.08699740, -0.01116810, -0.08545444, +0.07692078, -0.02252689, +0.14926586, +0.08066983, +0.08585456, -0.02660523, -0.00727832, +0.06061996, -0.02306860, -0.19769776, +0.01605770, -0.10647950, -0.07888883, -0.06326994, +0.06080976, -0.07757421, +0.01957550, -0.05054561, /* S5.TCP_OPTLEN_2 */ - +0.14970669, +1.57680061, +0.20420427, -0.01009916, -0.04426126, -0.35117383, +0.31204823, -0.08322663, +0.27094017, -0.03211195, +0.01958194, -0.03132481, +0.02780226, -0.03376117, -0.06425538, -0.12284200, -0.04923446, -0.04602277, -0.02717278, -0.19743061, +0.01508460, +0.28478657, -0.07288642, -0.03394653, -0.24532755, -0.10513690, -0.21547091, +0.09975980, +0.49968649, +0.12143932, -0.09813206, +0.33599452, +0.16707821, +0.19970106, +0.39395343, -0.17989846, -0.13977282, -0.02690113, +0.27946819, +0.42617207, -0.07739760, +0.02353123, -0.15073966, +0.00424560, -0.10060657, -0.05406980, +0.17080908, +0.36258000, +0.21695715, +0.18232444, +0.39434159, +0.34894373, +0.04231273, -0.14857095, +0.32405461, +0.07277994, +0.02929804, +0.19474342, +0.24038343, -0.19609377, -0.03175935, +0.13861942, -0.13546188, -0.09603393, -0.00827028, -0.14362686, -0.08923344, -0.16796894, -0.19006765, +0.76067734, -0.37487411, +0.03807565, +0.36583348, +0.17795935, +0.44032859, -0.23418007, +0.00054288, +0.05298402, +0.04991789, -0.02674734, -0.09534857, +0.00595337, -0.01042080, -0.08303241, -0.00009882, +0.00117076, +0.27624938, -0.08712516, +0.18772177, +0.09700823, +0.06966282, -0.24116768, + +0.08970432, +1.46131724, +0.19812201, -0.02029370, -0.06538997, -0.35509418, +0.32716822, -0.11401890, +0.24488181, +0.01996704, +0.08578139, -0.05674287, +0.03800549, -0.00180515, -0.02201840, -0.09890989, +0.03740231, -0.06153307, -0.02074378, -0.21175843, +0.00983603, +0.28784829, -0.10714648, +0.02015149, -0.27169331, -0.06727158, -0.20068036, +0.16660001, +0.29993222, +0.13910158, -0.09791809, +0.36194219, +0.01365419, +0.14598335, +0.26732251, -0.15338764, -0.18962785, +0.08127604, +0.02371675, +0.24222073, -0.09363021, +0.01724162, -0.12065199, -0.05455892, -0.07569675, -0.04523163, +0.04206357, +0.26181551, +0.16301228, +0.10946235, +0.31491990, +0.28427906, +0.30162948, +0.05245517, -0.12138771, +0.25958656, +0.14259348, +0.04705196, +0.16176502, +0.23555101, -0.40310214, -0.01478843, +0.11267766, -0.14752863, -0.02132673, +0.03763335, -0.07864497, -0.06502134, -0.13485838, -0.26358858, +0.34626575, -0.31592327, +0.04437102, +0.14078238, +0.14529040, +0.38498665, +0.33562156, -0.23312630, +0.05427650, +0.06998346, -0.03654648, -0.03887552, -0.22287350, +0.00777372, -0.05492720, -0.07480554, +0.01007322, +0.04753599, +0.29267978, -0.22545674, +0.11017343, +0.07313132, +0.13524118, +0.13160314, -0.29488306, -0.09250060, -0.02763584, +0.02179745, -0.26275817, +0.00412418, -0.07951412, /* S5.TCP_OPTLEN_3 */ - -0.00023263, -0.32021715, +0.08355278, -0.06332333, -0.03451770, -0.33810281, +0.07322642, +0.05504035, +0.11182772, -0.01465307, +0.03124717, +0.30454444, +0.03301995, -0.01306064, -0.02965574, -0.06316997, +0.10018643, +0.12939070, -0.01025559, +0.16353183, +0.25964310, +0.36196013, -0.00997143, +0.07685282, +0.10834225, -0.05571898, -0.08964867, +0.04301492, +0.01439918, +0.05881692, -0.37521979, +0.15720514, -0.01833009, +0.04953542, +0.11486670, -0.06924445, +0.10754952, +0.08984760, +0.00027465, -0.09406202, -0.02827816, +0.04583578, -0.09687073, +0.03536063, -0.04066954, +0.18010998, +0.08455623, +0.12400783, -0.01865642, +0.05667486, +0.12112538, +0.22320457, +0.06436959, -0.08129127, +0.04710193, -0.02064021, +0.02335691, -0.17647609, -0.21130012, +0.10848434, +0.00027641, -0.15662995, +0.12310870, +0.05991839, -0.01404440, -0.09434359, +0.10224662, -0.04707037, +0.00362926, +0.02666160, -0.37075046, +0.08937032, -0.09329084, -0.04573384, +0.04369894, +0.11301971, -0.01003247, +0.06317253, +0.05969186, -0.00327990, +0.13441969, +0.04466283, -0.02243661, -0.04572693, +0.03785507, +0.00263981, -0.03718472, +0.15645911, -0.00644151, -0.04931999, +0.00634410, +0.13492714, + +0.03227744, -0.23134595, +0.26190376, -0.07318372, -0.09300244, -0.40106141, +0.10556506, +0.01967762, +0.11107472, -0.04048426, +0.09402840, +0.49542790, +0.05487013, +0.01324530, -0.01000456, -0.06196700, +0.15433445, +0.23555254, -0.04079119, +0.25969262, +0.38144515, +0.59934467, -0.04557267, -0.00340838, +0.11436651, -0.04672317, -0.07946009, +0.18484213, +0.35818154, +0.09599364, -0.43586412, +0.25779123, -0.21934438, +0.04065264, +0.07208755, -0.05738577, +0.08501379, +0.05661667, -0.15974757, -0.25278655, -0.03561200, +0.07455514, -0.09686235, +0.09742715, -0.03023725, +0.39656366, +0.18834299, +0.10855888, -0.04879559, +0.05391202, +0.14601954, +0.36817716, -0.05260245, +0.08889239, -0.06360928, +0.07287504, +0.02091744, +0.04479279, -0.17268321, -0.25614217, -0.06367653, +0.07168009, -0.17356865, +0.20353369, +0.09324717, -0.03830335, -0.08854960, +0.07474919, -0.02486866, -0.03371100, -0.33566768, -0.56507990, +0.09979640, -0.12490526, -0.06207440, -0.16589282, +0.10073700, +0.06210094, -0.01465477, +0.08787849, +0.02910912, +0.00482960, +0.18041325, +0.06376296, -0.11018488, -0.00890498, +0.08077990, -0.00692542, -0.04289143, +0.30722500, -0.00123942, -0.07799566, +0.00482211, +0.04159946, +0.15762172, +0.01822450, -0.27654965, +0.06224854, +0.06758700, +0.09283805, -0.04635298, /* S5.TCP_OPTLEN_4 */ - -0.00135206, -0.93726761, +0.06098461, -0.00546457, -0.02894268, -0.43596772, +0.09293033, +0.12438060, +0.18681298, -0.01974340, +0.00165207, +0.56475931, +0.02704326, -0.01961953, -0.03636257, -0.07319895, +0.21112986, +0.04364388, -0.02609286, +0.05140477, -0.30078279, -0.01555922, -0.02827956, +0.18601494, -0.01475859, -0.06578066, -0.10991450, +0.13721514, +0.08043248, +0.09420186, +0.00933277, +0.29720105, -0.04953943, +0.03305854, +0.17630024, -0.07941612, +0.25234188, +0.77287698, +0.06198243, -0.19994181, -0.03824420, +0.02863518, -0.10026452, +0.01432178, -0.05652369, +0.36336270, +0.09203135, +0.11317034, -0.05492869, +0.04669877, +0.15377596, +0.29103916, +0.02257296, -0.09514878, -0.05993660, +0.00103138, +0.02753322, -0.22189639, -0.25741256, +0.25515711, -0.02652474, -0.18547749, -0.03514950, +0.13119532, -0.02858536, -0.12067522, +0.05009036, -0.06089877, +0.00067240, -0.26634369, -0.34913534, -0.01451011, -0.17311710, -0.05917040, -0.07139708, +0.31050959, -0.01051697, +0.03561307, +0.06083815, -0.01039601, +0.35332019, +0.01989892, -0.02401418, -0.04552389, +0.01312260, -0.12361909, +0.05006246, +0.28083630, -0.07211588, +0.00026629, -0.28378107, +0.32307908, + -0.05340434, -0.96756580, +0.22486319, +0.01146838, +0.01022471, -0.45082789, +0.10642287, +0.05300023, +0.20635356, -0.06220710, +0.03045658, +0.51371077, +0.04802472, +0.01073439, -0.01131839, -0.05083084, +0.17510528, +0.08192054, -0.03197869, +0.07843656, -0.32578916, -0.03249385, -0.03381550, +0.16662436, -0.02122270, -0.03497636, -0.07728964, +0.62230358, +0.90419040, +0.11217036, -0.00039745, +0.39748703, -0.12548228, +0.05745090, +0.20893086, -0.05601692, +0.22554475, +0.72637293, +0.35944369, -0.28612310, +0.02513403, +0.03780964, -0.06979721, +0.09509663, -0.03863533, +0.30581017, +0.19247467, +0.04915769, -0.07889196, +0.02286927, +0.21127530, +0.46603759, -0.16883494, +0.01540585, -0.06523364, -0.08396315, +0.10525621, +0.06080518, -0.21488780, -0.26155491, +0.07045491, +0.03875945, -0.18001102, -0.10807359, +0.11188696, -0.07527992, -0.12423722, -0.00133637, -0.04181481, -0.01888742, -0.49759397, -0.37917824, -0.03112998, -0.10366926, -0.06937228, -0.33040072, +0.15173226, +0.25191319, -0.00642236, +0.03609027, +0.01861182, -0.02171691, +0.34204082, +0.02494807, -0.03939587, +0.02628395, +0.03129013, -0.20800037, +0.05821752, +0.36505445, -0.06547867, -0.00448928, -0.48812165, -0.01012545, +0.29548637, +0.12106251, -0.24572961, +0.04701497, +0.31382692, +0.16941621, -0.04871257, /* S5.TCP_OPTLEN_5 */ - -0.04046180, -0.19497633, -0.07833468, -0.16769872, -0.07223764, -0.03409458, -0.08324980, -0.04654144, -0.12064496, -0.00052122, +0.26214575, -0.07546795, +0.04210019, -0.00064096, -0.01733728, -0.01206446, -0.09879553, +0.01789141, +0.16453746, +0.32257919, -0.16750949, +0.06168620, -0.07515222, -0.09774301, +0.07758168, -0.05696743, -0.04395851, +0.68884997, +0.64841407, +0.05773181, -0.52087847, -0.09321927, -0.07025850, -0.02684529, -0.09009460, -0.06405743, -0.05062627, -0.12021770, -0.12326871, -0.22718536, +0.01866354, +0.20762356, -0.12235358, +0.24883672, -0.00929664, -0.16267569, -0.04365852, -0.08077281, -0.14735791, -0.05845343, -0.18737649, -0.13871485, +0.16512472, -0.05510706, -0.00275832, +0.33278240, +0.24287683, -0.01239604, -0.05398557, -0.08642470, +0.17673739, -0.10021128, -0.04425307, -0.07829991, +0.08255692, -0.05857670, -0.17009251, -0.02641481, -0.03020185, -0.10488042, -0.06817107, +0.15030939, -0.18221820, -0.17223978, -0.25680320, -0.13765468, +0.05924729, +0.31284348, +0.46868969, +0.01216429, -0.27493407, +0.32964445, +0.18198873, +0.06636417, +0.24806136, +0.24632993, -0.18383996, -0.05129312, +0.00966362, -0.10120374, +0.14575604, -0.09452469, + +0.05891980, -0.14897910, -0.04323751, -0.19566689, -0.03894297, -0.00268735, -0.04738933, -0.01541728, -0.09118735, -0.00399641, +0.22181956, +0.06731269, +0.01381845, +0.00363555, -0.01756273, -0.00394006, -0.08514826, +0.00640597, +0.12087962, +0.33092819, -0.17018643, +0.03174035, -0.05379447, -0.07428764, +0.06038035, -0.09632201, -0.03390260, +0.44511789, +0.46203264, +0.05448081, -0.60422192, -0.03998261, -0.00504569, +0.16920737, +0.25638438, -0.06559046, -0.00285527, -0.06196165, -0.04941516, -0.22628077, +0.10020332, +0.19488425, -0.14422673, +0.20341627, -0.00544068, -0.07028575, -0.06008735, +0.08491379, -0.14557521, -0.05020702, -0.19190979, -0.01692794, -0.15791722, +0.15731637, -0.05256569, +0.08070804, +0.29163193, +0.20613181, +0.00807413, -0.05074359, -0.16286548, +0.10981828, -0.09841750, -0.11947987, -0.09041824, +0.01906191, -0.06763427, -0.15700066, -0.03461140, +0.05547879, -0.12284787, +0.08011242, +0.10184237, -0.11881894, -0.18257676, -0.33521320, -0.07124114, -0.15070863, -0.02637794, +0.23751114, +0.27577150, +0.02465891, -0.19910121, +0.25431724, +0.15050788, +0.09799872, +0.18638472, +0.20174328, -0.14127505, +0.01950561, +0.12372398, -0.07356847, +0.11174658, +0.00923077, -0.10612713, -0.14468852, +0.47928626, +0.06301658, -0.15706428, -0.08700012, +0.02137955, /* S5.TCP_OPTLEN_6 */ - +0.01339101, -0.03354750, +0.01702273, +0.04330745, -0.01820366, +0.02985218, -0.01903253, +0.00395911, -0.15942891, +0.00930377, -0.11394743, +0.01293294, +0.09919310, +0.01534979, +0.01021148, +0.03068268, -0.01999262, +0.39779184, +0.19928244, -0.06086823, -0.02592848, +0.11573713, -0.00749452, -0.00821123, +0.04470972, +0.01237640, +0.01205284, +0.03485722, +0.08196916, +0.12666786, -0.00114614, -0.05953917, +0.00047068, +0.00596325, -0.09151471, -0.01072382, -0.00796328, -0.07687526, +0.01150852, +0.03564293, +0.03289572, -0.00548523, +0.03087234, -0.06351391, +0.02126426, -0.02086052, +0.01865513, -0.05376211, -0.00383941, +0.00944611, -0.01455086, -0.16811837, -0.00900809, +0.04236643, +0.03571505, +0.11779788, +0.14058053, +0.01773733, +0.01008187, +0.01206471, +0.20168542, +0.00854383, +0.08008580, -0.00728270, +0.07275653, +0.00947465, +0.05377875, +0.01618761, +0.00892376, +0.05563261, +0.08599649, -0.07527651, -0.03084577, -0.02282094, -0.08457447, -0.03093938, +0.06055396, -0.10387582, +0.33732259, +0.02641558, +0.02610857, -0.07631248, +0.01030530, -0.08657742, -0.03605763, -0.04689399, -0.06614625, +0.02025151, +0.04599771, -0.01066127, -0.04361817, -0.01199918, + +0.10294405, -0.02521932, +0.07079925, +0.01852922, -0.02371309, +0.05234134, -0.01833896, +0.01222484, -0.18186580, -0.04599043, -0.10092959, +0.00914860, +0.10151846, +0.01728283, +0.00063762, +0.04213634, -0.02599520, +0.37188995, +0.18082565, -0.06287760, -0.04149588, +0.09916828, +0.01486460, -0.03018699, -0.03532830, +0.01172780, +0.00426004, -0.45786984, -0.34098720, +0.11242268, +0.01561797, -0.15807029, +0.01971468, -0.04805670, -0.24175655, -0.00879756, +0.00500587, -0.19167981, +0.08701244, +0.11207328, +0.10235425, +0.04238170, +0.05619312, -0.05194243, +0.02675233, +0.02050076, +0.00221886, -0.03696589, +0.00863214, +0.01190935, +0.00328361, -0.23947868, -0.07707585, -0.00122176, +0.06641279, +0.06672695, +0.11212891, +0.12125948, +0.02090004, +0.01841711, -0.02318308, +0.19884329, +0.01261595, +0.04678573, -0.02508294, +0.07908675, -0.00135784, +0.02054931, +0.02244227, +0.04744503, +0.12743242, +0.18684700, -0.07611090, -0.01596842, -0.02728816, -0.06846599, -0.04582906, -0.02949542, +0.03644785, -0.09400986, +0.47484419, +0.03010358, +0.08401196, -0.07823182, +0.03645996, -0.10079132, -0.02753680, -0.04701513, -0.06377642, +0.04838489, +0.10752239, +0.00882904, -0.06412758, +0.02429065, -0.00483369, +0.04401984, +0.37999236, -0.01669964, +0.00653590, -0.05183418, +0.03166057, /* S5.TCP_OPTLEN_7 */ - +0.01663896, -0.02217788, +0.02022406, +0.06820448, -0.01412654, +0.03271193, -0.00937878, +0.00788783, +0.01177519, +0.02085054, -0.09831222, +0.01570143, +0.10701622, +0.01712257, +0.01240129, +0.03397832, -0.01298848, -0.10979678, +0.18356144, -0.04943339, +0.01024171, +0.13083563, -0.00360699, +0.00111529, +0.09871803, +0.01986933, +0.02092631, +0.48647218, +0.44253303, +0.14241413, +0.06381461, +0.01510521, +0.00373436, +0.00988513, +0.00347497, -0.00673305, -0.00444714, +0.02134915, +0.01508810, +0.04036690, +0.03428013, -0.00014993, +0.03399163, -0.05314192, +0.02372959, -0.01603339, +0.02735732, -0.00456010, +0.00456679, +0.01784991, -0.01047362, -0.00252480, -0.00468575, +0.04431377, +0.03847233, +0.09366161, +0.12922084, +0.02533923, +0.01794865, +0.01999406, +0.15425793, +0.01176615, +0.10407641, -0.00068348, +0.06477606, +0.01482419, +0.07941183, +0.01895196, +0.01155364, +0.05933128, +0.07911347, -0.05295433, -0.02010282, -0.01239458, -0.06692948, -0.02300962, +0.03291533, -0.08629873, +0.30691479, +0.02807497, +0.02888895, -0.06427009, +0.08618298, -0.07283186, -0.02794122, -0.03823877, -0.05811473, +0.02445263, +0.05036801, -0.00659629, -0.03341806, -0.00660272, + +0.09306888, -0.01661527, +0.06501004, +0.04143972, -0.02693000, +0.05115841, -0.00120891, +0.01483409, +0.01527900, +0.01992301, -0.08603285, +0.00014916, +0.10940032, +0.01950611, +0.00187588, +0.04201211, -0.02163389, -0.11368000, +0.18652444, -0.04076027, +0.02803468, +0.11780036, +0.01476792, +0.01076831, +0.09853991, +0.02310193, +0.01600020, +0.52950553, +0.61158815, +0.12264743, +0.08567159, +0.06224417, +0.00448237, +0.05191545, +0.01929170, -0.00762167, +0.00368846, +0.08681314, +0.07044683, +0.10488856, +0.07918957, +0.04220945, +0.05847665, -0.04581053, +0.02820367, +0.00339115, +0.01426556, +0.03301196, +0.01484533, +0.02113995, +0.00280990, +0.02138394, -0.01971922, +0.00158974, +0.06585449, +0.06314046, +0.10576678, +0.12194345, +0.03226407, +0.03654881, -0.01434281, +0.13522510, +0.01500352, +0.08310244, -0.01768851, +0.06913149, +0.00381142, +0.04848944, +0.02286406, +0.04148775, +0.11187749, +0.17368382, -0.04357228, -0.01018372, -0.01714964, -0.05477485, -0.00525929, -0.02119258, +0.00147660, -0.07512908, +0.41013137, +0.02639731, +0.07904794, -0.06608369, +0.06640409, -0.08597027, -0.01970339, -0.03820874, -0.06064044, +0.05101854, +0.09654553, +0.00996216, -0.05024706, +0.02669728, -0.00315706, +0.03893489, +0.30940606, -0.01203662, -0.00603592, -0.04367895, +0.03123833, /* S5.TCP_OPTLEN_8 */ - +0.01208549, -0.03180413, +0.01014114, +0.35816348, -0.02255202, +0.02539001, -0.02395677, +0.00198298, -0.00600870, +0.00903791, -0.10537195, -0.01500400, +0.24592828, +0.01434369, +0.00746880, +0.02668708, -0.03958857, -0.14146961, +0.15335559, -0.06306429, +0.00252623, -0.02587595, -0.01253973, -0.01922099, +0.32101000, +0.01342933, +0.00675003, +0.38228883, +0.29723379, +0.33705486, +0.82693447, +0.00669341, -0.00258141, -0.02086530, -0.04061028, -0.01374162, -0.04130143, +0.00300632, +0.00898351, +0.03363085, +0.02486912, -0.00505810, +0.02924872, -0.06016242, +0.01795305, -0.02964840, +0.01977867, -0.04670050, -0.00553544, +0.00859652, -0.07435157, -0.05021115, -0.01215811, +0.03969926, +0.02382532, -0.12368886, +0.04925243, +0.01936899, +0.01318508, +0.01026559, +0.10062169, +0.00619006, +0.39225198, -0.00719754, +0.02765951, +0.00950604, +0.36911332, +0.01505094, +0.00428477, +0.03485885, -0.10710561, -0.07088891, -0.03342035, -0.02823847, -0.07571630, -0.05523330, -0.03350664, -0.09483881, +0.21097114, +0.02490540, +0.02201092, -0.09333331, +0.05827805, -0.08714846, -0.03590653, -0.04473595, -0.11073198, +0.01328999, +0.04026000, -0.01966386, -0.06234103, -0.01556310, + +0.15912085, +0.02317377, +0.03521503, +0.34891352, -0.03047962, +0.05152020, -0.01366216, +0.02073189, -0.00984114, -0.04922156, -0.09044473, -0.10119028, +0.22406335, +0.01827998, -0.00853030, +0.02870350, -0.04657137, -0.15254595, +0.16274585, -0.06047944, +0.02225762, -0.04566014, +0.00876763, -0.06403535, +0.27714984, +0.01709215, +0.00253476, +0.33757838, +0.21226918, +0.27164127, +0.78859322, +0.06123148, -0.09040663, -0.08171040, -0.13827173, -0.01374920, -0.06074898, +0.10769099, +0.04263321, +0.11178083, +0.00494375, +0.04869675, +0.05926953, -0.04370262, +0.02287871, -0.04657154, +0.02901230, -0.08185016, +0.01033936, +0.04122730, -0.07219177, -0.07149054, -0.03340451, -0.00475343, +0.06487199, +0.03962186, -0.21322769, +0.03789355, +0.02985393, +0.03539821, -0.01228065, +0.07523010, +0.01006012, +0.37594855, -0.01165834, +0.05777040, +0.00121635, +0.32033726, +0.02698168, +0.00664509, +0.00615744, -0.04398740, -0.06036278, -0.01476399, -0.02893272, -0.04617028, -0.01239367, -0.05447195, -0.07745679, -0.07873308, +0.36281071, +0.01548850, +0.08231397, -0.08913735, -0.12937437, -0.09344794, -0.02192374, -0.04017492, -0.12907744, +0.07261387, +0.02770785, +0.00183584, -0.06004001, +0.01537946, -0.00091783, -0.00455818, -0.07658776, -0.03536629, -0.05650699, -0.06196760, +0.01334747, /* S5.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S5.TCP_MSS */ - -1.10133347, -2.89178049, -0.19959360, -0.01231721, -0.00592079, -0.15082636, -0.16514106, -0.01315960, -0.19100421, -0.03137979, -0.20920162, +0.13534933, +0.00936238, -0.06601112, -0.03628843, -0.18092899, -0.03087258, +0.00171134, -0.04420626, -0.05851805, -0.02896527, -0.00188211, -0.01033737, -0.17388565, +0.00915125, +0.03334286, +0.06806098, +0.86681487, -1.06608491, +0.09070672, -0.02374423, -0.02980037, -0.12625674, -0.28691851, -0.04875235, -0.20108482, +0.00969190, -0.03555354, -0.49116064, +1.24877508, -0.04950609, +1.16790566, +0.63901545, -0.85891425, +0.07854334, -1.12377535, -1.15427364, -0.58128367, +1.68323773, -0.44204272, -0.02026681, -0.22643074, -0.04486557, +0.05298346, +0.01686380, +0.02856943, -0.01342089, +0.06179433, -0.03642451, -0.09364889, +0.01200389, -0.04367836, +0.00146822, -0.04625308, -0.00988460, -0.20764322, -0.01021584, -0.00785296, -0.02590674, -0.67078707, -0.94839027, -0.00213963, -1.61829649, -0.39515890, -0.40043539, -0.04811263, -0.00566003, -0.06354169, +0.59599907, -0.02141140, +1.35594804, +0.00528098, -0.01473296, -0.62360677, -0.04487127, +0.47173747, -0.03807241, +0.06807002, -0.25824342, -0.02607236, -0.05126460, -0.03684141, + -1.58275516, -3.43585364, -0.28874037, -0.01460270, +0.00917915, -0.18967306, -0.14319027, +0.01229091, -0.16996938, -0.02478245, -0.30712679, +0.36888669, +0.00869925, -0.07956741, -0.01482037, -0.20776187, -0.01122244, -0.01735304, -0.05608129, -0.07581093, -0.02398253, -0.00780035, -0.03498933, -0.18029895, +0.03520899, +0.02492752, +0.06313619, +1.31870452, -1.39240973, +0.11262175, -0.06261016, +0.01349951, -0.02349378, -0.27021015, +0.05819035, -0.30994024, +0.01807331, -0.00100446, -0.09041568, +1.11857619, -0.09750909, +1.31088980, +0.73167356, -1.24157546, +0.10990406, -1.46694561, -1.19740735, -0.57931019, +1.71033058, -0.31132091, +0.01485878, +0.02031953, -0.29002175, -0.05528404, +0.07617715, +0.04411371, +0.05042585, -0.02103234, +0.07294618, -0.06027994, -0.32775123, +0.10789963, -0.05581496, +0.00806046, -0.01728755, -0.00435361, -0.25189967, -0.01868086, -0.04942137, -0.03615376, -1.02958875, -1.51230623, -0.01465487, -2.01855636, -0.41574470, -0.42359286, -0.13125804, -0.04162961, -0.00653020, -0.09363346, +0.34963948, +0.00940595, +1.46941536, -0.02258983, -0.05008442, -1.04906959, -0.07137615, +0.77856848, +0.01025919, +0.20991221, -0.21456854, -0.04368182, -0.08823927, -0.39969742, -0.04992874, -0.08636864, +0.05582311, +0.02410360, -0.02709230, -0.01475404, -0.02755599, /* S5.TCP_SACKOK */ - +0.02826229, +0.05212571, +0.11151074, +0.02075380, +0.03052722, +0.12877854, +0.07214060, +0.01884534, +0.09353835, -0.00864309, -0.21053448, +0.15716608, +0.05594344, -0.00925248, -0.02481929, -0.04528775, +0.04157624, +0.05786176, +0.09682721, +0.13587389, +0.16336130, +0.01997047, +0.03484285, +0.03364867, +0.01975115, -0.03168645, -0.07817336, +0.17201238, -0.21564621, +0.10893445, +0.03140204, +0.07660485, +0.03737100, +0.08078991, +0.15198442, -0.09022973, +0.03350311, +0.04817135, +0.06881459, +0.07521622, -0.02177363, -0.08352077, -0.02406131, -0.15661331, -0.03967626, +0.06645914, +0.10618435, +0.10854432, +0.03637287, +0.08255306, +0.18934975, +0.10066861, +0.08458895, -0.08004971, +0.05704855, +0.06010898, +0.06291470, +0.13218975, +0.10638016, +0.02354163, +0.06269330, -0.21829993, +0.01619747, +0.01538861, +0.01999783, -0.06949936, +0.01261331, -0.04578639, +0.02422442, +0.04744468, -0.25122441, +0.05761571, +0.03387095, +0.01888656, +0.05905150, +0.01897582, +0.00864037, -0.20859255, +0.10434544, +0.00039636, +0.01787119, -0.19471306, +0.03342187, +0.27040916, -0.13892055, +0.10083092, +0.05399479, +0.06413906, +0.05045763, +0.02202611, +0.04448123, +0.02422756, + -0.01921572, +0.22511382, +0.28057923, +0.01941682, +0.04953754, +0.16471801, +0.10315352, -0.00763263, +0.09517639, -0.03845117, -0.28894479, +0.23045598, +0.09784236, +0.01388776, -0.00739226, -0.02771111, +0.03805704, +0.09838123, +0.12342619, +0.18374544, +0.23786772, -0.00525846, +0.03700205, -0.00932929, +0.02738996, -0.00125731, -0.07734097, +0.36621240, -0.08677219, +0.11401779, +0.08235133, +0.09466187, -0.04437252, +0.07808567, -0.04759786, -0.10389788, +0.01798911, +0.05482938, -0.06208896, +0.26034327, +0.01188865, -0.10288832, +0.02732212, -0.20664665, -0.03245371, -0.07791114, +0.18471337, +0.11620890, +0.07103984, +0.06701507, +0.36842498, +0.12234547, +0.02526397, +0.12814375, -0.07581208, +0.04461146, +0.13271495, +0.08416634, +0.13333104, +0.13063717, -0.18115291, +0.20681144, -0.24769408, -0.00249970, +0.03721066, +0.00081912, -0.05658713, -0.05503857, -0.03947040, +0.01317790, -0.14039868, -0.30654455, +0.06284956, +0.11736507, -0.00330327, -0.09648003, +0.14045859, -0.00801211, +0.02061333, -0.31220713, +0.01154419, +0.00120457, -0.06372078, -0.31553320, +0.14007471, +0.62401466, -0.20342397, +0.21041400, +0.04987025, +0.11052509, +0.03510516, +0.02211751, +0.02331514, +0.09511354, +0.01389408, -0.04902858, -0.00944222, +0.09763371, +0.05918884, +0.03367890, -0.03350200, /* S5.TCP_WSCALE */ - -0.69673927, -0.14592546, -0.09796032, -0.06511222, -0.54391422, -0.54146128, -1.40409446, +0.52933886, -1.17655143, -0.02315591, -0.13993130, +0.40163043, -0.00913673, -0.03043475, -0.05393640, -0.10112540, -0.38471500, -0.27921385, -0.13921823, +0.11861652, -0.34349369, -0.10271462, -0.22594480, +0.21745595, -0.17776621, -0.08461963, -0.16370862, -3.28632441, -4.78305556, +0.04047071, -0.39054947, -1.66312701, +1.01111281, +0.04961277, -0.51738418, -0.11437500, +0.19966735, -2.63440462, -0.15128175, +0.61413985, -0.06284998, +0.35839512, -0.13875522, -0.26367418, -0.07706561, -0.15434977, +0.02027092, -0.37966818, +0.12934557, +1.48418097, -0.84350646, -0.98988665, +0.02429123, -0.14330616, +0.36189868, -0.43451513, -0.17280275, -0.31290994, -0.33937376, +2.53268860, -0.32571798, +0.21826754, +0.18349236, -0.37609784, +0.46496877, -0.13804603, -0.10978640, -0.14970846, +0.63781169, +1.02662438, +3.63640758, -0.18655555, +0.60757147, +0.60414142, -0.24562994, +0.34884515, +0.09909470, -0.07258022, +3.29342863, -0.02198657, +0.05420494, +0.07079579, +0.27796701, +0.73043189, -0.08587670, +0.18336190, -0.50726925, +0.00224702, +2.74391227, +0.17096763, +0.47453851, +0.07276285, + -0.59531284, -0.14433935, -0.52478875, -0.03648462, -0.50574554, -0.53738839, -1.46581856, +0.66387518, -1.16147793, +0.05188522, -0.12358739, +0.43885868, -0.02035116, +0.00155524, -0.01585937, -0.06784122, -0.36144583, -0.29550539, -0.12623146, +0.11276959, -0.29818596, -0.13326762, -0.25012386, +0.28454071, -0.15508924, -0.03517111, -0.14051761, -4.41345747, -5.05229153, +0.09608800, -0.35933830, -2.08215611, +1.77598642, +0.12191532, -0.59566738, -0.06849379, +0.19057037, -2.73705219, -0.12479823, +0.48073930, -0.03571653, +0.41548327, -0.10596665, -0.26733573, -0.05345045, -0.23796640, +0.08625052, -0.36717578, +0.08411257, +1.46375988, -0.82883268, -1.42560444, +1.01703074, +0.01819464, -0.11275568, +0.39243780, -0.38633297, -0.17317827, -0.33102315, -0.32845030, +2.70842162, -0.39918771, +0.21327206, +0.22423313, -0.44663764, +0.54655326, -0.09471916, -0.12342940, -0.12614090, +0.75698463, +2.36412579, +1.71795879, -0.21165279, +0.76642955, +0.65621162, +0.57297447, -0.95210422, +0.31642749, +0.15716436, -0.07753133, +4.71133772, -0.03763036, -0.06406129, +0.03219998, +0.28415586, +0.91811217, -0.10253189, +0.16200698, -0.48528568, +0.02805670, +2.75287205, +0.15730011, +0.50431979, -0.39675733, +0.12661133, -0.28781512, +3.79608896, +0.12709999, +0.09442036, -0.20664911, -0.06681800, /* S5.TCP_CORR_WINDOW_MSS */ - +0.50206832, +1.90809517, -0.06928612, +0.55743822, +0.13515920, -0.00415880, -0.14910362, +0.20023138, -0.08383140, -0.03705595, +0.01947395, -0.30111028, +0.01448343, -0.06957211, -0.00398335, -0.00374893, +1.61076578, +0.00337792, +0.12233827, -0.07437921, -0.01526854, +0.03407775, +0.05243399, -0.06137924, -0.05988472, +0.02391898, +0.04877109, -0.74180367, +0.32203533, -2.44051320, +2.02114030, -0.16190110, -0.17232661, -0.22095536, -0.81832396, +0.03254140, -0.23738924, +0.71410920, -0.43810708, -0.51052713, -0.05166550, -0.05986045, -0.05283788, -0.03598671, +0.14429538, -0.02735001, -1.21387227, -0.64791603, -0.21709759, -0.68809996, -0.72220787, +0.02734720, -0.00555514, +0.05777685, -0.18826938, -0.43032773, -0.11338952, -0.06502426, -0.00612631, +2.23427601, -0.08924039, +0.00549256, -0.09521498, +1.89107433, +0.34400712, +0.23211187, +0.08751226, -0.00003242, -0.16401369, +0.27589485, +0.71866408, +0.31485807, +0.67905756, +0.51163990, +0.57623355, +0.38426268, -0.00394181, +0.37002623, -0.79327419, -0.02615933, -0.10487363, -0.04465773, +0.04627153, +0.20403650, -0.01975509, -0.05022743, -0.00281462, -1.01646859, -0.77393664, +0.13456638, +0.12187042, -1.88050252, + +0.77503495, +1.76069240, -0.50744035, +0.63259944, +0.11706962, +0.04038279, -0.14759904, +0.16093226, -0.07462718, -0.05629788, -0.00901502, -0.40002616, +0.01475302, -0.06482325, -0.01656176, -0.01987242, +2.01942793, -0.01503110, +0.11591738, -0.18385789, -0.03239828, +0.03235092, +0.04959466, -0.11513572, -0.11608383, -0.01008160, +0.08741782, -0.94595879, +0.47450447, -2.71479498, +2.27545804, -0.25917663, -0.16368927, -0.28797141, -0.82887441, -0.00831347, -0.33821343, +0.80296887, -1.14044059, -0.83250702, +0.00223671, -0.06510206, -0.06628286, -0.18322149, +0.18955373, -0.23318188, -1.38239252, -0.75160792, -0.36068114, -0.81093739, -0.97558523, -0.27686551, -0.14116081, -0.01243533, +0.10765794, -0.22587181, -0.58382106, -0.11858207, -0.07896512, -0.03708238, +2.20287279, -0.11875264, +0.00074767, -0.13854711, +1.95818223, +0.42987773, +0.22337355, +0.08355234, -0.01404269, -0.20581133, -0.15745359, +0.83377660, +0.38596188, +0.21388243, +0.49162156, +0.77631546, +0.16447117, +0.58917460, -0.00841140, +0.51741607, -1.30594975, -0.01562384, -0.19115520, -0.06353070, -0.02298927, -0.35297735, -0.02663693, -0.28398237, -0.05130426, -1.68057687, -0.80033234, +0.15070955, +0.31832418, +0.39953961, -1.85700779, +1.25217629, -0.35275603, +0.06542913, -0.61632101, -0.41794886, -0.01133852, /* S6.TCP_WINDOW */ - -0.79946534, +1.90176661, -0.58866892, +0.36196826, +0.04449318, -0.61946026, -0.63022439, +0.09500606, -0.66076416, -0.05258218, -0.45675274, -0.92114601, -0.06954235, -0.08639091, -0.10962921, -0.14664711, +0.29579202, -0.09649477, +0.25786493, -0.23195016, -0.06864348, +0.10069320, +0.13875325, -0.20000806, -0.07101862, -0.01965344, -0.21087784, +0.62184186, +1.17287275, -2.42230368, +1.37196354, -0.40570297, -0.64384168, -0.93719052, -2.57328253, +0.03431045, -0.28170397, +0.38217739, -2.19273073, +1.72847618, -0.08477426, +0.10997697, -0.07870931, +0.38805791, +0.22712310, -0.05494056, +0.09864867, -2.27652562, +0.39077811, -2.26646901, -1.98423335, -0.14516554, -0.15673248, -0.08678660, -0.54403974, -1.07429958, -0.41853100, -0.01798437, -0.06994922, +0.23971633, -0.12375465, -0.08370064, -0.18170771, +0.06163265, +0.95991872, +0.58382794, -0.03290704, -0.07694309, +0.25661226, +0.66586818, +0.14287702, +0.12300153, -0.83071794, +1.08568227, +1.67493117, +0.20568904, +0.03398809, +0.16579665, +0.13117720, -0.04200513, -0.00453453, -0.11930546, +0.06658552, +0.71908588, -0.15569762, +0.38326237, +0.10467236, +0.61954449, -2.38387211, +0.39920506, +1.16679554, +0.26462469, + -0.76864296, +1.99635659, -1.94348906, +0.36896231, +0.01095414, -0.74234686, -0.61772966, +0.10646266, -0.68056113, +0.02488761, -0.53428374, -1.10089577, -0.07894914, -0.06574000, -0.11220623, -0.15221892, +0.16945003, -0.11631944, +0.23558203, -0.29305413, -0.05493902, +0.07048533, +0.10114185, -0.09191976, -0.07802708, -0.04210443, -0.29485587, +0.84182974, +0.95604202, -2.61428425, +1.40136705, -0.47563984, -1.34925453, -1.07800557, -2.48727335, -0.01905048, -0.29119891, +0.38687342, -4.19293835, +1.77357620, -0.01997461, +0.06988105, -0.10646531, +0.47587892, +0.26110863, +0.01690118, +0.33030546, -2.24898929, +0.35373792, -2.48625295, -2.40008420, -0.97690995, +0.35101460, -0.18797338, -0.03524998, -0.61574324, -1.20481663, -0.45454716, +0.02790023, -0.09393910, +0.09629347, -0.09800342, -0.09884023, -0.26433434, +0.02423820, +1.20194219, +0.64332553, -0.00645931, -0.09097299, +0.35164149, -0.18882060, +0.03678871, +0.11411534, -0.42614527, +1.08043919, +1.54976976, +0.75852747, +0.16337894, +0.06463548, +0.13829021, -0.06173183, +0.02954309, -0.02305886, -0.13856350, +0.04343934, +0.81875104, -0.17631073, +0.29565913, +0.11482137, +0.75670207, -2.40236252, +0.37758519, +1.53095511, +0.68854725, +0.30512708, +0.12682445, +0.18550804, -0.09253267, +0.36129697, -0.15881998, -0.15319331, /* S6.TCP_FLAG_F */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_S */ - -0.03486206, -0.11958659, +0.05795600, -0.03344928, -0.04207315, -0.24838856, +0.02575761, -0.03327968, +0.05957739, -0.09169397, +0.01760874, +0.10746620, -0.17564809, -0.14864723, +0.00345060, -0.01134985, -0.04100815, +0.01395640, -0.03588136, -0.00148342, +0.01223332, -0.00815755, -0.01831751, -0.02125389, -0.01834973, +0.06393955, +0.11068267, +0.01739288, -0.48620171, +0.21654799, -0.01064139, +0.02326247, -0.00631336, +0.06888296, +0.19559318, +0.07078860, -0.00831819, -0.05413197, +0.04711325, -0.07411130, -0.13684729, -0.03385359, +0.02239299, -0.00300959, +0.08152903, -0.01149701, +0.07902350, +0.10492088, -0.04654166, +0.03872673, -0.02485816, +0.06790012, -0.00982217, +0.03236394, +0.01432766, +0.06113161, +0.00444691, +0.07783527, -0.01607725, -0.07757527, -0.03514140, +0.01689927, -0.02739764, -0.06762189, -0.04124916, -0.02049097, -0.00904070, -0.00103842, -0.01303468, -0.06307962, -0.07503145, +0.01309541, -0.03057533, -0.07070088, -0.04057366, -0.05823940, -0.02922352, -0.01627886, -0.06492043, -0.07653937, -0.04355571, -0.01925084, -0.03422714, -0.00032705, -0.02112901, -0.02163209, -0.01064726, -0.00567942, +0.01489409, -0.05215469, -0.05325297, -0.03872361, + -0.03377968, -0.30260030, +0.08365205, -0.04406845, -0.04696697, -0.19780866, +0.02302607, -0.04886448, +0.05511699, -0.08572746, +0.01241981, +0.11233117, -0.16583277, -0.11418961, -0.01184614, -0.04232381, -0.06040783, -0.00647929, -0.04273145, -0.01691851, -0.00305156, -0.01365236, -0.03879267, -0.04635659, -0.01609113, +0.03281424, +0.07855940, +0.05752855, -0.21072093, +0.24867417, -0.05013437, +0.02484624, +0.01093748, +0.08698487, +0.21757055, +0.03993194, -0.00621598, -0.06755794, +0.18763987, -0.06830025, -0.06965340, -0.04022880, -0.00343146, +0.04647929, +0.06516797, +0.04982738, +0.08066509, +0.06794641, -0.05814972, +0.05755128, -0.00573711, +0.10129730, -0.05218611, -0.02015870, -0.00531595, +0.00674982, +0.06028412, +0.00945506, +0.07966144, -0.02902207, -0.19789019, -0.03241474, +0.00645928, -0.01954994, -0.07525727, -0.05583458, -0.03866794, -0.02107796, -0.04111464, -0.00476832, -0.02527219, -0.05275347, +0.02339388, -0.00428025, -0.08381509, -0.12981866, -0.06253975, -0.04983907, -0.03736774, -0.02300203, -0.10627909, -0.03622603, -0.04849759, +0.00795061, -0.03732830, -0.05111617, -0.03004299, -0.03335567, -0.01042317, +0.05110722, +0.02657030, -0.05590746, -0.04304320, +0.00030281, -0.05197502, -0.09196327, -0.11673634, -0.13004372, +0.00043983, +0.00207920, +0.01967058, /* S6.TCP_FLAG_R */ - +0.00334399, +0.00369959, +0.00617003, +0.00042365, +0.00357436, +0.37277274, +0.03534548, +0.00348205, +0.05964562, -0.03590897, +0.02724147, -0.09972892, +0.22335861, -0.06099592, +0.01603435, +0.01217706, +0.00283367, +0.01919164, +0.00215894, +0.01243290, +0.02248830, +0.00425323, +0.00503768, +0.00708529, +0.00362859, +0.05066874, +0.01117031, +0.01512736, -0.04038540, +0.04591168, -0.03787135, +0.03070519, +0.00984128, +0.05095598, +0.12950961, +0.04781022, +0.01353577, +0.00245492, +0.04264535, +0.00355866, -0.05494112, +0.00385131, +0.03336584, +0.01405604, +0.00491448, +0.00576050, +0.07143005, +0.08574671, +0.00554668, +0.05978202, +0.01534723, +0.07079694, -0.00002253, -0.03759128, +0.02932173, +0.03188553, +0.01568762, +0.04690007, +0.00896855, -0.00005214, +0.00299971, +0.02251784, +0.00002215, +0.00217929, +0.00136521, +0.01699024, +0.00041160, +0.01317519, +0.01012367, +0.00070088, +0.00255939, +0.02206755, +0.01282959, +0.00505082, +0.00401611, +0.00418966, +0.00107009, +0.01097964, +0.00322767, -0.02055359, +0.00332675, +0.00596284, +0.00040024, +0.00727445, +0.00428740, +0.00534785, +0.02728346, -0.02319167, +0.04353022, +0.00412148, +0.00647839, +0.00168295, + +0.03633241, -0.05298210, +0.04360556, -0.00435686, +0.00439316, +0.60984087, +0.03671534, -0.00534258, +0.06305654, -0.05321128, +0.04600085, -0.30450746, +0.40834082, -0.06431748, +0.01076022, -0.00519390, +0.03251644, +0.01334762, +0.00102058, +0.02906951, +0.03056418, +0.00146164, -0.00747316, +0.00747181, +0.00042343, +0.06896267, -0.06481173, +0.00945360, +0.07637509, +0.05648111, -0.04390830, +0.03590388, +0.09985867, +0.10286807, +0.15993511, +0.11705068, +0.02725041, +0.00665057, +0.17668891, +0.05931999, -0.02943805, +0.01000821, +0.04980321, +0.05311915, +0.00791644, -0.15106631, +0.15187204, +0.15495374, -0.00377718, +0.13151261, +0.01710553, +0.18138131, +0.03745815, -0.02208199, -0.08683082, +0.04223045, +0.05357632, +0.02211543, +0.05737378, +0.01813095, -0.18009564, -0.02072971, +0.02899117, -0.03954438, -0.00406253, +0.00586630, +0.00808825, -0.00268411, -0.01898299, +0.02417892, -0.09896706, -0.07020875, -0.02577922, -0.00547766, +0.00497899, -0.02350389, +0.00017219, -0.02295678, -0.00334519, +0.01049198, +0.02344905, +0.00601311, -0.00775911, -0.07838294, -0.03975573, +0.28751899, -0.03129376, +0.00425780, +0.03751319, -0.07225194, +0.05937395, -0.01042194, -0.11424083, +0.00943861, -0.00071698, -0.02093459, -0.10985452, +0.22408948, -0.06862981, +0.03591652, -0.02843223, /* S6.TCP_FLAG_P */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_A */ - -0.03567818, -0.12036167, -0.02082655, -0.03755444, -0.04362415, -0.57789992, +0.02435715, -0.03409165, +0.05483304, -0.09702884, +0.01553854, +0.10516733, +0.02420377, -0.14929352, +0.00272633, -0.01381643, -0.04336735, +0.01208750, -0.03724605, -0.00242641, +0.01092546, -0.01379590, -0.02075682, -0.02322145, -0.02485524, +0.06285806, +0.09448650, -0.03657731, +0.05571519, +0.16160695, -0.05469866, +0.02162253, -0.00770711, +0.05370323, +0.19307085, +0.06993232, -0.00966987, -0.05470166, +0.04589809, -0.07496697, -0.13799833, -0.03494602, +0.02078115, -0.00570755, +0.07367626, -0.01422822, +0.05749756, +0.10335660, -0.04932413, +0.03608094, -0.03385826, +0.06514634, -0.01345319, +0.02939117, +0.00997414, +0.05853924, +0.00276428, +0.05385078, -0.01812772, -0.07971923, -0.03725076, +0.01297787, -0.03129776, -0.06792903, -0.04192608, -0.02222406, -0.01226238, -0.00245462, -0.01406894, -0.08276146, -0.07912277, +0.00999376, -0.03442108, -0.07206838, -0.07648085, -0.05808473, -0.02961997, -0.01781332, -0.06739526, -0.07731059, -0.04431564, -0.02685577, -0.03703912, -0.01194445, -0.02461938, -0.02283632, -0.01304376, -0.02469313, +0.01424288, -0.05346266, -0.06115614, -0.03955988, + -0.02790269, -0.26595063, +0.02905597, -0.04585384, -0.05008344, -0.51839645, +0.02293165, -0.04831747, +0.04510656, -0.10155792, +0.00981194, +0.11951491, +0.00362253, -0.11352456, -0.01126492, -0.04648656, -0.05624335, -0.00931434, -0.04302589, -0.01683206, -0.00353886, -0.02150179, -0.03803378, -0.04754362, -0.02489722, +0.03378016, +0.05199120, -0.08148197, -0.02702719, +0.18966576, -0.07753212, +0.02433562, +0.02248352, +0.07430996, +0.21707225, +0.04499288, -0.00337617, -0.06417770, +0.16858465, -0.06533060, -0.06146092, -0.03915274, -0.00295388, +0.00305939, +0.05113903, -0.00056114, +0.00337775, +0.07127533, -0.05818991, +0.06557788, -0.01155178, +0.10548042, -0.03327031, -0.02323261, -0.00477921, +0.00568908, +0.05928030, +0.00852887, +0.06448727, -0.02458114, -0.20000148, -0.03935250, -0.00132598, -0.02582193, -0.07397887, -0.05339747, -0.04135169, -0.02158638, -0.04113067, -0.00297461, -0.04354159, -0.05710225, -0.01134876, -0.01961948, -0.08371582, -0.13160567, -0.06258302, -0.06924726, -0.03495776, -0.02600300, -0.08952026, -0.03420153, -0.04608310, -0.04500614, -0.04505866, +0.00037102, -0.03814463, -0.03386896, -0.00999293, -0.03122589, +0.02899997, -0.05886533, -0.09051652, -0.07617199, -0.05175887, -0.08966807, -0.14334597, -0.00753541, -0.04013613, +0.01046305, +0.02010764, /* S6.TCP_FLAG_U */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_E */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_C */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_RES8 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_RES9 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02367016, -0.10661036, +0.07053386, -0.00111123, +0.00365679, -0.15790856, +0.04259806, -0.00734889, +0.06377369, -0.03278804, +0.06521222, +0.09603344, -0.00084086, -0.06745862, +0.01056796, +0.00864423, +0.02336117, +0.02658678, +0.00213838, +0.03509374, +0.04303238, +0.01143453, -0.01010832, +0.01750124, +0.02810423, +0.07474320, +0.05188814, +0.00291946, +0.09531251, +0.11515882, +0.00451376, +0.03894279, +0.11912053, +0.10750073, +0.14473882, +0.11244025, +0.04800699, +0.00068114, +0.29897624, +0.03115858, -0.03735504, +0.01169526, +0.05202314, +0.07207652, +0.06379139, +0.04973884, +0.11207615, +0.14678882, -0.00740978, +0.12367718, +0.02732886, +0.18640239, +0.03329853, +0.00205195, +0.00421836, +0.07445488, +0.06198115, +0.02397298, +0.05921507, +0.02443560, -0.17324771, -0.00113732, +0.03584178, +0.00520226, -0.00681092, +0.00255598, +0.00756783, +0.00654556, -0.00481559, +0.02369789, +0.02395519, -0.04563731, -0.02523733, -0.01283076, +0.00276646, -0.03699342, -0.00051281, -0.04373083, -0.00100334, +0.01267303, -0.00078149, +0.00478046, -0.01161106, -0.06274259, -0.01696013, +0.36102382, -0.00831446, +0.00606787, +0.03622667, -0.00035532, +0.05842529, -0.01058795, -0.12611458, -0.00730040, +0.00462431, -0.01811978, -0.11516530, +0.27148986, -0.06062698, +0.02838534, +0.04289305, /* S6.TCP_FLAG_RES10 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_FLAG_RES11 */ - +0.00399215, +0.00424070, +0.01220798, +0.00409273, +0.00407841, -0.04923744, +0.03619143, +0.00423078, +0.06074767, -0.02927059, +0.02930643, +0.02267286, +0.02361345, -0.06026234, +0.01691347, +0.01812789, +0.00789281, +0.02079123, +0.00336010, +0.01329357, +0.02377948, +0.00729997, +0.00610002, +0.00906449, +0.01005619, +0.05243878, +0.06023890, +0.01920184, +0.03814782, +0.10072943, +0.00592088, +0.03211531, +0.01089769, +0.05366341, +0.13127394, +0.04937599, +0.01828921, +0.00296682, +0.04363121, +0.00417248, -0.04759480, +0.00483003, +0.03528956, +0.01589921, +0.04102253, +0.00857328, +0.07216958, +0.08674935, +0.00681008, +0.06127552, +0.01973333, +0.07197622, +0.00760626, +0.01743782, +0.03664400, +0.03445672, +0.01690197, +0.04968750, +0.01026766, +0.00397786, +0.00468483, +0.02447419, +0.00485678, +0.00243023, +0.00198502, +0.01917648, +0.00353294, +0.01712326, +0.01098957, +0.00878899, +0.00488678, +0.02386765, +0.01364378, +0.00577936, +0.00556387, +0.00371465, +0.00143399, +0.01208474, +0.00495707, -0.01880672, +0.00413442, +0.01253866, +0.00302059, +0.01572379, +0.00774571, +0.00626004, +0.02833677, +0.00590638, +0.04400770, +0.00488170, +0.00782266, +0.00359567, + +0.02194471, -0.10956744, +0.07254624, -0.00178682, +0.00397415, -0.11248657, +0.03841770, -0.00354712, +0.06376977, -0.03638264, +0.07329524, +0.08812285, +0.04480525, -0.06787893, +0.01025983, +0.01498070, +0.01929249, +0.03870122, +0.00037938, +0.04402419, +0.04472340, +0.01681017, -0.00728732, +0.00648740, +0.02812907, +0.07689007, +0.08738284, +0.00306231, +0.08148584, +0.11515684, +0.00086654, +0.03661325, +0.08753561, +0.10460177, +0.16516774, +0.10911780, +0.05360475, -0.00734697, +0.29207742, +0.00333531, -0.03950286, +0.01184594, +0.05026135, +0.07188355, +0.07411980, +0.05105127, +0.11080744, +0.15122093, -0.00810197, +0.11953342, +0.05520123, +0.16376585, +0.02391384, +0.00481163, +0.00488010, +0.07288585, +0.05690725, +0.02507003, +0.05936076, +0.02497693, -0.15162363, +0.00720776, +0.04322229, +0.02611310, -0.00382798, -0.00077400, +0.01143793, +0.00025372, -0.00026337, +0.02516259, +0.01950837, -0.03232220, +0.03309047, +0.13858079, +0.00456975, -0.04040443, -0.00067130, +0.00134969, -0.00236570, +0.02151976, -0.00264310, +0.00383229, -0.01645840, +0.01148470, -0.01014318, +0.05695255, +0.00301343, +0.01481028, +0.03660511, -0.00839589, +0.05781846, +0.00125116, +0.00310223, -0.00707781, +0.00854402, -0.01885400, -0.05961357, +0.02637620, +0.00449086, +0.02427022, +0.04397979, /* S6.TCP_OPT_0 */ - -0.03349207, -0.34564769, +0.03020474, +0.00566485, +0.15299202, -0.53823535, +0.00975567, -0.01549467, +0.06332835, -0.04362383, +0.02615297, +0.17267780, -0.24227478, -0.08918191, +0.01291535, +0.00686690, -0.00586226, +0.02138516, -0.01567478, +0.00630121, +0.01687058, -0.12949460, +0.20858546, -0.00026109, +0.04561406, +0.05787046, +0.12576155, +0.02609427, -0.05421583, +0.19715496, +0.12637604, +0.01310956, -0.01166654, +0.05855195, +0.15431150, +0.05758193, +0.01363386, -0.06271347, +0.02872166, -0.10364601, -0.07016510, -0.00848596, +0.03181731, +0.00633754, +0.09031154, +0.00312251, +0.07542870, +0.09311103, -0.01071959, +0.05429955, +0.00456221, +0.07114368, +0.00877860, +0.07689877, +0.03571455, +0.04623965, +0.01412610, +0.06033047, +0.00154720, -0.02993240, -0.00875460, +0.02305237, +0.00300046, -0.02566345, -0.01252079, +0.00463936, +0.00189697, +0.01459722, +0.25220620, -0.00833823, -0.01277302, -0.11431508, +0.00170110, -0.02121089, -0.04042527, -0.00981433, -0.00864876, +0.00547488, -0.01505709, -0.03656598, -0.01200970, +0.00884631, -0.00727822, +0.07119545, +0.00088354, -0.00249071, -0.00125078, +0.03015515, +0.03458962, -0.01861278, +0.02883497, -0.02581067, + -0.15470066, -0.84583910, +0.11450825, +0.00095381, +0.19455737, -0.77280324, -0.01465474, -0.03047197, +0.06798674, -0.04870326, +0.04246322, +0.39373963, -0.35825089, -0.10432375, +0.00009531, -0.03486230, -0.05104597, +0.02716953, -0.03938061, +0.00502510, +0.00863806, -0.22830205, +0.24451491, -0.02687347, +0.08693293, +0.04808339, +0.20283146, +0.04500467, -0.05992749, +0.21935201, +0.12964654, +0.01848020, +0.04234143, +0.10047989, +0.19835560, +0.05955072, +0.03124074, -0.14104756, +0.36928725, -0.26876527, -0.06330114, -0.02960166, +0.00733571, +0.02327458, +0.11300676, +0.20545383, +0.06216693, +0.09872300, -0.06712239, +0.08082690, +0.03090981, +0.13716195, -0.02006026, +0.00056998, +0.07341010, +0.05181436, +0.05803248, +0.01974264, +0.06521224, -0.00797422, -0.19923459, -0.01606267, +0.02305714, +0.03898612, -0.04700623, -0.04141741, -0.01698978, -0.00339271, -0.01312704, +0.31564876, +0.09829364, -0.06098446, -0.12811494, +0.10707266, -0.04033943, -0.18481726, -0.03039039, +0.01850806, -0.03204287, +0.00012338, -0.10771781, -0.01754400, -0.05305056, +0.07029317, +0.01231237, -0.09304319, +0.00040966, -0.02486951, -0.02705257, +0.05512204, +0.04521126, -0.04244571, +0.02986850, -0.02300213, -0.05427870, -0.06939595, -0.05128725, -0.20530473, +0.05420306, -0.00402113, +0.08073541, /* S6.TCP_OPT_1 */ - +0.01366203, -0.18473154, +0.09267903, +0.00081377, +0.18008957, -0.14715165, +0.09336661, +0.01078272, +0.15801621, -0.01607512, +0.01163953, +0.23694006, -0.17571927, -0.02180711, -0.04297090, -0.09360735, +0.06503063, +0.01770023, -0.02945210, -0.07131096, +0.08078349, -0.03109326, +0.22126777, +0.06537179, +0.00030916, -0.07529204, -0.14163938, +0.01991650, +0.07846780, +0.14777345, +0.05179726, +0.12085109, +0.02665760, +0.09438580, +0.23202237, -0.12631952, +0.04906134, +0.12480249, +0.10515675, -0.00258572, -0.04724867, +0.02647409, -0.11234114, +0.00580958, -0.07207933, +0.13278400, +0.11899581, +0.16345863, +0.06787113, +0.10541403, +0.20046251, +0.17491232, +0.03113998, -0.10826601, +0.06434953, +0.03048862, +0.02079458, +0.15530815, +0.15635343, +0.01642797, -0.02453605, -0.30044532, -0.02298174, +0.01572882, -0.01264100, -0.11734101, -0.01591305, -0.07197390, +0.24065987, +0.06913321, -0.03583172, -0.02060143, +0.07710348, +0.04931941, +0.04872003, +0.03719540, -0.00183500, +0.04330926, -0.02664151, -0.01292995, +0.11395305, +0.01459187, -0.01270072, -0.05882580, +0.01131406, -0.04160970, +0.07650955, +0.07355053, +0.05662907, +0.02481671, -0.07424662, +0.01490872, + -0.12841486, -0.18501727, +0.22867563, +0.01927311, +0.21145528, -0.17530831, +0.09095517, -0.03135973, +0.16274614, -0.02328768, +0.06802244, +0.34936022, -0.21338645, +0.00313027, -0.01182217, -0.09185198, +0.06464701, +0.02506750, -0.05071193, -0.10590064, +0.09819641, -0.08682100, +0.22087421, +0.08012164, +0.03629563, -0.05638724, -0.12191715, +0.24509318, +0.25668387, +0.17014357, +0.08534805, +0.14145325, -0.03757430, +0.09295478, +0.19402372, -0.12980374, +0.03161229, +0.13879798, +0.14609772, -0.07474390, -0.04121133, +0.03253805, -0.10028436, -0.02546774, -0.05821327, +0.32292787, +0.10572962, +0.15101598, +0.10201749, +0.08650671, +0.29129227, +0.22628238, +0.08302936, +0.03387965, -0.09260927, +0.02018036, +0.07812280, +0.04358219, +0.15968107, +0.20634441, -0.13061412, -0.00981104, -0.33162831, -0.02839914, +0.06452584, -0.02369363, -0.09552396, -0.03207227, -0.05403916, +0.25888946, -0.02665237, -0.11926038, +0.00933931, +0.21900934, +0.04301690, -0.08543473, +0.19502165, +0.04396446, +0.01858598, +0.07050719, -0.15774280, -0.01736419, +0.10524968, +0.08782028, +0.02628378, -0.18833747, +0.04790089, -0.05842600, +0.05019478, +0.02872439, +0.04347807, +0.02120585, -0.13678149, +0.01238442, -0.01070665, -0.00480049, -0.13231913, -0.12117881, +0.06572877, +0.05190527, -0.06600481, /* S6.TCP_OPT_2 */ - +0.09098283, +0.52543384, +0.10946007, -0.05608059, -0.14883025, -0.39771027, +0.21280266, +0.03784474, +0.24608799, -0.02841350, -0.03707105, +0.35032872, -0.20372819, -0.03475434, -0.05988169, -0.11797195, +0.11168471, -0.02887046, -0.05820237, -0.18693622, +0.00318442, +0.31993014, -0.19549542, +0.11838314, -0.14191415, -0.09959534, -0.20862156, -0.06809865, +0.36490252, +0.12236402, -0.21147736, +0.26152021, +0.09383429, +0.13170417, +0.34886611, -0.16445738, +0.07830180, +0.42196608, +0.22962488, +0.24796198, -0.07764379, -0.00509008, -0.13618521, -0.03274551, -0.10842856, +0.23323813, +0.14891888, +0.24536211, +0.12866805, +0.14613136, +0.32241377, +0.28349556, -0.02986308, -0.13888462, +0.08139851, +0.01672504, -0.00915001, +0.20395400, +0.23349486, +0.05686267, -0.07067791, -0.39473748, -0.08466714, +0.03692246, -0.03409818, -0.15369437, -0.05063908, -0.09922233, -0.27867544, +0.11286291, -0.11723395, -0.04810289, +0.14380923, +0.10482248, +0.16672223, +0.07250537, -0.01046358, -0.00181517, -0.08273842, -0.02744360, +0.25202866, -0.05086550, -0.04008993, -0.24157556, -0.03448096, -0.17975068, +0.21964945, +0.09965824, +0.06849826, +0.08035232, -0.11272975, +0.07735128, + +0.02671175, +0.67031968, +0.18162818, -0.05201341, -0.18899636, -0.35860024, +0.23491725, -0.02627227, +0.21601349, -0.01301949, +0.00791341, +0.25572324, -0.17284031, -0.00018045, -0.01379193, -0.06916283, +0.07180222, -0.03327183, -0.04707361, -0.17390708, +0.01041659, +0.32445943, -0.21710250, +0.13059329, -0.12882799, -0.04171301, -0.15590953, +0.15569883, +0.30966863, +0.16574922, -0.26337754, +0.25463109, -0.01134284, +0.08008078, +0.23250980, -0.13124530, +0.03333556, +0.42101922, +0.13232784, +0.16913413, -0.05962023, -0.00480668, -0.07926649, -0.04774001, -0.07028641, +0.25327755, +0.04162515, +0.12757454, +0.10545728, +0.08795249, +0.28671457, +0.22942768, +0.12482557, -0.02883515, -0.09466908, -0.00156862, +0.08802690, +0.02231378, +0.19692521, +0.23312205, -0.08074601, -0.02818170, -0.36265787, -0.07935080, +0.05693328, -0.01305781, -0.10204557, -0.07450549, -0.05815594, -0.36154127, +0.03714581, -0.19767571, +0.00097208, +0.11058521, +0.08841440, +0.13629183, +0.28711466, +0.06618459, +0.04473066, +0.01287396, -0.16767610, -0.03617319, +0.17445490, +0.01741486, +0.00387081, -0.32882403, -0.01014932, -0.17576704, +0.22026063, -0.03061249, +0.03245251, +0.06423100, -0.00398509, -0.04938510, +0.05282373, +0.10870026, -0.26045218, -0.12029878, +0.12681519, +0.10884747, -0.07835831, /* S6.TCP_OPT_3 */ - -0.06807503, -0.19881679, -0.09434964, -0.08359884, -0.06948414, -0.04671432, -0.12913108, -0.04959238, -0.15287879, +0.00062081, +0.25673440, -0.09300834, -0.19552376, -0.00240482, -0.02112021, -0.01838764, -0.10689170, +0.08528210, +0.15490743, +0.21576839, +0.36911996, -0.05960603, -0.08074605, -0.11074534, +0.06942046, -0.06087415, -0.05023847, +0.45492793, +0.46740536, +0.18292679, -0.18729678, -0.20318629, -0.07575532, -0.03429856, -0.11188299, -0.07166967, -0.05767395, -0.48653126, -0.17152571, -0.25094633, +0.01655965, +0.20169458, -0.13205580, +0.24396674, -0.01278083, -0.18257737, -0.04989418, -0.09812146, -0.16701141, -0.06357768, -0.19663585, -0.17818625, +0.20662113, -0.07234516, -0.00828209, +0.26539136, +0.21970624, -0.01814402, -0.06722313, -0.09347419, +0.16913844, -0.11613837, -0.02396687, -0.08044054, +0.07098591, -0.06474084, -0.06348982, -0.03115518, -0.03376236, -0.13430485, +0.44281253, +0.17207292, -0.19414480, -0.18407460, -0.26308896, -0.14575979, +0.04404887, +0.30089346, +0.26778044, +0.01107978, -0.33205733, +0.31922487, +0.15610999, +0.22983415, +0.24101429, +0.33033902, -0.18488244, -0.06085761, +0.00287846, -0.10016336, +0.15342648, -0.10241511, + +0.02433392, -0.18604190, -0.08291347, -0.10656745, -0.01665953, -0.02206284, -0.07951305, -0.01164571, -0.12404380, -0.00099184, +0.21794059, +0.03653660, -0.19508411, -0.00155941, -0.02265374, -0.00473782, -0.09020938, +0.04145939, +0.11465815, +0.16445894, +0.29103559, -0.07872750, -0.05679349, -0.09590820, +0.03489067, -0.10035548, -0.02935926, +0.26684618, +0.37072578, +0.17766432, -0.23377027, -0.13529457, -0.01397101, +0.12592595, +0.21032708, -0.08008969, -0.01020262, -0.43778210, -0.07293024, -0.25441843, +0.09036684, +0.18660096, -0.15579920, +0.20783679, -0.00269330, -0.05890114, -0.06300090, +0.04986795, -0.16481810, -0.03795525, -0.19433765, -0.07906504, -0.18304313, +0.19295567, -0.07663279, +0.07575901, +0.21137661, +0.18199315, +0.00332876, -0.07281550, -0.16943188, +0.10423539, -0.10845385, -0.08547730, -0.08510066, +0.00284862, -0.06862844, -0.03043533, -0.03902488, +0.05188830, -0.20134583, +0.14636321, +0.15191075, -0.10513418, -0.19475623, -0.36337882, -0.07239970, -0.13312949, -0.04493542, +0.22673747, +0.09640374, +0.03284339, -0.26472901, +0.29814123, +0.11537877, +0.11856288, +0.18516280, +0.27579372, -0.13919921, +0.02246622, +0.09473237, -0.06823766, +0.18018670, +0.01049789, -0.11824456, -0.19832385, +0.43295476, -0.07502675, -0.10671344, -0.10167117, +0.01761198, /* S6.TCP_OPT_4 */ - -0.00472011, -0.11846706, -0.00005563, -0.14228105, -0.04547207, +0.01313487, -0.05347133, -0.01973499, -0.10276344, +0.01273197, -0.22543561, -0.00003509, -0.14698199, +0.00751276, -0.00144853, +0.02182761, -0.06328738, +0.04478877, +0.37675069, -0.11329132, -0.02508266, +0.03930091, -0.02872953, -0.02055568, +0.01416238, +0.00047400, -0.02136543, +0.62842366, +0.65816911, +0.10947524, -0.44148091, -0.03875513, -0.01541400, -0.00554592, -0.05779974, -0.03604104, -0.02199261, -0.04691792, -0.00467108, +0.00514227, +0.02842217, -0.03829912, +0.02258409, -0.13313375, +0.00927155, -0.04774900, -0.02550444, -0.05967571, -0.04546586, -0.04447440, -0.03181863, -0.11689208, -0.03739237, +0.03343996, +0.02152766, +0.40269895, +0.29776095, +0.00678784, -0.00006215, -0.04144512, +0.60009272, -0.00709071, -0.09916088, -0.05656700, +0.14099012, -0.02364806, -0.13862336, +0.00203128, -0.00472771, +0.03627888, +0.84656073, -0.11276499, -0.08812470, -0.09117877, -0.21253419, -0.08004921, +0.28444415, -0.20756704, +0.47550537, +0.01850816, +0.01186331, -0.15687172, -0.58878281, -0.18181036, -0.08661728, -0.10569767, -0.08457089, -0.00520747, +0.03619798, -0.02945248, -0.10527530, -0.05127529, + +0.11887244, -0.16067401, +0.10427872, -0.17160545, -0.01538697, +0.02227533, -0.04379974, -0.01647387, -0.09105699, +0.05918033, -0.19224406, +0.05490082, -0.14085741, +0.00749387, -0.01317040, +0.05111142, -0.07603716, +0.03680044, +0.35310743, -0.09098307, -0.00849206, +0.02925754, +0.01545269, +0.03856285, +0.01507814, +0.00795911, -0.02682782, +0.45968318, +0.50791718, +0.09874257, -0.53173711, -0.02514581, +0.07875252, +0.13565635, +0.01176431, -0.03215845, +0.02520732, -0.05681386, +0.16311137, +0.13593470, +0.19336812, +0.03849840, +0.06994538, -0.11443012, +0.01761403, +0.07429856, -0.07012187, +0.08333731, -0.02640839, -0.04982701, +0.00595475, -0.07144886, -0.10819075, -0.02461748, +0.06738984, +0.08542412, +0.40170765, +0.26963246, +0.01654015, +0.03294872, -0.10025054, +0.50464242, -0.00014962, -0.18933868, -0.09079542, +0.10926025, -0.04609714, -0.16920523, +0.00676895, +0.08492211, +0.21562801, +0.26917776, -0.08520500, -0.06057653, -0.10497139, -0.18829589, -0.05423392, -0.07539873, +0.23752949, -0.17502412, +0.29469982, +0.03593148, +0.11056889, -0.15617512, -0.66536309, -0.19809765, -0.06839226, -0.10680207, -0.06746627, +0.01596365, +0.19663666, +0.00493620, -0.16957736, +0.02110513, -0.05695464, +0.05915452, +0.67505574, -0.02054197, -0.02935215, -0.09967074, +0.03332027, /* S6.TCP_OPT_5 */ - +0.00362861, -0.12946631, +0.00598772, +0.29033029, -0.05505001, +0.02117915, -0.03850914, -0.01219515, -0.18437841, +0.00617073, -0.17146829, -0.01816917, -0.17655603, +0.01054122, -0.00146254, +0.02441114, -0.04451728, +0.36729268, -0.27971779, -0.09848471, -0.03677326, +0.31114504, -0.02575185, -0.03203791, +0.17080623, +0.00561798, -0.00033354, -0.22911675, -0.20039556, +0.41825148, +0.65624205, -0.07196209, -0.01093714, -0.02644908, -0.14361281, -0.03835433, -0.04602263, -0.09899556, +0.00042690, +0.02253314, +0.02359065, -0.02108886, +0.02649960, -0.08387625, +0.01555532, -0.04180176, +0.01002642, -0.09492775, -0.01319418, +0.00273368, -0.08183901, -0.21556557, -0.02900729, +0.03689718, +0.02047821, +0.36601411, -0.06892737, +0.01011123, +0.00285028, +0.00301229, -0.57034203, +0.00025025, +0.35333682, -0.03671465, +0.20106132, +0.00215516, +0.17340501, +0.00792318, -0.00244628, +0.02997058, +0.02903122, -0.11405733, -0.04333913, -0.03631563, -0.08208442, -0.05936454, +0.38261189, -0.10934128, +0.08790800, +0.02154687, +0.01667989, -0.10298109, +0.51369051, -0.09670378, -0.04395244, -0.06689402, -0.17017976, +0.00950140, +0.03555861, -0.05833998, -0.08039412, -0.03203934, + +0.11557960, -0.21589959, +0.04215900, +0.25670219, -0.11500258, +0.03855559, -0.02848298, -0.01426585, -0.21977837, -0.05855034, -0.15132698, -0.09268563, -0.19815015, +0.00480159, -0.02648613, +0.03669552, -0.04127214, +0.31570748, -0.33366768, -0.10314126, -0.04798801, +0.25086460, -0.01843205, -0.11132900, +0.06795588, +0.00590519, -0.00312298, -0.79837787, -0.94552030, +0.39576727, +0.59050009, -0.15606293, -0.09623281, -0.14383657, -0.40860609, -0.04878521, -0.05873476, -0.14267098, +0.10813580, +0.10612509, +0.00844803, +0.02853649, +0.06134791, -0.04343779, +0.02168642, +0.06178698, +0.02434794, -0.15764880, +0.00768496, +0.04901120, -0.07167951, -0.32490231, -0.06604302, -0.02379683, +0.06501495, +0.04360637, +0.32597436, -0.10244957, +0.01133355, +0.01561626, -0.01363899, -0.67954671, +0.00511062, +0.32925758, -0.05579580, +0.27144753, -0.00106949, +0.08128250, +0.00665310, +0.00642920, +0.02038496, -0.15575576, -0.11947563, -0.01552279, -0.02798109, -0.04162553, -0.07579644, -0.05220947, +0.36916807, -0.09231627, +0.24676884, +0.01883185, +0.08679901, -0.09405384, +0.51115585, -0.09614434, -0.01816560, -0.05487702, -0.18327044, +0.08206545, +0.03266623, -0.03529179, -0.06319463, -0.00518746, -0.00824857, +0.00493278, -0.27930243, -0.00747308, -0.02050266, -0.15882701, +0.01301994, /* S6.TCP_OPT_6 */ - +0.01020517, -0.05850647, +0.00866788, +0.33600641, -0.03533226, +0.02298575, -0.03004592, -0.00086182, -0.17777358, +0.00755328, -0.11592885, -0.01633776, -0.16174464, +0.01325364, +0.00642892, +0.02667751, -0.04170458, +0.37581725, +0.08643028, -0.07210420, -0.03166282, +0.12458437, -0.01575736, -0.02477479, +0.23807536, +0.00791739, +0.00169635, -0.19830569, -0.16787216, +0.43320453, +0.80837702, -0.06520585, -0.00419781, -0.02361995, -0.13739646, -0.01671723, -0.04337377, -0.09351172, +0.00724772, +0.03124279, +0.02461547, -0.00766056, +0.02891793, -0.06334964, +0.01726377, -0.02802976, +0.01364726, -0.09268179, -0.01006648, +0.00546622, -0.07795267, -0.21278557, -0.01487681, +0.03910520, +0.02247254, -0.07159161, +0.02375498, +0.01352613, +0.00773964, +0.00775313, -0.07550614, +0.00564356, +0.38294920, -0.01469131, +0.04300817, +0.00740718, +0.34526437, +0.01396746, +0.00245577, +0.03268204, +0.14641721, -0.09763720, -0.03964548, -0.03219432, -0.07866221, -0.05766450, -0.03927217, -0.10047543, +0.11766119, +0.02414560, +0.02070439, -0.09681192, +0.35167266, -0.09041905, -0.03511167, -0.04904169, -0.13878965, +0.01186329, +0.03704228, -0.03666785, -0.07058844, -0.02028475, + +0.14965858, -0.08080006, +0.03723363, +0.31485795, -0.06566622, +0.03616491, -0.02538974, +0.01678746, -0.21279266, -0.06779383, -0.09760398, -0.09668954, -0.18597482, +0.01359170, -0.01031509, +0.03804142, -0.04406329, +0.32721733, +0.07202316, -0.08076539, -0.04471687, +0.09167703, +0.00220620, -0.09648667, +0.13945127, +0.00731114, -0.00596808, -0.76612833, -0.88346625, +0.39202903, +0.75385008, -0.15297208, -0.07399168, -0.18891198, -0.41611703, -0.01482399, -0.06137069, -0.16126083, +0.09881641, +0.11507109, +0.00925441, +0.04658594, +0.06089169, -0.03110931, +0.02296610, +0.08003495, +0.02396982, -0.15970812, +0.00757534, +0.04803155, -0.07183432, -0.32969371, -0.07629878, -0.00694908, +0.06551173, +0.04062578, -0.16861767, -0.00029125, +0.01876277, +0.02113827, -0.01321963, -0.10292116, +0.01097761, +0.36851258, -0.02299053, +0.08270829, +0.00050198, +0.29895717, +0.02644689, +0.00816197, +0.01059353, +0.03841244, -0.10279971, -0.01462836, -0.03066343, -0.04553699, -0.06172322, -0.05856892, -0.08982751, -0.08604299, +0.27020014, +0.02491026, +0.08435752, -0.09126814, +0.34205633, -0.09030716, -0.01333342, -0.04346780, -0.15505371, +0.07326181, +0.03037912, -0.01530842, -0.06449142, +0.00166296, -0.00565477, +0.00051871, -0.12460353, -0.00443676, -0.04249389, -0.07687960, +0.01353754, /* S6.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_0 */ - -0.00811944, +0.19075519, +0.06887539, +0.00342271, -0.16438455, -0.66864746, +0.05142563, -0.02360116, +0.07180408, -0.08438969, +0.02201242, +0.23197257, -0.37153946, -0.14716366, +0.00506620, +0.00398610, -0.03067360, +0.02270379, -0.02239389, +0.01815842, +0.01988669, -0.38220728, -0.21504063, -0.01646512, +0.10753568, +0.06680503, +0.16098292, +0.03370893, -0.39205055, +0.28164102, +0.28071831, +0.04331622, +0.01385024, +0.07643710, +0.21571597, +0.07317563, +0.00075709, -0.00510152, +0.06625281, +0.00989259, -0.12872852, -0.03029068, +0.02614603, +0.00588178, +0.11865265, -0.00615776, +0.08571171, +0.10910123, -0.04034077, +0.04272252, -0.00735707, +0.07283389, -0.00055217, +0.08849982, +0.02399618, +0.06554098, +0.00778441, +0.08336426, -0.01229611, -0.05525342, -0.03046030, +0.02057587, -0.00554806, -0.06196048, -0.03870612, -0.01403931, -0.00322850, +0.00384248, -0.25782083, -0.05005485, -0.05050253, -0.37021115, -0.01494319, -0.06100919, -0.00124816, -0.03627047, -0.02815058, -0.00753304, -0.05646567, -0.07410977, -0.04059298, -0.00729290, -0.02864908, +0.17925321, -0.01589904, -0.01626242, +0.14697430, +0.02579446, +0.01735762, +0.04096381, +0.24998377, -0.01882068, + -0.01102571, -0.02681785, +0.08938011, +0.00510367, -0.07536204, -0.55225914, +0.06289396, -0.04374072, +0.07329592, -0.07081214, +0.01707039, +0.21413220, -0.31825570, -0.11580873, -0.01290094, -0.01557244, -0.06653647, +0.00696090, -0.00767471, +0.00472204, +0.00811766, -0.31132716, -0.17771230, -0.04265281, +0.13074258, +0.03165183, +0.13390374, +0.08971278, -0.12689325, +0.30113134, +0.20328151, +0.02921004, -0.00716998, +0.08128459, +0.24537763, +0.02766917, +0.00052505, -0.02448281, +0.19841022, -0.01953388, -0.08125369, -0.04063674, -0.00423626, +0.07904598, +0.09656106, +0.07334098, +0.05832227, +0.06249216, -0.05744789, +0.04812401, +0.00402593, +0.08498341, -0.06693208, -0.01065454, +0.05303255, +0.01373256, +0.05916256, +0.00971149, +0.08138819, -0.02785724, -0.18345377, -0.03100663, +0.01208235, +0.00595841, -0.07883505, -0.05371212, -0.02702170, -0.01693473, -0.03843565, -0.25860574, +0.02249178, -0.04083016, -0.26898540, +0.01432478, -0.07873329, -0.06945520, -0.00341776, -0.00612910, -0.03841484, -0.01145742, -0.12118497, -0.04800413, -0.05248606, +0.06441640, -0.02278233, +0.04617502, -0.02182245, -0.03124162, +0.16668270, +0.08112774, +0.02156430, +0.04254441, +0.37576537, +0.03837394, -0.03456591, -0.07080950, -0.08646244, -0.20252528, +0.08449443, -0.00425576, +0.04933730, /* S6.TCP_OPTLEN_1 */ - -0.01166063, -0.35878977, +0.04186427, +0.01429985, +0.23577081, -0.19051425, +0.04335169, +0.00109659, +0.10257793, -0.00939518, +0.03908893, +0.17311609, -0.16171065, -0.01478734, -0.03347396, -0.07559202, +0.03963756, +0.04108441, -0.00968013, -0.00364805, +0.12659148, -0.00507083, +0.30192990, +0.03638532, +0.01481907, -0.06209409, -0.11297341, +0.03417000, +0.21559661, +0.15647852, +0.06064805, +0.05473291, +0.00149651, +0.06718721, +0.16363871, -0.10498979, +0.03240818, -0.00675219, +0.04773648, -0.08341184, -0.03069526, +0.04469133, -0.09864980, +0.02993579, -0.05585064, +0.07789862, +0.08918361, +0.11757251, +0.03296582, +0.08199094, +0.13023256, +0.11342573, +0.06353825, -0.09234939, +0.05292310, +0.03736108, +0.03636917, +0.11617133, +0.11358964, +0.00094852, +0.00146916, -0.24918914, +0.00291220, +0.00738050, -0.00053268, -0.09528720, +0.00317509, -0.05706841, +0.35092910, +0.03430918, -0.00139884, +0.01644110, +0.03629026, +0.01837393, -0.01431690, +0.01577562, +0.00297355, +0.06705156, +0.00099599, -0.00498857, +0.03764363, +0.04660341, +0.00212181, +0.02477418, +0.03667203, +0.03504297, -0.00286135, +0.04916753, +0.04970821, -0.01130353, -0.05138035, -0.00788037, + -0.18558503, -0.57083644, +0.16009630, +0.03283774, +0.30906518, -0.25811404, +0.03322630, -0.02395250, +0.10988377, -0.01975269, +0.12870091, +0.37998958, -0.23082921, +0.00715001, -0.00977912, -0.08530246, +0.04339910, +0.08590582, -0.04479526, -0.00621794, +0.18275081, -0.06293871, +0.39908691, +0.03341372, +0.04546546, -0.05873046, -0.10361923, +0.14012208, +0.36465575, +0.17280569, +0.10231671, +0.08101539, -0.04503273, +0.08839146, +0.16229645, -0.11853950, +0.03143921, -0.05117519, +0.09859194, -0.35482998, -0.02343596, +0.06957027, -0.10247386, -0.00555309, -0.04708454, +0.32936829, +0.07110552, +0.15246931, +0.05678822, +0.08544347, +0.23405197, +0.18353596, +0.05129650, +0.09432880, -0.08383680, +0.04263211, +0.06992693, +0.05561113, +0.12707540, +0.16696962, -0.16852499, +0.01127230, -0.29332241, +0.01306477, +0.06402130, -0.02525639, -0.08353164, +0.00237326, -0.04658229, +0.45344983, -0.12676743, -0.04784065, +0.05275087, +0.28173551, +0.01029785, -0.20483539, +0.13234442, +0.03086550, +0.00735888, +0.11501461, -0.10135582, +0.00090937, +0.00184100, +0.13818600, +0.01605781, -0.07320546, +0.09309156, +0.08805414, -0.04191128, +0.00970451, +0.04572579, -0.02195078, -0.16522397, -0.02233265, -0.04598181, -0.05670806, -0.06050644, -0.11771861, +0.02380903, +0.02588400, -0.05031460, /* S6.TCP_OPTLEN_2 */ - +0.08368359, +0.43703077, +0.10834572, -0.05625931, -0.10513877, -0.39801753, +0.20589172, +0.03544059, +0.24557823, -0.02852693, -0.03757672, +0.34996915, -0.20398779, -0.03487192, -0.06003366, -0.12032426, +0.11054965, -0.02947337, -0.06065564, -0.19105001, +0.00161685, +0.31613648, -0.13755202, +0.11785203, -0.14266449, -0.09976594, -0.20883931, -0.06831315, +0.36410168, +0.12224552, -0.21157219, +0.25639745, +0.08858663, +0.13066164, +0.34677236, -0.16464041, +0.07761950, +0.40827185, +0.22462835, +0.22432325, -0.07775164, -0.00563060, -0.13658800, -0.03441785, -0.10861277, +0.23266834, +0.14845086, +0.24485769, +0.12793277, +0.14568135, +0.32006655, +0.28294578, -0.03017137, -0.13910637, +0.08100871, +0.01665680, -0.00930597, +0.20337840, +0.23300688, +0.05239656, -0.07131738, -0.39508318, -0.08507784, +0.03544666, -0.03441018, -0.15479261, -0.05097902, -0.09940390, -0.20797939, +0.11214460, -0.11830692, +0.02953995, +0.14171585, +0.10351193, +0.15686202, +0.06829949, -0.01056992, -0.00302932, -0.08296024, -0.02756691, +0.25160579, -0.05160993, -0.04043473, -0.27415272, -0.03480306, -0.18054896, +0.19599748, +0.09920403, +0.06824548, +0.06772178, -0.17198551, +0.07234095, + +0.01193375, +0.57738067, +0.18176532, -0.05174771, -0.14736693, -0.35819024, +0.22299775, -0.02840570, +0.21622291, -0.01354014, +0.00749273, +0.25654657, -0.17289660, -0.00011509, -0.01371295, -0.07493716, +0.07162002, -0.03405050, -0.05329009, -0.17922356, +0.00804025, +0.31443960, -0.16353617, +0.12962028, -0.13128247, -0.04165039, -0.15553036, +0.15663305, +0.30367553, +0.16575298, -0.26202799, +0.25244057, -0.00892861, +0.08055635, +0.22944506, -0.13075535, +0.03269443, +0.40388256, +0.13468164, +0.15161766, -0.05885495, -0.00518229, -0.07944352, -0.05797565, -0.07026556, +0.25629674, +0.04188988, +0.12753563, +0.10523734, +0.08793680, +0.28563511, +0.23178126, +0.12541407, -0.02896515, -0.09456876, -0.00159068, +0.08821340, +0.02253350, +0.19655989, +0.23313582, -0.08302100, -0.02928783, -0.36278059, -0.07943290, +0.05748641, -0.01469585, -0.10484638, -0.07438671, -0.05777750, -0.27878961, +0.03763304, -0.19654546, +0.07566227, +0.10958431, +0.08745434, +0.11808990, +0.27999388, +0.06089136, +0.04445277, +0.01127967, -0.16721000, -0.03510326, +0.17477158, +0.01678660, +0.00548743, -0.37095975, -0.01005315, -0.17588040, +0.19074435, -0.03081713, +0.03291189, +0.05083733, -0.08909291, -0.05327419, +0.04766131, +0.10153480, -0.26022487, -0.12186601, +0.12105920, +0.10737985, -0.07826497, /* S6.TCP_OPTLEN_3 */ - -0.05687272, -0.19436417, -0.07026279, -0.19044710, -0.07188456, -0.03151338, -0.11132524, -0.04551622, -0.11947765, +0.00553056, +0.26599258, -0.06373135, -0.17388935, -0.00038911, -0.01749950, -0.01316726, -0.09151962, +0.01337191, +0.16653052, +0.08357485, +0.26974177, +0.11096607, -0.07305026, -0.08596329, -0.02922585, -0.05587636, -0.04315649, +0.57508248, +0.58632080, +0.09883842, -0.52582141, -0.16091608, -0.06794543, -0.02123661, -0.08020942, -0.06441387, -0.04185988, -0.37521157, -0.13619320, -0.21708613, +0.02055905, +0.21064323, -0.12663677, +0.25173886, -0.00723814, -0.14979791, -0.04430138, -0.07475940, -0.13932770, -0.05850035, -0.17292048, -0.13347868, +0.14462788, -0.04664475, +0.00146396, +0.33995747, +0.25115450, -0.01195306, -0.05151117, -0.08193128, +0.17670579, -0.09242066, -0.12429953, -0.07798938, +0.08382768, -0.06034516, -0.16013904, -0.02447806, -0.02811875, -0.08744999, +0.57304277, +0.09176394, -0.16746588, -0.15996176, -0.25365575, -0.12664831, +0.06116516, +0.31856555, +0.33573004, +0.01265509, -0.24695043, +0.33737817, +0.19676887, +0.02997020, +0.25242335, +0.20448246, -0.16453004, -0.04570771, +0.01278862, -0.09240580, +0.08633740, -0.09485043, + +0.02137710, -0.19262347, -0.02610062, -0.22557566, -0.04134169, -0.00940678, -0.07152352, -0.01605095, -0.08914043, +0.03208595, +0.22819108, +0.08846632, -0.16907416, +0.00133205, -0.01826681, -0.00075050, -0.07972630, -0.01208293, +0.12114528, +0.06803618, +0.22362417, +0.08642421, -0.05070622, -0.03698478, -0.05127431, -0.09526541, -0.02542325, +0.42745683, +0.48523929, +0.10099290, -0.65577521, -0.09027298, +0.02888140, +0.18964947, +0.30551153, -0.06874171, +0.01449747, -0.31529503, +0.00263269, -0.21487780, +0.12545363, +0.19825621, -0.15243594, +0.21108895, +0.00322766, +0.01420766, -0.06771568, +0.09916322, -0.13842007, -0.04543110, -0.16941900, -0.01448055, -0.15669223, +0.13982905, -0.04025282, +0.08661257, +0.30583076, +0.21616703, +0.00851383, -0.04410453, -0.15101306, +0.10536624, -0.08628038, -0.20362789, -0.09197649, +0.02281929, -0.06753077, -0.12619002, -0.03055982, +0.06903025, -0.06471729, +0.19698822, +0.08627367, -0.09427792, -0.16872506, -0.32264089, -0.07038187, -0.11378492, -0.02334814, +0.24585923, +0.15866449, +0.03210485, -0.16779123, +0.31153701, +0.20846027, -0.04050788, +0.19444695, +0.16192342, -0.11978509, +0.01950262, +0.14227606, -0.06051845, +0.09421744, +0.01286979, -0.11059445, -0.11723372, +0.55033470, -0.06639729, -0.09380805, -0.09494991, +0.02471085, /* S6.TCP_OPTLEN_4 */ - -0.00472011, -0.11846706, -0.00005563, -0.14228105, -0.04547207, +0.01313487, -0.05347133, -0.01973499, -0.10276344, +0.01273197, -0.22543561, -0.00003509, -0.14698199, +0.00751276, -0.00144853, +0.02182761, -0.06328738, +0.04478877, +0.37675069, -0.11329132, -0.02508266, +0.03930091, -0.02872953, -0.02055568, +0.01416238, +0.00047400, -0.02136543, +0.62842366, +0.65816911, +0.10947524, -0.44148091, -0.03875513, -0.01541400, -0.00554592, -0.05779974, -0.03604104, -0.02199261, -0.04691792, -0.00467108, +0.00514227, +0.02842217, -0.03829912, +0.02258409, -0.13313375, +0.00927155, -0.04774900, -0.02550444, -0.05967571, -0.04546586, -0.04447440, -0.03181863, -0.11689208, -0.03739237, +0.03343996, +0.02152766, +0.40269895, +0.29776095, +0.00678784, -0.00006215, -0.04144512, +0.60009272, -0.00709071, -0.09916088, -0.05656700, +0.14099012, -0.02364806, -0.13862336, +0.00203128, -0.00472771, +0.03627888, +0.84656073, -0.11276499, -0.08812470, -0.09117877, -0.21253419, -0.08004921, +0.28444415, -0.20756704, +0.47550537, +0.01850816, +0.01186331, -0.15687172, -0.58878281, -0.18181036, -0.08661728, -0.10569767, -0.08457089, -0.00520747, +0.03619798, -0.02945248, -0.10527530, -0.05127529, + +0.11887244, -0.16067401, +0.10427872, -0.17160545, -0.01538697, +0.02227533, -0.04379974, -0.01647387, -0.09105699, +0.05918033, -0.19224406, +0.05490082, -0.14085741, +0.00749387, -0.01317040, +0.05111142, -0.07603716, +0.03680044, +0.35310743, -0.09098307, -0.00849206, +0.02925754, +0.01545269, +0.03856285, +0.01507814, +0.00795911, -0.02682782, +0.45968318, +0.50791718, +0.09874257, -0.53173711, -0.02514581, +0.07875252, +0.13565635, +0.01176431, -0.03215845, +0.02520732, -0.05681386, +0.16311137, +0.13593470, +0.19336812, +0.03849840, +0.06994538, -0.11443012, +0.01761403, +0.07429856, -0.07012187, +0.08333731, -0.02640839, -0.04982701, +0.00595475, -0.07144886, -0.10819075, -0.02461748, +0.06738984, +0.08542412, +0.40170765, +0.26963246, +0.01654015, +0.03294872, -0.10025054, +0.50464242, -0.00014962, -0.18933868, -0.09079542, +0.10926025, -0.04609714, -0.16920523, +0.00676895, +0.08492211, +0.21562801, +0.26917776, -0.08520500, -0.06057653, -0.10497139, -0.18829589, -0.05423392, -0.07539873, +0.23752949, -0.17502412, +0.29469982, +0.03593148, +0.11056889, -0.15617512, -0.66536309, -0.19809765, -0.06839226, -0.10680207, -0.06746627, +0.01596365, +0.19663666, +0.00493620, -0.16957736, +0.02110513, -0.05695464, +0.05915452, +0.67505574, -0.02054197, -0.02935215, -0.09967074, +0.03332027, /* S6.TCP_OPTLEN_5 */ - +0.01639907, -0.02237723, +0.01976379, +0.07000977, -0.01438673, +0.03097949, -0.01164620, +0.00754077, -0.07256317, +0.02017668, -0.09835022, +0.01521587, -0.09516739, +0.01672537, +0.01245860, +0.03422607, -0.01379406, +0.14970804, +0.18071887, -0.05155073, -0.00643710, +0.13007721, -0.00395016, -0.00107445, +0.08029628, +0.01723972, +0.01823487, +0.16761026, +0.19382233, +0.19285780, +0.10446051, -0.02026614, +0.00351789, +0.00882538, -0.04307666, -0.00667009, -0.00512729, -0.02644759, +0.01481672, +0.04000411, +0.03418386, -0.00023005, +0.03401002, -0.05274888, +0.02350860, -0.01419661, +0.02447395, -0.02739258, +0.00245232, +0.01608816, -0.01145574, -0.08363006, -0.00496480, +0.04419392, +0.03801202, +0.09039594, +0.12149365, +0.02269674, +0.01561722, +0.01911505, +0.15240741, +0.01189666, +0.10531487, -0.00086528, +0.06469757, +0.01469873, +0.08141125, +0.01884873, +0.01123576, +0.05869863, +0.36230750, -0.06130906, -0.02264345, -0.01374898, -0.06787371, -0.02431976, +0.03283159, -0.08852367, +0.22310703, +0.02791607, +0.02853316, -0.06558490, +0.08771093, -0.07381248, -0.02700014, -0.03919427, -0.06072134, +0.02393752, +0.04893236, -0.00737116, -0.03491967, -0.00806871, + +0.09777025, -0.04882920, +0.06563980, +0.04499802, -0.02518622, +0.03464077, -0.00678970, +0.01523654, -0.08347833, +0.01009171, -0.08479616, +0.00217827, -0.10601637, +0.01738984, +0.00215771, +0.04721685, -0.02073727, +0.13752596, +0.17385439, -0.04857599, -0.00582319, +0.11773671, +0.01549517, -0.00355340, +0.04637156, +0.01826655, +0.01102675, -0.02904430, +0.09087701, +0.18085593, +0.11958095, -0.04476942, +0.01432912, -0.00581267, -0.11747234, -0.00561696, +0.00341232, -0.05195204, +0.09785254, +0.10770536, +0.08237147, +0.04285168, +0.05934430, -0.03672880, +0.02839765, +0.06597843, +0.01080468, -0.00682807, +0.01304733, +0.02755285, +0.00300142, -0.10922218, -0.04230312, +0.00186284, +0.06626312, +0.06351594, +0.08883280, +0.10835586, +0.02725938, +0.03003909, -0.01541015, +0.14158389, +0.01597255, +0.08735583, -0.01714869, +0.07113038, +0.00411407, +0.05617931, +0.02410696, +0.04316507, +0.11399465, +0.31251272, -0.05835207, -0.01004349, -0.01817713, -0.05447233, -0.02387220, -0.02437064, +0.00235072, -0.07834156, +0.29888195, +0.03335900, +0.08016116, -0.06683542, +0.10831388, -0.08363856, -0.01548257, -0.03947609, -0.06185625, +0.05006355, +0.09868198, +0.00974917, -0.05124432, +0.02472764, -0.00567174, +0.04030816, +0.29194593, +0.00388627, -0.00324490, -0.04597136, +0.03139850, /* S6.TCP_OPTLEN_6 */ - +0.01177988, -0.03205134, +0.00944443, +0.36266139, -0.02292923, +0.02350895, -0.02826584, +0.00151401, -0.17383998, +0.00786596, -0.10493794, -0.01576917, -0.15802626, +0.01378327, +0.00768259, +0.02740692, -0.04089443, +0.37859189, +0.14845177, -0.06699653, -0.03059757, -0.02659324, -0.01301585, -0.02338239, +0.28478964, +0.00842967, +0.00225855, -0.18926450, -0.15755054, +0.43883344, +0.90898843, -0.06385576, -0.00280587, -0.02278357, -0.13336084, -0.01351663, -0.04243266, -0.09244309, +0.00865849, +0.03316001, +0.02490953, -0.00493187, +0.02948024, -0.05900587, +0.01768752, -0.02582697, +0.01555380, -0.09190357, -0.00885415, +0.00626934, -0.07596916, -0.21178737, -0.01250531, +0.03962274, +0.02312097, -0.12975174, +0.03796495, +0.01430202, +0.00873381, +0.00902758, +0.09829651, +0.00673358, +0.39558938, -0.00744568, +0.02783194, +0.00952889, +0.37342129, +0.01505327, +0.00387227, +0.03386156, +0.17016905, -0.08703208, -0.03748308, -0.03022019, -0.07718278, -0.05724203, -0.03345577, -0.09856149, +0.12513484, +0.02474354, +0.02157633, -0.09495277, +0.06181597, -0.08864948, -0.03306745, -0.04585377, -0.11562093, +0.01250911, +0.03760620, -0.02093352, -0.06470202, -0.01710881, + +0.16709136, -0.04199756, +0.03616343, +0.35558500, -0.02785209, +0.03563151, -0.02467595, +0.02126009, -0.20595466, -0.07005360, -0.08772508, -0.09789004, -0.18253331, +0.01483714, -0.00803857, +0.03894569, -0.04495463, +0.33064086, +0.13830953, -0.07593802, -0.04403023, -0.04588575, +0.00988215, -0.09390838, +0.19061823, +0.00751767, -0.00634472, -0.74409124, -0.82090898, +0.38939138, +0.85162479, -0.15297144, -0.07285222, -0.19623173, -0.41290711, -0.01006736, -0.06168820, -0.16853919, +0.09569046, +0.11609280, +0.00764333, +0.04974614, +0.06057325, -0.02621843, +0.02319922, +0.07591148, +0.02415323, -0.16006865, +0.00774527, +0.04765237, -0.07189572, -0.33120569, -0.07929142, -0.00430255, +0.06556770, +0.04004791, -0.24694390, +0.01465516, +0.01981105, +0.02214474, -0.01311629, +0.08955379, +0.01211475, +0.38340232, -0.01083168, +0.06123553, +0.00197132, +0.33530676, +0.02913329, +0.00863391, +0.00910905, +0.07861107, -0.08918880, -0.01423130, -0.03036824, -0.04564662, -0.04957203, -0.06026627, -0.07604813, -0.08428240, +0.27449198, +0.02611644, +0.08351397, -0.08991692, -0.05310506, -0.08861982, -0.01233217, -0.04143898, -0.13153497, +0.07064467, +0.02975012, +0.00133921, -0.06187840, +0.01151848, -0.00212263, -0.00209496, -0.09386603, -0.00348886, -0.05060675, -0.06647698, +0.01355094, /* S6.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_MSS */ - -1.09456605, -2.86905331, -0.19692212, -0.01177386, -0.00573320, -0.15237551, -0.16315964, -0.01420809, -0.18952493, -0.02699737, -0.20700755, +0.13678958, -0.19275539, -0.06639490, -0.03796599, -0.18005581, -0.04081926, +0.00059545, -0.04392425, -0.05775822, -0.02802735, +0.00014425, -0.00981872, -0.17144062, +0.01586731, +0.03294565, +0.06648039, +0.78409970, -1.11410245, +0.14358732, +0.01381263, -0.02798662, -0.12494931, -0.28437658, -0.04688241, -0.19501277, +0.01077026, -0.03894622, -0.48730412, +1.24177686, -0.04971345, +1.16127168, +0.63721115, -0.85259124, +0.07963947, -1.11362075, -1.14831739, -0.57691194, +1.67241715, -0.44013378, -0.01982833, -0.22408554, -0.04623234, +0.05177465, +0.01705651, +0.03158826, -0.01742628, +0.06242489, -0.03542051, -0.10782295, +0.01096195, -0.04211286, +0.00366894, -0.05863324, -0.00973508, -0.20518394, -0.00891403, -0.00871690, -0.02566287, -0.66611674, -0.58384622, -0.00369653, -1.60862375, -0.39333243, -0.39712859, -0.05064617, -0.00554044, -0.06490922, +0.49253084, -0.02154126, +1.34785225, +0.00507505, -0.01262458, -0.61597339, -0.04299319, +0.46870555, -0.03723509, +0.07650116, -0.25654140, -0.02597854, -0.04915525, -0.02487594, + -1.56677224, -3.45381130, -0.28111602, -0.01304556, +0.01035060, -0.18372529, -0.14178096, +0.01372528, -0.16862369, +0.00064740, -0.29097692, +0.36735865, -0.30227442, -0.08227970, -0.01739048, -0.19526759, -0.03649303, -0.00891128, -0.05687279, -0.06707886, -0.01963395, +0.00309414, -0.03131245, -0.16563641, +0.05533509, +0.02504814, +0.08043987, +1.27833273, -1.37569011, +0.17107917, -0.02942776, +0.01665975, -0.01920530, -0.26770936, +0.07832276, -0.30039110, +0.02436414, -0.01201732, +0.01694311, +1.09806961, -0.10017505, +1.29870326, +0.72458219, -1.21143980, +0.11803422, -1.32236423, -1.19630173, -0.56853752, +1.68720622, -0.30358440, +0.03586919, +0.01387645, -0.29188117, -0.05571651, +0.07203298, +0.04163499, +0.05437069, -0.02493671, +0.07326329, -0.05588315, -0.34373125, +0.10374452, -0.04704823, +0.03320639, -0.03410639, -0.00826651, -0.24550689, -0.01270412, -0.04686424, -0.03340556, -1.02318840, -1.11107065, +0.03341961, -1.86226866, -0.41373364, -0.42372501, -0.13016269, -0.01503642, -0.00704084, -0.08775169, +0.15878451, +0.01665109, +1.45327268, +0.04557219, -0.02243926, -1.01605359, -0.05517151, +0.76873000, +0.01102628, +0.21315395, -0.21137595, -0.03378840, +0.02351071, -0.39724127, -0.03834568, -0.08441129, +0.06934603, -0.16113950, +0.02936735, -0.01945434, -0.02408124, /* S6.TCP_SACKOK */ - +0.02848277, +0.05228126, +0.11156249, +0.02326297, +0.03058658, +0.12757260, +0.07238898, +0.01895982, +0.09317121, -0.00394740, -0.20978684, +0.15722894, -0.14518428, -0.00926210, -0.02443417, -0.04406853, +0.04154006, +0.05780186, +0.09705820, +0.13606074, +0.16374470, +0.02176259, +0.03507849, +0.03505202, +0.02469407, -0.03148660, -0.07857856, +0.10823482, -0.25590920, +0.16266841, +0.07424057, +0.07753927, +0.03774618, +0.08090387, +0.15212927, -0.08979760, +0.03365680, +0.04835758, +0.06926245, +0.07529280, -0.02148485, -0.08303228, -0.02310722, -0.15547951, -0.03944572, +0.06885368, +0.10496115, +0.10854500, +0.03584995, +0.08169508, +0.18929424, +0.10054748, +0.08468125, -0.07978427, +0.05706310, +0.06215137, +0.05953178, +0.13247650, +0.10712279, +0.02329173, +0.06207688, -0.21759742, +0.01811928, +0.01541829, +0.02018588, -0.06906522, +0.01522230, -0.04543015, +0.02434702, +0.04743071, +0.03936921, +0.05759487, +0.03312054, +0.01848408, +0.05891651, +0.01856846, +0.00872792, -0.20860208, +0.02389920, +0.00055316, +0.01799488, -0.19502205, +0.03533246, +0.27032701, -0.13718017, +0.10055246, +0.05409698, +0.06411920, +0.05051175, +0.02207255, +0.04420671, +0.02313645, + -0.02113732, +0.17470312, +0.27860299, +0.02293051, +0.04979966, +0.17298860, +0.10244964, -0.00476202, +0.09432126, -0.01350804, -0.27937244, +0.22511965, -0.19303033, +0.01133188, -0.00750876, -0.02017645, +0.03254536, +0.10555847, +0.12231840, +0.18702509, +0.23738124, +0.00552754, +0.03928983, +0.00679566, +0.04423705, -0.00016407, -0.06505562, +0.33481456, -0.08248125, +0.17276900, +0.11993904, +0.09657606, -0.04128455, +0.07513082, -0.03024428, -0.10422841, +0.02214844, +0.04969355, +0.01826623, +0.24844214, +0.00841673, -0.10105797, +0.02989212, -0.19511635, -0.02519143, +0.08658451, +0.17627941, +0.11656857, +0.06624892, +0.06977716, +0.38275487, +0.10844268, +0.01908035, +0.12874860, -0.07525264, +0.04179194, +0.13411397, +0.08054927, +0.13325631, +0.13294141, -0.17003387, +0.20328933, -0.23974668, +0.02144267, +0.03868501, -0.00305563, -0.05337188, -0.04684634, -0.03666871, +0.01486917, -0.14352878, +0.00860406, +0.10979393, +0.25046000, -0.00409667, -0.10020458, +0.14016208, +0.02270634, +0.01919930, -0.30224703, -0.17799994, +0.00731025, -0.06652662, -0.25015436, +0.16308203, +0.30161158, -0.18716287, +0.21006921, +0.04973939, +0.09972241, +0.03607718, +0.03030151, +0.12918091, +0.09199915, +0.00753031, -0.04964613, +0.00994182, -0.07924442, +0.10940137, +0.02635705, -0.03287943, /* S6.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* S6.TCP_CORR_WINDOW_MSS */ - +0.22458745, +0.20835284, -0.02477809, +0.61582751, -0.08740233, -0.23985502, -0.12561053, +0.22566286, -0.02141406, -0.02901108, +0.00658251, -0.15702646, -0.20125799, -0.06684468, +0.02302886, +0.01161534, +2.00028316, +0.02341960, +0.04876939, -0.05858835, -0.00896946, +0.00641053, -0.03676978, -0.03653352, -0.06217450, +0.03291319, +0.08761259, -0.38755419, -0.08696344, -2.27450239, +2.11146066, -0.11468058, -0.10777697, -0.09519366, -0.34835944, +0.00621468, -0.22930977, +0.80122133, -0.22223642, -0.35357898, -0.04660226, -0.03236897, -0.01656905, -0.02459804, +0.09818861, -0.12188070, -0.55930019, -0.29398952, -0.11674002, -0.32246428, -0.36243746, +0.00842209, +0.05751700, +0.13127623, -0.08409452, -0.24087515, -0.06042415, +0.06232839, -0.00001956, +2.81347837, -0.05444807, +0.00986641, -0.07269385, +2.43566066, +0.15339871, +0.10241756, +0.12281211, +0.00554448, +0.11548379, +0.07906878, +0.47129979, +0.36411041, +0.20269236, +0.20312900, +0.18630393, +0.42761969, -0.01316634, +0.39731718, -0.43726259, -0.02328486, -0.06369403, -0.03952439, -0.00954525, -0.20744207, -0.01139649, -0.03647831, -0.05288325, -1.51975383, -0.36327515, +0.04313057, -0.22933387, -2.55669574, + +0.30989986, -0.28427862, -0.22104314, +0.72600662, -0.15090642, -0.30262528, -0.14128288, +0.18926984, -0.00791126, -0.02787838, -0.02248824, -0.13247771, -0.30421956, -0.06668944, +0.01252998, +0.01817086, +2.64528814, +0.04170833, +0.02742444, -0.14631319, -0.02497611, +0.00336827, -0.08410363, -0.06833864, -0.10788507, +0.00405493, +0.18203980, -0.36839211, -0.11524484, -2.54605516, +2.40956501, -0.18616880, +0.12736470, -0.11486820, -0.30722871, -0.02850581, -0.32805287, +0.92753342, -0.18671077, -0.58525193, -0.00402356, -0.03465622, -0.02316035, -0.12885775, +0.14536706, -0.12467551, -0.58627440, -0.33293317, -0.19900860, -0.33163953, -0.44751366, -0.07777979, -0.26059708, +0.09715055, +0.25357653, -0.08384407, -0.34119673, -0.06020838, +0.07363425, -0.01044036, +2.86140419, -0.11621521, +0.01845598, -0.09157424, +2.56621569, +0.15950255, +0.07155555, +0.13046238, -0.00950764, +0.18745687, -0.16531071, +0.63845257, +0.53250934, +0.06846099, +0.18091156, +0.25941200, +0.05574129, +0.77614376, -0.04201114, +0.60342660, -0.82396927, -0.00653177, -0.15154353, +0.02901092, -0.11638217, -0.76359343, -0.00265785, -0.16877020, -0.10466228, -2.53023523, -0.36630094, +0.05338842, -0.13494738, +0.07250788, -2.60918394, +0.32185676, -0.27824305, -0.16852311, -0.88448412, -0.49989405, -0.04740672, /* TECN.TCP_WINDOW */ - -0.78463224, +1.93028484, -0.61446463, +0.35966183, +0.56574741, +0.51988075, -0.62906941, +0.09524083, -0.66781824, -0.08417263, -0.45427424, -0.93699031, -0.07091255, +0.16550443, -0.12417911, -0.14290536, +0.32316472, -0.09690498, +0.25837700, -0.23182187, -0.07025428, +0.10700160, +0.25633038, -0.20249270, -0.07502279, -0.05522993, +0.01224955, +0.60598445, +0.54480957, -2.35474408, +1.28712985, -0.40638662, -0.64286492, -0.95633996, -2.70416221, +0.03213569, -0.28204985, +0.38376738, -2.21012477, +1.74596916, -0.16943435, +0.10889552, -0.06740003, +0.38675670, -0.29842288, -0.06135976, +0.08687312, -2.29359421, +0.38301685, -2.28538637, -2.00583672, -0.14662835, -0.15602090, +0.07661979, -0.55718837, -1.09765580, -0.39740893, -0.34741390, -0.07405347, +0.24233303, -0.12513234, -0.09157077, -0.18350412, +0.06275894, +0.95975471, +0.61984881, -0.03313090, -0.07541531, -0.64946935, +0.48350997, +0.13923072, +0.12123961, -0.65455617, +1.07422678, +1.60678142, +0.20408815, +0.03025689, +0.16126613, +0.12645837, -0.09276920, -0.00621864, -0.12195544, +0.06641073, +0.74454606, -0.15706919, +0.39092446, +0.12059300, +0.59872328, -2.40345420, +0.38829439, +1.18894545, +0.26678844, + -0.74090453, +2.01104229, -2.05904992, +0.36967196, +0.54889843, +0.58230804, -0.60827064, +0.10662313, -0.69264228, +0.00028761, -0.53537412, -1.14075660, -0.08184802, +0.18642065, -0.13069227, -0.14937366, +0.19990545, -0.11843243, +0.23829800, -0.29352292, -0.05304933, +0.07729724, +0.24651823, -0.09673765, -0.08316719, -0.09086206, -0.08526346, +0.78293270, +0.54811599, -2.51717113, +1.28356129, -0.47922337, -1.36658316, -1.12339759, -2.60682272, -0.06455275, -0.29209429, +0.38864898, -4.31375076, +1.79208911, -0.11401199, +0.06700282, -0.09431988, +0.47502149, -0.35263511, -0.02015401, +0.31818473, -2.26764435, +0.34400882, -2.51073556, -2.41938447, -0.99019088, +0.37387682, -0.18881144, +0.11838666, -0.62657393, -1.22734727, -0.43752105, -0.36742879, -0.10753172, +0.09914962, -0.09965756, -0.11412815, -0.26710535, +0.02885972, +1.20108139, +0.69394945, -0.00566109, -0.10160628, -0.68445423, -0.13226371, +0.03548228, +0.11260219, -0.25574063, +1.08102571, +1.49891254, +0.78703437, +0.16240914, +0.05807913, +0.13383895, -0.06272180, -0.06173117, -0.02615904, -0.14228687, +0.05265436, +0.89870439, -0.17921013, +0.30029079, +0.13329338, +0.71242132, -2.42170615, +0.36667402, +1.56488665, +0.60805460, +0.30752106, +0.04135691, +0.18203547, -0.09610834, +0.37068699, -0.18127894, -0.02797284, /* TECN.TCP_FLAG_F */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_S */ - -0.03546503, -0.12025817, +0.00197221, -0.03354387, -0.04267406, +0.14398661, +0.02458060, -0.03389535, +0.05604921, -0.14832115, +0.01620778, -0.00969395, -0.17699264, +0.33062460, -0.01228607, -0.00685455, -0.01238670, +0.01163123, -0.03630344, -0.00296745, +0.01019644, -0.01116938, -0.01978024, -0.02570228, -0.01902348, -0.00363131, +0.35565697, +0.01536377, -0.23641838, +0.19841612, -0.01178469, +0.02182652, -0.00741636, +0.05295407, -0.01503770, +0.03068663, -0.01185688, -0.05446226, +0.02443782, -0.07472868, -0.28932674, -0.03430655, +0.02393855, -0.00445190, -0.43799467, -0.02017009, +0.07685164, +0.10086740, -0.04866366, +0.03549061, -0.03128307, +0.06390200, -0.01066025, +0.19997082, +0.00926591, +0.01853625, -0.01723693, +0.07552868, -0.01893099, -0.08058217, -0.03662419, +0.00873768, -0.02935137, -0.06683925, -0.04151401, +0.02181239, -0.00959425, +0.00153547, -0.01410780, -0.07969540, -0.07783703, +0.00985989, -0.04030885, -0.07195808, -0.06860140, -0.05808044, -0.02943237, -0.02343540, -0.06603541, -0.17017689, -0.04438253, -0.02306971, -0.03466114, +0.00592385, -0.02204022, -0.02288424, -0.01313542, -0.04534201, +0.01146299, -0.05321204, -0.05887447, -0.04065261, + -0.03176342, -0.30046887, +0.02220588, -0.03998160, -0.04580889, +0.04736029, +0.02454353, -0.04803922, +0.05230181, -0.10609964, +0.01162928, +0.00517197, -0.16646994, +0.29296135, -0.03047956, -0.04253921, -0.01768000, -0.00701736, -0.04169321, -0.01727811, -0.00115934, -0.01782548, -0.03930775, -0.04641373, -0.01587288, -0.03147191, +0.23561216, +0.05098908, -0.14410472, +0.24294370, -0.04804580, +0.02617520, +0.01332265, +0.06509988, +0.03325007, -0.03839668, -0.00849904, -0.06541442, +0.13616514, -0.07077209, -0.19688264, -0.04077198, -0.00442567, +0.04409856, -0.40916022, +0.03248696, +0.08230181, +0.06684730, -0.05910501, +0.06199503, -0.00726642, +0.10283611, -0.04289833, -0.02286867, +0.12295319, +0.00009339, +0.02970517, -0.02508514, +0.07850258, -0.03022403, -0.19934540, -0.03444096, -0.00367657, -0.02323516, -0.07244921, -0.05583216, +0.01609857, -0.02070991, -0.05406945, -0.00474582, -0.05152679, -0.05357690, +0.02177470, -0.00590627, -0.08398892, -0.13563882, -0.06265782, -0.04787352, -0.03583333, -0.02999629, -0.09422636, -0.19541200, -0.04790253, +0.00334284, -0.03093130, -0.07505098, -0.03095470, -0.03337205, -0.01078084, -0.05746841, +0.02586932, -0.05635268, -0.04413617, -0.04977805, -0.05562882, -0.08525954, -0.11823790, -0.13018193, -0.01624456, -0.03677231, +0.10431594, /* TECN.TCP_FLAG_R */ - +0.00331063, +0.00364055, +0.00388238, +0.00076735, +0.00359263, +0.34953732, +0.03508578, +0.00364311, +0.05876926, -0.06469458, +0.02667269, +0.02085137, +0.22282990, +0.17787634, +0.00822934, +0.01456669, +0.02357087, +0.01840475, +0.00215064, +0.01199027, +0.02167048, +0.00397253, +0.00501351, +0.00525781, +0.00418779, +0.01704681, +0.12347941, +0.01499057, -0.19620827, +0.03703580, -0.03819936, +0.03026159, +0.00985061, +0.04589515, +0.02493412, +0.02774236, +0.01744007, +0.00247048, +0.03165875, +0.00357896, -0.13329235, +0.00379206, +0.03424977, +0.01357293, -0.25376174, +0.00177128, +0.07089393, +0.08442460, +0.00603082, +0.05974284, +0.01574213, +0.06980948, +0.00550417, +0.04797065, +0.03584169, +0.01063071, +0.00532153, +0.04789303, +0.00780102, +0.00419742, +0.00255921, +0.01798978, +0.00149337, +0.00265189, +0.00132228, +0.03823630, +0.00033489, +0.01452498, +0.01007868, +0.00788191, +0.00328910, +0.02137711, +0.00946947, +0.00504588, +0.00484928, +0.00305432, +0.00100991, +0.00776631, +0.00332456, -0.06768428, +0.00339423, +0.00672224, +0.00044812, +0.02297012, +0.00420300, +0.00514460, +0.02695121, +0.00612410, +0.04206394, +0.00419209, +0.00740256, +0.00303644, + +0.02908409, -0.05742251, -0.01692708, -0.00158419, +0.00374014, +0.43777889, +0.04184576, -0.00601274, +0.06141554, -0.07366982, +0.03735068, -0.01150255, +0.41011922, +0.25226417, +0.00001135, -0.00722274, +0.08253843, +0.00389768, +0.00175337, +0.02326036, +0.02908409, -0.00627199, -0.01342962, -0.01595108, +0.00371195, +0.01758232, +0.06744244, +0.00500168, -0.13678147, +0.05287059, -0.04544598, +0.03555822, +0.09125416, +0.07666665, +0.05266821, +0.04198048, +0.04095501, +0.00344354, +0.11556982, +0.03408098, -0.13610308, +0.00627687, +0.05042487, +0.04273513, -0.39504024, -0.15994506, +0.14725831, +0.14443785, -0.00842020, +0.13599649, +0.01704519, +0.18164700, +0.03552179, -0.00752000, +0.01078568, +0.06308064, +0.02948815, +0.00367821, +0.05803040, +0.01304343, -0.15955903, -0.01183458, +0.01695132, -0.03348515, -0.00226661, +0.00388795, +0.03945747, -0.00554199, -0.02728616, +0.02154966, -0.05955533, -0.06046991, -0.02951711, -0.02520825, +0.00323915, -0.02661702, -0.00031772, -0.02807510, -0.00423183, +0.00480783, +0.01246509, -0.09360494, -0.01049455, -0.07752476, -0.02295277, +0.33773589, -0.03218718, -0.00101178, +0.03557213, +0.01618778, +0.05783552, -0.01291952, -0.11806420, +0.00524852, +0.00355664, -0.01333951, -0.11206600, +0.22552386, -0.05040142, +0.01005094, +0.05553269, /* TECN.TCP_FLAG_P */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_A */ - -0.03613254, -0.12086493, -0.03822097, -0.03723578, -0.04387617, +0.10344587, +0.02333072, -0.03452242, +0.05211087, -0.15495382, +0.01384847, -0.01114307, +0.02257450, +0.32822054, -0.01303887, -0.00955635, -0.01358433, +0.00998228, -0.03750794, -0.00378164, +0.00892640, -0.01494493, -0.02159646, -0.02755545, -0.02503426, -0.00476486, +0.31699686, -0.03736367, -0.25878193, +0.14360430, -0.05560469, +0.02033611, -0.00851861, +0.03907778, -0.01771129, +0.02963888, -0.01283664, -0.05495120, +0.02340782, -0.07538519, -0.29520066, -0.03531145, +0.02223590, -0.00702453, -0.44660070, -0.02285907, +0.05569996, +0.09974350, -0.05013556, +0.03359603, -0.03827773, +0.06200219, -0.01268643, +0.19615730, +0.00676994, +0.01596197, -0.01847449, +0.05498250, -0.02076197, -0.08148969, -0.03851653, +0.00328263, -0.03263189, -0.06710788, -0.04213686, +0.01991471, -0.01269966, -0.00024053, -0.01495356, -0.08682232, -0.07967766, +0.00757232, -0.04228045, -0.07279425, -0.07736771, -0.05827454, -0.02979868, -0.02469977, -0.06777952, -0.17192805, -0.04501386, -0.03010071, -0.03726696, +0.00321652, -0.02540671, -0.02380187, -0.01473115, -0.04693141, +0.01095937, -0.05404419, -0.06097695, -0.04121371, + -0.02662118, -0.26393010, -0.03565843, -0.04161862, -0.04815107, -0.00626032, +0.02453389, -0.04788365, +0.04344950, -0.12205278, +0.00625061, +0.01046926, +0.00172589, +0.28429385, -0.02995478, -0.04715836, -0.01432610, -0.01038617, -0.04192161, -0.01795430, -0.00203219, -0.02321765, -0.03874730, -0.04841797, -0.02468788, -0.03089609, +0.18857972, -0.08184001, -0.14083936, +0.18382147, -0.07522678, +0.02511095, +0.02170303, +0.04977874, +0.04204366, -0.03291513, -0.00700597, -0.06217394, +0.11646594, -0.06827660, -0.19458734, -0.04004448, -0.00422749, -0.00065928, -0.41755443, -0.02068028, +0.00421157, +0.06935947, -0.05887173, +0.06970385, -0.01297237, +0.10610287, -0.03019253, -0.02459476, +0.12244442, +0.00000077, +0.02846487, -0.02574928, +0.06537823, -0.02779119, -0.20178870, -0.03879444, -0.01466601, -0.02962469, -0.07176390, -0.05352475, +0.01244397, -0.02195017, -0.05449801, -0.00371822, -0.05825853, -0.05587804, -0.01252089, -0.02127122, -0.08383070, -0.13467416, -0.06242948, -0.06758689, -0.03449165, -0.03282610, -0.08344759, -0.19205320, -0.04603621, -0.04843474, -0.03859408, +0.00984466, -0.03901200, -0.03447285, -0.01043629, -0.05384397, +0.02775256, -0.05923696, -0.08965990, -0.07127017, -0.05553204, -0.08357768, -0.14389424, -0.01092597, -0.05820504, -0.02999698, +0.10364606, /* TECN.TCP_FLAG_U */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_E */ - +4.77727654, +0.53060381, +1.07011726, -0.10921222, +0.13682857, +0.01524400, -2.30020505, -0.56375890, -1.30824245, -0.06945867, -0.03128459, +0.01394493, -0.01250909, +0.16585747, -0.00663552, -0.03759155, -2.17296398, -0.04577542, -0.05818058, +0.35907391, +0.26874550, +0.30377111, +0.18247800, -0.07205298, -0.24869536, -0.00432996, +0.10024862, -1.41497581, -1.43118849, +0.04185689, -0.32919587, -5.44711463, -5.05361571, -2.62895718, +3.31633510, +0.01422074, -0.19688826, -0.60443698, +6.16740101, -0.09678213, -0.16725914, -0.03605450, +0.00072129, -0.04882890, -0.24165862, -0.13196441, +4.83304875, +1.08642891, +0.42711007, +2.08044191, +1.90032580, -6.39509645, -0.03563036, +0.07531023, -1.17413444, -0.00135431, -0.06803009, -0.03280618, -0.10287400, -1.40355214, -0.06005034, -0.02312715, +0.19253245, -1.17113116, -0.02116006, -0.00152636, -0.03578189, -0.00142697, +0.15531968, +2.30057480, +1.32896959, -0.22431337, +1.58884632, +0.68666982, +0.74238877, -0.40311680, -0.00888115, -0.03336173, +0.81959648, -0.08200963, -0.11782175, -0.07172463, -0.04266487, -0.42700875, -0.04755962, -0.05951857, -2.71359750, +2.49276611, +0.71360534, +0.15993023, +0.88453848, +2.75975814, + +5.15305282, +0.21257294, +2.25138785, -0.11194915, +0.11993568, -0.08802177, -2.24005206, -0.99259150, -1.19472810, +0.05775775, -0.03372274, +0.03270420, -0.01076649, +0.20192527, +0.00406106, -0.09845235, -2.77403227, -0.08110373, -0.06643397, +0.43520200, +0.29546532, +0.33205331, +0.15574236, +0.03538754, -0.30271891, +0.01047500, +0.03393023, -0.95672134, -1.56246089, +0.09409760, -0.36195224, -7.01936645, -7.93970536, -3.50678418, +3.57412782, +0.11147799, -0.24555385, -0.59032887, +8.32950749, -0.03285542, -0.21244529, -0.06981663, -0.01260637, -0.09312675, -0.29506875, -0.01438443, +4.32361946, +0.93375179, +0.38527114, +2.07345905, +1.78779639, -5.65906930, -7.53655089, -0.04036499, +0.07440782, -1.36872421, +0.09047887, -0.05126393, +0.00773431, -0.13876654, -1.71855052, -0.10656657, -0.03094401, +0.33060919, -1.09944215, +0.04214286, +0.02860495, -0.02271203, +0.04129999, +0.12798163, +2.57403339, +1.47780541, -0.23333581, +1.01691095, +0.81401726, +0.59079319, +0.75401182, -0.40861209, +0.06517995, -0.01516448, +0.37340265, -0.10359536, -0.25321253, -0.08206271, -0.13136985, -0.61674306, -0.05360995, -0.03521515, -2.98242982, +3.65601686, +0.70853565, +0.12718250, +1.06566700, +0.52550401, +3.07579574, -0.23607783, -2.62521344, -0.03263001, -0.54009700, -0.13385387, +0.10250025, /* TECN.TCP_FLAG_C */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_RES8 */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_RES9 */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.02157202, -0.10705014, -0.00323355, +0.00257623, +0.00382411, +0.15903194, +0.04665455, -0.00724445, +0.06216244, -0.05118368, +0.05747535, +0.06173530, -0.00483864, +0.25337989, -0.00013788, +0.00717807, +0.07485452, +0.02133051, +0.00350865, +0.02933712, +0.04442706, +0.00463026, -0.01433755, +0.00652240, +0.02910582, +0.02331481, +0.18512812, +0.00130243, -0.09514492, +0.11155730, +0.00299809, +0.03910261, +0.11807749, +0.07865779, +0.03924706, +0.03712859, +0.04583233, +0.00220480, +0.23893443, +0.01798125, -0.14227173, +0.00860908, +0.05464054, +0.06332064, -0.36651074, +0.01623808, +0.11058629, +0.13843642, -0.01156550, +0.12654173, +0.02453590, +0.18662598, +0.03405904, +0.00746944, +0.09890291, +0.07596345, +0.03866150, +0.00532337, +0.05992810, +0.01943885, -0.16543299, +0.00447760, +0.02355565, +0.00119610, -0.00383532, +0.00162865, +0.03995804, +0.00489569, -0.01279669, +0.02134418, +0.02734314, -0.04069023, -0.02758092, -0.02546055, +0.00191545, -0.03454779, -0.00062118, -0.04284721, -0.00136652, +0.00850922, -0.00048494, -0.09456029, -0.01470409, -0.06526968, -0.00377646, +0.38199590, -0.01165756, +0.00233451, +0.03511067, +0.02452271, +0.05745868, -0.01253935, -0.12555534, -0.00502896, +0.00167446, -0.01338547, -0.11608319, +0.26783718, -0.06287265, +0.00390139, +0.12509812, /* TECN.TCP_FLAG_RES10 */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_FLAG_RES11 */ - +0.00382958, +0.00405326, +0.00564729, +0.00431351, +0.00400049, +0.17013268, +0.03576272, +0.00414087, +0.05954816, -0.05817411, +0.02855348, +0.02409615, +0.02289412, +0.17853310, +0.00905673, +0.02034447, +0.02473288, +0.01982720, +0.00327004, +0.01269428, +0.02284052, +0.00682340, +0.00581208, +0.00701067, +0.01018292, +0.01869050, +0.17184539, +0.01889412, -0.11862551, +0.09176991, +0.00550954, +0.03153863, +0.01063029, +0.04710132, +0.02615473, +0.02925556, +0.01853505, +0.00288882, +0.03247226, +0.00403984, -0.12611265, +0.00468847, +0.03606912, +0.01529918, -0.21862853, +0.00436659, +0.07139167, +0.08510428, +0.00670099, +0.06043415, +0.01839181, +0.07059902, +0.00970408, +0.10154717, +0.03774925, +0.01317936, +0.00636702, +0.05039573, +0.00900040, +0.00480422, +0.00411607, +0.01973309, +0.00490247, +0.00286148, +0.00190045, +0.04030475, +0.00336161, +0.01831122, +0.01067970, +0.00982904, +0.00494505, +0.02283035, +0.00990395, +0.00553575, +0.00554597, +0.00327294, +0.00135435, +0.00871815, +0.00486128, -0.06605611, +0.00392417, +0.01171015, +0.00296061, +0.02600933, +0.00745513, +0.00587044, +0.02766356, +0.00826554, +0.04242444, +0.00471140, +0.00819044, +0.00349556, + +0.01975589, -0.11002230, -0.00186548, +0.00191961, +0.00408302, +0.21285446, +0.04254539, -0.00345887, +0.06213949, -0.05494178, +0.06520945, +0.05394402, +0.04042721, +0.25477367, -0.00046278, +0.01329091, +0.07127020, +0.03311232, +0.00175628, +0.03804682, +0.04609694, +0.00974633, -0.01175298, -0.00466965, +0.02913436, +0.02517396, +0.22108897, +0.00142706, -0.11135389, +0.11155516, -0.00077519, +0.03676591, +0.08621439, +0.07560679, +0.06010782, +0.03326180, +0.05128662, -0.00584441, +0.23184522, -0.00975794, -0.14480359, +0.00866001, +0.05302887, +0.06289770, -0.36322887, +0.01733936, +0.10923898, +0.14245679, -0.01240944, +0.12233965, +0.05240137, +0.16379600, +0.02464060, +0.01028941, +0.09980200, +0.07451661, +0.03351628, +0.00638721, +0.06007568, +0.01984430, -0.14396084, +0.01293295, +0.03073702, +0.02154506, -0.00085642, -0.00172466, +0.04390516, -0.00141302, -0.00833235, +0.02272693, +0.02311837, -0.02742272, +0.03050002, +0.12647918, +0.00369052, -0.03774550, -0.00078527, +0.00210976, -0.00277195, +0.01726846, -0.00244584, -0.09576684, -0.01973087, +0.00873759, +0.00315243, +0.08756172, -0.00055323, +0.01077820, +0.03546582, +0.01730871, +0.05684000, -0.00080771, +0.00325589, -0.00482930, +0.00553322, -0.01403395, -0.06070132, +0.02357607, +0.00218386, -0.00025842, +0.12653057, /* TECN.TCP_OPT_0 */ - -0.03446623, -0.11940281, +0.04397268, -0.02949596, -0.04032348, +0.00502165, +0.02622820, -0.03280410, +0.06089499, -0.13990051, +0.01948389, -0.00491419, -0.37555071, +0.33358165, -0.01110680, +0.00070250, -0.00914352, +0.01562719, -0.03476954, +0.00932264, +0.01296792, +0.00266838, -0.01188704, -0.02333141, -0.01001725, -0.00102206, +0.44247253, +0.06998589, -0.13612637, +0.25348253, +0.03226019, +0.02372108, -0.00585211, +0.06812355, -0.00772066, +0.03280981, -0.00881061, -0.05323918, +0.02585180, -0.07374043, -0.27670483, -0.03288670, +0.02650612, -0.00126024, -0.39443749, -0.01715440, +0.09867305, +0.10287959, -0.04603553, +0.03809000, -0.01980511, +0.06682184, -0.00446212, +0.25706993, +0.01369070, +0.02117740, -0.01553364, +0.09834870, -0.01661638, -0.07485068, -0.03378102, +0.01516101, -0.02510035, -0.06640534, -0.04071720, +0.02529832, -0.00624146, +0.00666338, -0.01263794, -0.07037198, -0.07102939, -0.40359574, -0.03050670, -0.06994100, -0.05800339, -0.03566044, -0.02899102, -0.01647082, -0.06370249, -0.16701358, -0.04339698, -0.00949262, -0.03180056, +0.17706744, -0.01787474, -0.01964731, +0.03435400, -0.04145777, +0.01242291, -0.02640904, +0.18656118, -0.03973390, + -0.04544559, -0.33805999, +0.08450748, -0.03855232, -0.04243480, -0.05055822, +0.02402970, -0.04811848, +0.06142366, -0.09315425, +0.01847393, +0.01026848, -0.31810524, +0.29710144, -0.03135802, -0.03738313, -0.02206484, +0.00162246, -0.04607889, -0.00175171, +0.00466326, +0.01054088, -0.02416980, -0.04465872, +0.00597854, -0.03230018, +0.32130833, +0.17928596, -0.10868053, +0.30183836, -0.02108508, +0.01806587, +0.00236648, +0.07959833, +0.02122465, -0.05223641, -0.00725617, -0.06607415, +0.15747058, -0.07561993, -0.19597425, -0.04163309, -0.00606840, +0.08302188, -0.36183502, +0.08236837, +0.13898376, +0.06017828, -0.05917904, +0.04866854, +0.00064353, +0.09556163, -0.05448327, -0.01621757, +0.17796858, +0.00227207, +0.03045305, -0.02432453, +0.09209324, -0.03308703, -0.19035695, -0.02928071, +0.00782146, -0.01256346, -0.07346730, -0.05904001, +0.01893393, -0.02234066, -0.04976301, -0.00619584, -0.00870059, -0.05073341, -0.30757947, +0.01149364, -0.08379968, -0.13671374, -0.05437119, -0.00060235, -0.03744444, -0.01983266, -0.11624069, -0.20156411, -0.05010011, +0.05952175, -0.02604174, +0.03353364, -0.02138509, -0.03149380, +0.03209813, -0.05799880, +0.02289702, -0.02965342, +0.25501588, -0.02417776, -0.05861488, -0.07973203, -0.09112071, -0.19492517, +0.02902091, -0.04673492, +0.13270745, /* TECN.TCP_OPT_1 */ - +0.01702396, +0.04358957, +0.05759593, +0.01851345, +0.02530705, +0.20683432, +0.06094439, +0.00964518, +0.08728147, -0.00665311, +0.05064535, +0.03353657, -0.15615339, -0.01266682, -0.03389188, -0.05816631, +0.03194136, +0.05029510, +0.00973652, +0.03001266, +0.14902824, +0.01460602, +0.02045634, +0.02783485, +0.02090011, -0.05885887, -0.09724764, +0.08900980, +0.05710867, +0.15984738, +0.06402332, +0.05786089, +0.01953809, +0.06732412, +0.14659587, -0.11088840, +0.02522388, +0.01830989, +0.05307544, +0.01165412, -0.02446059, +0.05322916, -0.09302924, +0.04665994, -0.04504565, +0.05010621, +0.10041792, +0.10310628, +0.02327343, +0.07463084, +0.11837237, +0.09362155, +0.07225194, -0.08676527, +0.04639666, +0.04002851, +0.03510821, +0.10413829, +0.09633406, +0.01119347, +0.01373679, +0.20738665, +0.01239663, +0.01195617, +0.00513663, -0.08405934, +0.01126970, -0.11004630, +0.01746968, +0.02428427, +0.01084426, +0.03852619, +0.02422220, +0.01298259, +0.02048952, +0.00860367, +0.00431401, +0.07432388, +0.01123777, -0.00226024, +0.01188770, +0.06033100, +0.00880034, +0.05251787, +0.04558935, +0.04286732, +0.04802828, +0.01630811, +0.04804486, +0.01639795, +0.02460773, +0.00868377, + +0.01251574, +0.18733775, +0.19994047, +0.03065363, +0.04839230, +0.28899131, +0.08726060, -0.00988410, +0.09755551, -0.00942587, +0.16427149, +0.03886126, -0.23271364, +0.00800908, -0.01746283, -0.04991168, +0.04117249, +0.11493738, -0.00069720, +0.07446525, +0.23855734, -0.00352707, +0.00236581, +0.03904317, +0.05201028, -0.05948039, -0.09307120, +0.30998655, +0.11245350, +0.17373488, +0.10106961, +0.07949370, -0.09914385, +0.10103471, +0.15272455, -0.14174191, +0.01649192, +0.02726032, +0.02790515, -0.11036157, -0.01917219, +0.09230831, -0.10086566, +0.15448622, -0.03430826, +0.20796360, +0.19347988, +0.14315033, +0.03097394, +0.08002815, +0.22059898, +0.14959201, +0.02918348, +0.11470978, -0.08239043, +0.04219969, +0.06886330, +0.04190372, +0.08617944, +0.15258303, -0.17442089, +0.03495433, +0.24494782, +0.03725857, +0.05767275, -0.01163247, -0.06472144, +0.01065569, -0.12256327, +0.01257479, -0.17964066, -0.02311072, +0.09976511, +0.25314146, +0.00364440, -0.09829448, +0.14090117, +0.02156673, +0.00163214, +0.12850113, -0.11057566, -0.00551041, -0.05616136, +0.16291193, -0.01387929, -0.04207271, +0.10872757, +0.10716518, +0.05555757, -0.04146836, +0.04552526, +0.03120190, +0.14464347, +0.02787365, -0.01345029, -0.04273385, -0.03049321, -0.10783497, +0.03658723, +0.03066447, -0.04299961, /* TECN.TCP_OPT_2 */ - -0.12281631, -1.62883014, -0.23356821, +0.15940089, -0.13866214, +0.15120240, -0.15539661, +0.10503837, -0.02057099, -0.03261205, +0.12479461, +0.29285972, -0.28134085, -0.03678837, -0.07158502, -0.10040146, +0.13504655, -0.10451422, +0.05699468, -0.26574249, +0.07743189, +0.20255366, -0.13160569, +0.13055255, -0.61231082, -0.12422899, -0.18017865, +0.42958103, +0.67177110, +0.40879432, +0.52671941, -0.10589265, -0.14236462, -0.08426248, +0.03114795, -0.19178415, +0.25412955, +0.50714618, -0.07451888, -0.49543241, -0.04167934, +0.11156284, -0.19059081, +0.13211040, -0.09701704, +0.21887310, -0.01752994, -0.14225036, -0.26820567, -0.07092954, -0.11010033, -0.10724750, +0.16762614, -0.19298035, -0.32146049, +0.28095761, +0.13383364, +0.02076232, -0.00597738, +0.21576816, +0.05125899, +0.51484044, -0.38096257, +0.08495031, +0.01091648, -0.18382858, -0.27190857, -0.22547443, -0.04668682, -1.02038835, +0.14682643, +0.07491460, -0.38379617, -0.22407171, -0.60344225, +0.29682141, +0.02560922, +0.15180889, +0.08284037, -0.02419120, +0.10576432, +0.16173413, +0.07361516, +0.43559124, +0.11449549, +0.12916849, -0.18739021, +0.12268678, -0.15983957, -0.12232379, -0.70648580, +0.32680030, + -0.14091607, -1.95380341, -0.26209972, +0.14620561, -0.16577662, +0.14975123, -0.09879503, +0.06758468, +0.01166830, -0.10421146, +0.14190919, +0.29146283, -0.27977787, -0.02041272, -0.05004987, -0.04909434, +0.02342147, -0.12294768, +0.02825474, -0.30980141, +0.10875037, +0.20946183, -0.15282973, +0.18258346, -0.66541922, -0.11530088, -0.12673666, +0.69267835, +0.38560653, +0.38203468, +0.36448383, -0.05311808, +0.02878269, +0.13892371, +0.35888954, -0.22405638, +0.28718367, +0.55110717, +0.67731454, -0.77005852, +0.16723731, +0.11182568, -0.16632407, +0.18984683, -0.07446973, +0.15260655, +0.02546732, -0.13932283, -0.39386037, -0.06258164, -0.06518097, +0.03048630, -0.47421675, +0.14923458, -0.19044841, -0.35741535, +0.28246938, +0.12215762, -0.01273838, +0.01292022, -0.03139856, +0.06930404, +0.47970533, -0.49805789, +0.04089591, -0.11209620, -0.19091258, -0.34608247, -0.27318211, +0.05456178, -1.37417787, +0.03791348, +0.08531811, -0.45658458, -0.25980997, -0.94938194, -0.01692990, +0.29757600, -0.04785294, +0.10499948, -0.02979760, -0.01697860, +0.07093810, +0.20757323, +0.02845626, +0.25140883, +0.10395977, +0.04804910, -0.17383167, +0.05193643, -0.13520037, -0.13044655, -1.01195426, -0.36500147, +0.26547010, -0.06613860, +0.23093682, -0.14763422, +0.38415860, +0.12499950, -0.04356330, /* TECN.TCP_OPT_3 */ - +0.05894837, +0.04250376, +0.22536575, -0.36498538, +0.05016334, +0.18788524, +0.11877660, +0.03484565, +0.17407041, -0.03503611, -0.43982726, -0.72321676, -0.25793320, -0.03888690, -0.06896923, -0.13254765, +0.50664340, +0.11887346, +0.19223466, +0.31853686, +0.30403676, -0.28689783, +0.06335219, -0.12449042, +0.55765299, -0.08890181, -0.22848076, +0.23096403, +0.21379682, -0.05283348, -0.93997283, +0.13793314, +0.11033137, +0.16645492, +0.31058586, -0.18240905, -0.49914524, +0.24616968, +0.12608016, +0.20214550, -0.08634676, -0.18021220, -0.08571863, -0.32670678, -0.10577931, -0.35039563, +0.17293009, +0.32126232, +0.20137212, +0.11914654, +0.38658358, +0.21450842, -0.02734310, -0.14135898, +0.33046131, +0.16140662, +0.13515659, +0.23780583, +0.24561908, +0.13587636, +0.41005393, -0.38106758, +0.15312387, -0.01272267, +0.02876680, -0.18646501, +0.05298707, -0.10192058, +0.03566982, +0.29244786, +0.24728096, +0.14983907, +0.05739068, +0.00465436, +0.07841877, +0.07177099, +0.20799702, -0.38468994, +0.12996841, -0.03372263, -0.16518322, -0.41354137, -0.75493271, -0.73728517, -0.27001013, -0.05552304, +0.13239402, +0.79570163, +0.21337140, +0.05151009, +0.16854538, +0.09461727, + -0.04955931, +0.01138813, +0.32546575, -0.33795640, +0.09145763, +0.14100912, +0.11981851, -0.02622605, +0.17132712, +0.09990974, -0.37834361, -0.81205847, -0.21013338, +0.00082830, -0.03669628, -0.08350047, +0.61436742, +0.07884117, +0.18456653, +0.24128407, +0.21498986, -0.29982233, +0.04618536, -0.13643979, +0.57695828, -0.00490948, -0.18789978, +0.39594875, +0.17983804, +0.02686379, -0.83219281, +0.10561437, +0.10852586, +0.13672668, +0.05819470, -0.14394155, -0.53955664, +0.16727955, -0.07064212, +0.23284908, -0.06191348, -0.10001722, +0.02624350, -0.27230638, -0.06084833, -0.60167843, +0.15921978, +0.30418884, +0.17113098, +0.09848345, +0.34069018, +0.22618377, +0.07240109, -0.01332142, -0.08748095, +0.28311624, +0.21803073, +0.15009297, +0.22772750, +0.22825739, +0.01916185, +0.32675188, -0.33717093, +0.11709614, -0.02202477, +0.02048580, -0.16574853, +0.01869455, -0.02044972, -0.00332586, +0.22789746, +0.06590324, +0.18260268, +0.03566457, -0.04667702, +0.05194348, +0.29372060, +0.42019221, +0.25649639, -0.31252519, -0.00291454, -0.01846815, -0.22565057, -0.33249645, -0.79872372, -0.87588220, -0.20167608, +0.00314056, +0.08329147, +1.14683787, +0.25677532, +0.05141981, +0.35352701, -0.05286573, +0.00739453, -0.77334009, -0.00473327, -0.13028501, -1.52464270, +0.30913449, -0.09408290, /* TECN.TCP_OPT_4 */ - +0.10458844, +0.73262283, +0.14719716, +0.06724320, +0.06279602, -0.24383306, +0.27907127, -0.04070843, +0.32956289, -0.00695581, -0.25637727, +0.18966503, -0.18761690, -0.01667200, -0.03345060, -0.06318669, -0.16051572, -0.21939041, -0.08288074, +0.35212116, -0.29119013, +0.04928915, +0.08131793, +0.05289439, +0.04253737, -0.03770046, -0.11190585, +0.29616568, +0.55386965, +0.22931408, +0.24832743, +0.50697765, +0.07226359, +0.11614682, +0.28822296, -0.07805673, +0.11599252, +0.19703196, +0.15271449, +0.17456388, -0.04174117, -0.11258369, -0.03030110, -0.19213038, -0.04836666, +0.19065178, +0.13697587, +0.29176474, +0.06698243, +0.11346899, +0.32662579, +0.50546596, +0.11019388, -0.11194672, +0.20313720, +0.04505641, -0.01255734, -0.22323288, -0.25428381, -0.14013349, -0.20230152, -0.18537819, +0.06871818, -0.04612396, +0.03979852, -0.08410835, +0.25551463, -0.05490504, +0.03087577, +0.60994929, -0.15424614, +0.10126237, +0.14925566, +0.05906424, +0.36395417, -0.13064923, +0.09558178, -0.24415348, -0.08215988, -0.00794259, +0.02155516, -0.24583710, +0.14176228, +0.50937641, -0.17364677, +0.14879523, +0.14220005, -0.27258557, +0.05378252, +0.02803617, +0.17125396, -0.13521825, + +0.11306431, +1.06136739, +0.18694611, +0.06315426, +0.11092011, -0.29752433, +0.31500783, -0.08053993, +0.35566190, +0.05947377, -0.29308274, +0.08798197, -0.22821471, +0.00077652, -0.01855511, -0.04077609, -0.21474177, -0.36341584, -0.05823867, +0.47239833, -0.33384015, +0.03612412, +0.10422519, +0.02641398, +0.07202100, +0.01233010, -0.09179919, +0.93156803, +1.46746044, +0.24498099, +0.32854257, +0.75603675, -0.27475697, +0.12451853, +0.16435508, -0.05546005, +0.08641746, +0.42275631, -0.16629947, +0.27238151, -0.07291630, -0.13906296, +0.03937585, -0.20879185, -0.02641973, +0.25647099, +0.21841153, +0.30877529, +0.08272746, +0.06829635, +0.45123677, +0.75745938, +0.23835824, +0.14061802, -0.10750249, +0.24513713, +0.20809239, +0.01883106, -0.22028037, -0.29008501, -0.57170352, -0.23721901, -0.18428959, +0.10093278, -0.01870868, +0.06794413, -0.04730734, +0.31830873, -0.02462210, -0.02273592, -0.03550917, -0.49409899, +0.17835254, +0.30156153, +0.04182152, +0.19004104, +0.25331535, -0.27090168, +0.17860050, -0.29221908, -0.41647118, +0.00039940, -0.11491832, -0.28047654, +0.13221884, +0.45793758, -0.20493653, +0.25239380, +0.17263443, -0.60086918, -0.01656088, +0.02092835, +0.28571436, +0.23742207, -0.22839124, +0.11678318, -0.26183596, -0.10177068, +0.48107666, -0.13158234, -0.05115788, /* TECN.TCP_OPT_5 */ - +0.14030650, +1.41468463, +0.18161421, +0.27244767, +0.09520578, -0.22227132, +0.41802084, -0.11802844, +0.41211998, -0.02158481, -0.29383238, +0.56103618, -0.23908618, -0.02860783, -0.04588858, -0.09661989, -0.54365841, -0.26784438, -0.09247421, +0.48305526, -0.37914555, +0.16660297, +0.12507355, +0.11104564, -0.01669537, -0.06034399, -0.15714362, +0.20721792, +0.41937604, +0.41097060, +0.74756710, +0.68617056, +0.09623135, +0.13689056, +0.34594040, -0.09689397, +0.34960381, -0.01875887, +0.20878580, +0.27140127, -0.06916371, -0.15130525, -0.05245555, -0.23497165, -0.07393955, +0.44927972, +0.15971705, +0.33728041, +0.04527368, +0.13955630, +0.40162290, +0.64649501, +0.18936076, -0.18001863, +0.18903906, +0.09798780, -0.06743385, -0.30615905, -0.35571727, -0.38363796, -0.41537328, -0.26811685, +0.12738862, -0.11633665, +0.01462862, -0.10961044, -0.03368055, -0.08333220, +0.03607669, +0.89815535, -0.40622308, +0.12691904, +0.26835817, +0.09470397, +0.58241171, -0.34289788, -0.08054725, -0.31048130, -0.24154459, -0.02035241, +0.06774693, -0.31454840, +0.68773537, +1.11777888, -0.22857091, +0.26773270, +0.17580076, -0.87426186, +0.00698968, +0.01466383, +0.29168970, -0.34419469, + +0.12256337, +1.58818679, +0.06051302, +0.28002796, +0.12355641, -0.21575852, +0.44044116, -0.14503332, +0.40932085, -0.00413796, -0.24209311, +0.28243663, -0.23317729, -0.00650098, -0.00718164, -0.06315992, -0.73474205, -0.27919743, -0.03519374, +0.47837782, -0.34021145, +0.13803165, +0.11359087, +0.04955932, +0.01548927, +0.01362252, -0.10781730, +0.91306387, +1.20722320, +0.38773536, +0.71457357, +1.01405219, -0.36186722, +0.02862236, +0.07598016, -0.04287423, +0.26434197, +0.17775810, -0.20902661, +0.21019797, -0.13188417, -0.15859564, +0.03972781, -0.18319394, -0.03672443, +0.38767530, +0.20327129, +0.13958602, +0.00125682, +0.04840021, +0.36212495, +0.60513312, +0.31637733, +0.17072670, -0.17936033, +0.12856760, +0.24567723, -0.02627198, -0.29589771, -0.36305253, -0.92049673, -0.32628890, -0.23035981, +0.18011812, -0.02685937, +0.02869066, -0.04093040, -0.12857353, -0.04650782, -0.04907103, -0.18557172, -0.70066385, +0.15710981, +0.17181097, +0.06847913, +0.23064743, +0.29533623, -0.71136033, -0.08940217, -0.28210377, -0.61550105, -0.02428142, -0.05584830, -0.26913181, +0.86260932, +0.68893178, -0.20062240, +0.23679545, +0.21330152, -1.47873541, -0.16422114, -0.02179914, +0.25701404, +0.34962172, -0.43678463, +0.43638052, -0.47335330, -0.11210587, +1.35920245, -0.29880931, -0.06470591, /* TECN.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_0 */ - -0.03446623, -0.11940281, +0.04397268, -0.02949596, -0.04032348, +0.00502165, +0.02622820, -0.03280410, +0.06089499, -0.13990051, +0.01948389, -0.00491419, -0.37555071, +0.33358165, -0.01110680, +0.00070250, -0.00914352, +0.01562719, -0.03476954, +0.00932264, +0.01296792, +0.00266838, -0.01188704, -0.02333141, -0.01001725, -0.00102206, +0.44247253, +0.06998589, -0.13612637, +0.25348253, +0.03226019, +0.02372108, -0.00585211, +0.06812355, -0.00772066, +0.03280981, -0.00881061, -0.05323918, +0.02585180, -0.07374043, -0.27670483, -0.03288670, +0.02650612, -0.00126024, -0.39443749, -0.01715440, +0.09867305, +0.10287959, -0.04603553, +0.03809000, -0.01980511, +0.06682184, -0.00446212, +0.25706993, +0.01369070, +0.02117740, -0.01553364, +0.09834870, -0.01661638, -0.07485068, -0.03378102, +0.01516101, -0.02510035, -0.06640534, -0.04071720, +0.02529832, -0.00624146, +0.00666338, -0.01263794, -0.07037198, -0.07102939, -0.40359574, -0.03050670, -0.06994100, -0.05800339, -0.03566044, -0.02899102, -0.01647082, -0.06370249, -0.16701358, -0.04339698, -0.00949262, -0.03180056, +0.17706744, -0.01787474, -0.01964731, +0.03435400, -0.04145777, +0.01242291, -0.02640904, +0.18656118, -0.03973390, + -0.04544559, -0.33805999, +0.08450748, -0.03855232, -0.04243480, -0.05055822, +0.02402970, -0.04811848, +0.06142366, -0.09315425, +0.01847393, +0.01026848, -0.31810524, +0.29710144, -0.03135802, -0.03738313, -0.02206484, +0.00162246, -0.04607889, -0.00175171, +0.00466326, +0.01054088, -0.02416980, -0.04465872, +0.00597854, -0.03230018, +0.32130833, +0.17928596, -0.10868053, +0.30183836, -0.02108508, +0.01806587, +0.00236648, +0.07959833, +0.02122465, -0.05223641, -0.00725617, -0.06607415, +0.15747058, -0.07561993, -0.19597425, -0.04163309, -0.00606840, +0.08302188, -0.36183502, +0.08236837, +0.13898376, +0.06017828, -0.05917904, +0.04866854, +0.00064353, +0.09556163, -0.05448327, -0.01621757, +0.17796858, +0.00227207, +0.03045305, -0.02432453, +0.09209324, -0.03308703, -0.19035695, -0.02928071, +0.00782146, -0.01256346, -0.07346730, -0.05904001, +0.01893393, -0.02234066, -0.04976301, -0.00619584, -0.00870059, -0.05073341, -0.30757947, +0.01149364, -0.08379968, -0.13671374, -0.05437119, -0.00060235, -0.03744444, -0.01983266, -0.11624069, -0.20156411, -0.05010011, +0.05952175, -0.02604174, +0.03353364, -0.02138509, -0.03149380, +0.03209813, -0.05799880, +0.02289702, -0.02965342, +0.25501588, -0.02417776, -0.05861488, -0.07973203, -0.09112071, -0.19492517, +0.02902091, -0.04673492, +0.13270745, /* TECN.TCP_OPTLEN_1 */ - +0.01702396, +0.04358957, +0.05759593, +0.01851345, +0.02530705, +0.20683432, +0.06094439, +0.00964518, +0.08728147, -0.00665311, +0.05064535, +0.03353657, -0.15615339, -0.01266682, -0.03389188, -0.05816631, +0.03194136, +0.05029510, +0.00973652, +0.03001266, +0.14902824, +0.01460602, +0.02045634, +0.02783485, +0.02090011, -0.05885887, -0.09724764, +0.08900980, +0.05710867, +0.15984738, +0.06402332, +0.05786089, +0.01953809, +0.06732412, +0.14659587, -0.11088840, +0.02522388, +0.01830989, +0.05307544, +0.01165412, -0.02446059, +0.05322916, -0.09302924, +0.04665994, -0.04504565, +0.05010621, +0.10041792, +0.10310628, +0.02327343, +0.07463084, +0.11837237, +0.09362155, +0.07225194, -0.08676527, +0.04639666, +0.04002851, +0.03510821, +0.10413829, +0.09633406, +0.01119347, +0.01373679, +0.20738665, +0.01239663, +0.01195617, +0.00513663, -0.08405934, +0.01126970, -0.11004630, +0.01746968, +0.02428427, +0.01084426, +0.03852619, +0.02422220, +0.01298259, +0.02048952, +0.00860367, +0.00431401, +0.07432388, +0.01123777, -0.00226024, +0.01188770, +0.06033100, +0.00880034, +0.05251787, +0.04558935, +0.04286732, +0.04802828, +0.01630811, +0.04804486, +0.01639795, +0.02460773, +0.00868377, + +0.01251574, +0.18733775, +0.19994047, +0.03065363, +0.04839230, +0.28899131, +0.08726060, -0.00988410, +0.09755551, -0.00942587, +0.16427149, +0.03886126, -0.23271364, +0.00800908, -0.01746283, -0.04991168, +0.04117249, +0.11493738, -0.00069720, +0.07446525, +0.23855734, -0.00352707, +0.00236581, +0.03904317, +0.05201028, -0.05948039, -0.09307120, +0.30998655, +0.11245350, +0.17373488, +0.10106961, +0.07949370, -0.09914385, +0.10103471, +0.15272455, -0.14174191, +0.01649192, +0.02726032, +0.02790515, -0.11036157, -0.01917219, +0.09230831, -0.10086566, +0.15448622, -0.03430826, +0.20796360, +0.19347988, +0.14315033, +0.03097394, +0.08002815, +0.22059898, +0.14959201, +0.02918348, +0.11470978, -0.08239043, +0.04219969, +0.06886330, +0.04190372, +0.08617944, +0.15258303, -0.17442089, +0.03495433, +0.24494782, +0.03725857, +0.05767275, -0.01163247, -0.06472144, +0.01065569, -0.12256327, +0.01257479, -0.17964066, -0.02311072, +0.09976511, +0.25314146, +0.00364440, -0.09829448, +0.14090117, +0.02156673, +0.00163214, +0.12850113, -0.11057566, -0.00551041, -0.05616136, +0.16291193, -0.01387929, -0.04207271, +0.10872757, +0.10716518, +0.05555757, -0.04146836, +0.04552526, +0.03120190, +0.14464347, +0.02787365, -0.01345029, -0.04273385, -0.03049321, -0.10783497, +0.03658723, +0.03066447, -0.04299961, /* TECN.TCP_OPTLEN_2 */ - -0.07634088, -1.07145219, -0.13672548, +0.11230085, -0.08463451, +0.16956183, -0.08341289, +0.07303660, +0.01497527, -0.02405173, +0.09988241, +0.20618225, -0.23976492, -0.02882823, -0.05907621, -0.08667045, +0.09990971, -0.05418879, +0.04109375, -0.17466489, +0.10066492, +0.13336910, -0.08473452, +0.09605579, -0.40295143, -0.10263322, -0.15271876, +0.31580123, +0.46507043, +0.32571490, +0.37240959, -0.05147819, -0.08857437, -0.03400176, +0.06701698, -0.16488118, +0.17692482, +0.34377002, -0.03214481, -0.32653834, -0.03599978, +0.09192261, -0.15819987, +0.10336222, -0.07984319, +0.16243494, +0.02145891, -0.06091226, -0.17162821, -0.02264398, -0.03535927, -0.04078693, +0.13565124, -0.15766711, -0.19900949, +0.20062853, +0.10078900, +0.04837038, +0.02796744, +0.14458507, +0.03864931, +0.41221586, -0.25007194, +0.06055170, +0.00891436, -0.15072399, -0.17760834, -0.18708553, -0.02554728, -0.67249973, +0.09830486, +0.34055245, -0.25289950, -0.14573069, -0.39641300, +0.18594119, +0.01848648, +0.12233651, +0.05871613, -0.01694537, +0.07432214, +0.12642685, +0.05192031, +0.19738337, +0.09136400, +0.09899598, -0.13932258, +0.08697197, -0.09078970, -0.09326858, -0.62472994, +0.22063234, + -0.10251230, -1.27709148, -0.15821570, +0.11517377, -0.10661843, +0.19494703, -0.03619574, +0.04144274, +0.03869175, -0.07920188, +0.16590671, +0.29370064, -0.28231870, -0.01540486, -0.04004768, -0.05414772, +0.02157236, -0.09472339, +0.02453816, -0.26268224, +0.14082841, +0.15224846, -0.13535576, +0.15538794, -0.51796327, -0.10398478, -0.12277750, +0.64908862, +0.39322070, +0.31219812, +0.31487166, -0.00465756, -0.03022363, +0.12305514, +0.29143469, -0.20799979, +0.23399287, +0.44728687, +0.52859654, -0.68541805, +0.11036168, +0.11225410, -0.15318568, +0.20156837, -0.06956510, +0.19349085, +0.06612678, -0.08344558, -0.33903236, -0.02219162, +0.00726761, +0.06261094, -0.31956659, +0.14789230, -0.16306937, -0.26658372, +0.24584998, +0.09879356, +0.01936186, +0.04988716, -0.07308185, +0.08722331, +0.42195761, -0.42563891, +0.04849950, -0.08758936, -0.15038733, -0.24454412, -0.23429362, +0.03572084, -1.03326563, +0.04306889, +0.40739563, -0.31376541, -0.18663570, -0.72468843, +0.02715522, +0.18855287, -0.03628600, +0.10667459, -0.05012864, -0.01167006, +0.05159752, +0.20338771, +0.02269095, +0.04993934, +0.10929680, +0.07310538, -0.13320944, +0.02669795, -0.07670023, -0.11422669, -0.97327467, -0.26758941, +0.21816175, -0.06723577, +0.18266435, -0.14798434, +0.27655366, +0.09716860, -0.04962063, /* TECN.TCP_OPTLEN_3 */ - +0.05894837, +0.04250376, +0.22536575, -0.36498538, +0.05016334, +0.18788524, +0.11877660, +0.03484565, +0.17407041, -0.03503611, -0.43982726, -0.72321676, -0.25793320, -0.03888690, -0.06896923, -0.13254765, +0.50664340, +0.11887346, +0.19223466, +0.31853686, +0.30403676, -0.28689783, +0.06335219, -0.12449042, +0.55765299, -0.08890181, -0.22848076, +0.23096403, +0.21379682, -0.05283348, -0.93997283, +0.13793314, +0.11033137, +0.16645492, +0.31058586, -0.18240905, -0.49914524, +0.24616968, +0.12608016, +0.20214550, -0.08634676, -0.18021220, -0.08571863, -0.32670678, -0.10577931, -0.35039563, +0.17293009, +0.32126232, +0.20137212, +0.11914654, +0.38658358, +0.21450842, -0.02734310, -0.14135898, +0.33046131, +0.16140662, +0.13515659, +0.23780583, +0.24561908, +0.13587636, +0.41005393, -0.38106758, +0.15312387, -0.01272267, +0.02876680, -0.18646501, +0.05298707, -0.10192058, +0.03566982, +0.29244786, +0.24728096, +0.14983907, +0.05739068, +0.00465436, +0.07841877, +0.07177099, +0.20799702, -0.38468994, +0.12996841, -0.03372263, -0.16518322, -0.41354137, -0.75493271, -0.73728517, -0.27001013, -0.05552304, +0.13239402, +0.79570163, +0.21337140, +0.05151009, +0.16854538, +0.09461727, + -0.04955931, +0.01138813, +0.32546575, -0.33795640, +0.09145763, +0.14100912, +0.11981851, -0.02622605, +0.17132712, +0.09990974, -0.37834361, -0.81205847, -0.21013338, +0.00082830, -0.03669628, -0.08350047, +0.61436742, +0.07884117, +0.18456653, +0.24128407, +0.21498986, -0.29982233, +0.04618536, -0.13643979, +0.57695828, -0.00490948, -0.18789978, +0.39594875, +0.17983804, +0.02686379, -0.83219281, +0.10561437, +0.10852586, +0.13672668, +0.05819470, -0.14394155, -0.53955664, +0.16727955, -0.07064212, +0.23284908, -0.06191348, -0.10001722, +0.02624350, -0.27230638, -0.06084833, -0.60167843, +0.15921978, +0.30418884, +0.17113098, +0.09848345, +0.34069018, +0.22618377, +0.07240109, -0.01332142, -0.08748095, +0.28311624, +0.21803073, +0.15009297, +0.22772750, +0.22825739, +0.01916185, +0.32675188, -0.33717093, +0.11709614, -0.02202477, +0.02048580, -0.16574853, +0.01869455, -0.02044972, -0.00332586, +0.22789746, +0.06590324, +0.18260268, +0.03566457, -0.04667702, +0.05194348, +0.29372060, +0.42019221, +0.25649639, -0.31252519, -0.00291454, -0.01846815, -0.22565057, -0.33249645, -0.79872372, -0.87588220, -0.20167608, +0.00314056, +0.08329147, +1.14683787, +0.25677532, +0.05141981, +0.35352701, -0.05286573, +0.00739453, -0.77334009, -0.00473327, -0.13028501, -1.52464270, +0.30913449, -0.09408290, /* TECN.TCP_OPTLEN_4 */ - +0.06992970, +0.19492099, +0.09012857, -0.00196208, +0.03148655, -0.22522831, +0.17290187, +0.01859105, +0.25302943, +0.00265794, -0.20770363, +0.04018057, -0.14859923, -0.00758718, -0.02060905, -0.03774505, +0.04756229, -0.18401380, +0.08578462, +0.24764790, -0.21982901, +0.02077822, +0.04457960, +0.04070803, +0.00721420, -0.02207626, -0.07837323, +0.36025590, +0.64302697, +0.15984300, +0.07020338, +0.36228884, +0.04331935, +0.08469473, +0.22674510, -0.05561509, +0.03158152, +0.33910437, +0.10554413, +0.07539149, -0.02069006, -0.08184736, -0.01373013, -0.15343828, -0.03159051, +0.08462082, +0.10926201, +0.22085258, +0.04586323, +0.08422468, +0.24825523, +0.37451077, +0.08336839, -0.07313110, +0.15465411, -0.10250603, +0.06547761, -0.16186344, -0.18508784, +0.01921480, +0.05695693, -0.13511873, +0.00416355, +0.01305796, -0.00751258, -0.06472672, +0.35275775, -0.03516957, +0.02438528, +0.31096677, +0.04369797, +0.06708755, +0.04289399, +0.02101499, +0.16887794, +0.02044706, -0.02658379, -0.20237824, +0.02530436, +0.00174775, +0.01722828, -0.19726354, +0.00052581, +0.26427506, -0.13513939, +0.10596485, +0.09695903, +0.04529323, +0.05435632, +0.02520101, +0.04211060, +0.01889960, + +0.08725388, +0.35488601, +0.18674149, -0.02404660, +0.07729970, -0.29524433, +0.20617169, -0.00875160, +0.28596981, +0.07595102, -0.26486423, -0.07341701, -0.19101201, +0.01421674, -0.01269158, -0.01208280, +0.15314231, -0.36188211, +0.12497339, +0.36883733, -0.26645811, +0.00045123, +0.07994551, +0.06916145, +0.01116245, +0.01943644, -0.06618289, +0.93673619, +1.52174710, +0.17338843, +0.10650834, +0.54313280, -0.02400464, +0.15733955, +0.19373376, -0.03941419, +0.01262692, +0.59086162, +0.02588191, +0.21561791, +0.00143947, -0.09739755, +0.04891034, -0.18602678, -0.01098007, -0.00814297, +0.18699632, +0.35286726, +0.09011404, +0.07088815, +0.42931653, +0.73514993, +0.10625820, +0.12480672, -0.05962395, +0.23629591, -0.03940372, +0.10454283, -0.15633925, -0.21306425, -0.19991883, +0.14088007, -0.13513679, -0.04932091, +0.02918488, -0.03206023, -0.05135291, +0.51396093, -0.00394499, +0.01066541, -0.05491351, -0.00029732, +0.13543924, +0.25822573, -0.00090054, +0.01786263, +0.19282664, +0.01784545, -0.02897240, -0.27219726, -0.17678540, +0.01991418, -0.09756280, -0.24908197, -0.03217661, +0.24596592, -0.17937353, +0.21646319, +0.11817666, +0.00974773, +0.03467028, +0.03794415, +0.12845010, +0.09021966, -0.01052655, -0.06515146, +0.00313423, -0.07752291, +0.03055043, +0.02327140, -0.02703139, /* TECN.TCP_OPTLEN_5 */ - +0.20481228, +1.89507833, +0.34094297, +0.06579586, +0.15370546, -0.36688303, +0.52230355, -0.12548843, +0.51446565, -0.01772745, -0.28249716, +0.12341041, -0.21652196, -0.02669570, -0.04158738, -0.10614032, -0.32447548, -0.26442258, +0.01756345, +0.63472669, -0.41814387, -0.02844792, +0.17956926, +0.01041280, +0.44240551, -0.05711309, -0.16789829, +0.24485442, +0.47767751, +0.21703398, +0.13327865, +0.81867837, +0.17152754, +0.22238663, +0.45307024, -0.07961568, +0.03364823, +0.03952727, +0.27078307, +0.45310814, -0.07917332, -0.14379549, -0.05476167, -0.23595449, -0.06881765, +0.19613001, +0.22045555, +0.52406057, +0.21084883, +0.19865462, +0.53388354, +0.81799148, +0.10580858, -0.14527726, +0.45355603, +0.03524208, -0.03590435, -0.32582776, -0.35127105, -0.35760465, -0.16634885, -0.23290464, +0.31193041, -0.12884670, -0.01372626, -0.11098450, -0.06360319, -0.07212807, +0.06221896, +1.38305345, -0.29523309, +0.21307909, +0.39281899, +0.16470873, +0.81006651, -0.38225884, -0.11285516, -0.28000827, -0.18599645, -0.02104490, -0.03666491, -0.31513935, +0.36391612, +0.40775279, -0.21801909, +0.14513959, +0.28417098, -0.49445533, +0.14743696, +0.07252481, +0.51912357, -0.37793622, + +0.13505682, +1.62266355, +0.23368355, +0.08573444, +0.20909926, -0.37129155, +0.50967439, -0.15468052, +0.50386880, +0.10050304, -0.23042246, -0.09955221, -0.20021189, +0.00708976, +0.00434452, -0.08359198, -0.28622996, -0.26189914, +0.07288902, +0.63462769, -0.37628903, -0.07731842, +0.15597279, -0.06013217, +0.52164205, +0.02261548, -0.13023231, +0.97210280, +1.52616678, +0.24527396, +0.29328153, +1.12370522, -0.19492260, +0.08610504, +0.14693910, +0.00691203, -0.07108226, +0.24988769, -0.22334860, +0.31223220, -0.21268184, -0.13802733, +0.03327705, -0.20073691, -0.02460566, +0.32799765, +0.22349081, +0.31314581, +0.14794036, +0.10923442, +0.37103562, +0.69746636, +0.43636283, +0.11071476, -0.12262527, +0.37353383, +0.19247543, +0.01483243, -0.31194604, -0.33307873, -0.75503617, -0.08621937, -0.19214848, +0.38501601, -0.03213940, +0.02746063, -0.04118123, -0.16346958, +0.01137874, -0.05027645, +0.28446262, -0.48926465, +0.25797949, +0.15909874, +0.12234035, +0.49949432, +0.40210255, -0.56945801, -0.08419534, -0.23227032, -0.50765723, -0.02624100, -0.17451062, -0.26014468, +0.42002098, +0.16232030, -0.17842113, +0.19787164, +0.29583723, -0.83216037, +0.00073118, +0.03940710, +0.57429398, +0.41821680, -0.49044130, +0.14806489, -0.48918439, -0.11049348, +0.41904143, -0.13369027, -0.07902013, /* TECN.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* TECN.TCP_MSS */ - -1.10243347, -2.91275972, -0.25143635, -0.00471214, -0.00763694, +0.02052716, -0.16783872, -0.01028752, -0.19556919, -0.05506659, -0.20989499, +0.01243326, -0.19338450, +0.17728510, -0.03619541, -0.17836522, +0.01307757, +0.00305607, -0.04510484, -0.06028773, -0.03087390, -0.00429626, -0.01254664, -0.17556000, +0.00625416, +0.00301331, +0.20316158, +0.78061982, -0.70918210, +0.14876505, +0.02206564, -0.03180178, -0.12764390, -0.29719947, -0.15675907, -0.23368627, +0.00246429, -0.02428520, -0.50330172, +1.24549400, -0.12437559, +1.16776228, +0.63780820, -0.85932792, -0.18590966, -1.12971538, -1.15756773, -0.58512032, +1.67992396, -0.44610760, -0.02624829, -0.23211390, -0.04411518, +0.14179896, +0.01003220, +0.00589324, -0.02988515, +0.05857823, -0.03792946, -0.05087400, +0.00961020, -0.04804663, -0.00092833, -0.00490088, -0.01070527, -0.18817511, -0.00387807, -0.00160004, -0.02689862, -0.69198339, -0.59206231, +0.00061173, -1.62926386, -0.39824937, -0.43302161, -0.04088918, -0.00645122, -0.06259079, +0.49400682, -0.06852991, +1.35489298, +0.00066413, -0.01472423, -0.63932493, -0.04458620, +0.46946288, -0.04174058, -0.00361007, -0.26035369, -0.02777030, -0.06597689, -0.08513074, + -1.57354485, -3.50707303, -0.41124447, -0.00043741, +0.00808909, +0.00341413, -0.14658385, +0.02039893, -0.17539897, -0.01345770, -0.29639908, +0.05772010, -0.30749509, +0.22662670, -0.01715324, -0.19486711, +0.09810978, +0.00340187, -0.05685251, -0.07160358, -0.01807491, -0.00884613, -0.03574805, -0.16484274, +0.03981790, -0.01503716, +0.21989205, +1.26973567, -1.06647496, +0.17867302, -0.01579587, +0.01295938, +0.01007554, -0.30385487, -0.04024412, -0.38491053, +0.01037328, +0.01821824, -0.03759379, +1.10869279, -0.18539075, +1.30919052, +0.72654243, -1.23042663, -0.26915825, -1.37436555, -1.20238350, -0.58156894, +1.70737573, -0.30314934, +0.03026601, +0.00576408, -0.28961601, -0.05455418, +0.17005037, +0.02295551, +0.02564035, -0.04578295, +0.07109442, -0.05660684, -0.22670199, +0.09206370, -0.05578599, +0.01964380, +0.05248617, -0.00929800, -0.21799633, -0.00222069, -0.04410090, -0.03378460, -1.09835628, -1.15765456, +0.04120364, -1.89665485, -0.41856718, -0.43789921, -0.13441452, +0.00889150, -0.00839531, -0.08182505, +0.18753878, -0.08240409, +1.46916984, +0.03558585, -0.02149479, -1.10229102, -0.06221861, +0.77668497, +0.00781238, -0.00183438, -0.21345396, -0.03663554, +0.00284975, -0.48623957, -0.13068014, -0.09370626, +0.06526335, -0.16247963, -0.01487150, -0.05196329, +0.03885251, /* TECN.TCP_SACKOK */ - +0.02807862, +0.05185186, +0.06135606, +0.02258010, +0.02982283, +0.21013703, +0.07177010, +0.01837410, +0.09152219, -0.00427919, -0.21040537, +0.03660200, -0.14579746, -0.00958700, -0.02461523, -0.04467480, +0.03603519, +0.05705684, +0.09671425, +0.13558729, +0.16325522, +0.01935898, +0.03367564, +0.03458852, +0.02351684, -0.03191852, -0.08588884, +0.10599605, +0.08094790, +0.16235343, +0.07380307, +0.07708906, +0.03694390, +0.07086797, +0.15051373, -0.08999398, +0.02931755, +0.04809972, +0.06873431, +0.07479629, -0.02186460, -0.08332102, -0.02345959, -0.15596422, -0.04207186, +0.06850952, +0.10407166, +0.10753843, +0.03357259, +0.07946922, +0.18369300, +0.09890834, +0.07875667, -0.08242740, +0.04892509, +0.06207483, +0.05864878, +0.12642533, +0.10653100, +0.01833368, +0.06090440, -0.21867209, +0.01575471, +0.01527152, +0.02003235, -0.06965040, +0.01490932, -0.04597170, +0.02363452, +0.02714413, +0.03625143, +0.05546769, +0.03049479, +0.01752092, +0.03018356, +0.01957443, +0.00864209, -0.20927087, +0.02277882, +0.00021215, +0.01746792, -0.19991114, +0.03490455, +0.25492817, -0.13784706, +0.09987584, +0.05256380, +0.01917195, +0.05014562, +0.02116475, +0.03724368, +0.02126702, + -0.01176233, +0.17873964, +0.17524878, +0.02385142, +0.04852782, +0.27960515, +0.09998287, -0.00271908, +0.09266191, -0.00834525, -0.28240474, -0.03793546, -0.19629880, +0.01090138, -0.00727569, -0.01920101, +0.03910649, +0.11420577, +0.12325624, +0.19357114, +0.24492686, +0.00058685, +0.04024512, +0.02267297, +0.04371486, +0.00068033, -0.07702811, +0.32987287, +0.11989562, +0.17278977, +0.12003554, +0.09786296, -0.00065734, +0.05570602, -0.02015101, -0.10299118, +0.02035650, +0.05641532, +0.02470733, +0.26216993, +0.01235708, -0.10159338, +0.03194525, -0.19602860, -0.02870909, +0.06631931, +0.18446701, +0.12425851, +0.06567042, +0.07455294, +0.38063071, +0.10923941, +0.03247617, +0.11890247, -0.07811622, +0.02200059, +0.13682806, +0.07985531, +0.13072443, +0.13996115, -0.17781263, +0.18833596, -0.24195926, +0.01428894, +0.04293249, -0.00125302, -0.05229991, -0.04187663, -0.03586671, +0.01715714, -0.20587286, -0.00506540, +0.11066282, +0.26531910, -0.00302643, -0.10646187, +0.14039567, +0.02877737, +0.02162877, -0.30674300, -0.14021969, +0.01157874, -0.06122461, -0.26361488, +0.16166662, +0.23485041, -0.19430033, +0.21549765, +0.05097555, -0.06568396, +0.03742934, +0.03114689, +0.12640175, +0.00378655, +0.00196959, -0.05082560, +0.00896523, -0.08333163, +0.08915233, +0.02874326, -0.03391801, /* TECN.TCP_WSCALE */ - -0.69768154, -0.14678321, -0.16747972, -0.06426635, -0.54526556, -0.29893142, -1.40521413, +0.52807147, -1.17996537, -0.01913726, -0.18690849, +0.17443359, -0.21183325, -0.03114384, -0.05410074, -0.10128062, -0.39456397, -0.28127159, -0.14659687, +0.11335940, -0.34454196, -0.10494329, -0.22837237, +0.21778374, -0.17513298, -0.08534310, -0.17495971, -3.39757674, -4.40341100, +0.09306508, -0.34893085, -1.66372898, +1.00939308, +0.03525541, -0.52002407, -0.11449078, +0.19173116, -2.63664937, -0.15228402, +0.61265071, -0.06344867, +0.20727198, -0.13973541, -0.04559212, -0.08107307, -0.15276346, +0.01660060, -0.38160111, +0.12469282, +1.47901937, -0.85230849, -0.99295250, +0.01431461, -0.14758135, +0.34783741, -0.43332627, -0.18034321, -0.32112025, -0.33978308, +2.52337569, -0.32972661, +0.21693453, +0.18083485, -0.37647367, +0.46403023, -0.13937422, -0.10798654, -0.15041064, +0.63644107, +0.99588879, +4.11481071, -0.19030478, +0.60236168, +0.60172018, -0.28493280, +0.34969467, +0.09878429, -0.07952369, +3.15660743, -0.02251822, +0.05313385, +0.06123935, +0.27801187, +0.70480307, -0.08951528, +0.18040694, -0.50974543, -0.07292855, +2.74320756, +0.16934535, +0.46405942, +0.06708988, + -0.59397026, -0.18267049, -0.59102971, -0.03332726, -0.50796886, -0.30817197, -1.46743810, +0.66822075, -1.16477894, +0.08134410, -0.18283869, +0.20791886, -0.19901289, -0.00161024, -0.01599552, -0.05928419, -0.36107320, -0.28756199, -0.13761607, +0.11618236, -0.29469727, -0.13120194, -0.24969571, +0.30139499, -0.14226771, -0.03319263, -0.13518407, -4.47400775, -4.95157402, +0.15493896, -0.32567055, -2.07992549, +1.78811367, +0.10568204, -0.55501133, -0.06968371, +0.18929153, -2.73838327, -0.08516470, +0.48066295, -0.03518246, +0.22027691, -0.10326049, +0.11968470, -0.04613143, -0.16779915, +0.08582949, -0.36374568, +0.08129531, +1.47398318, -0.81690765, -1.43206107, +1.02405715, +0.00662710, -0.11696287, +0.37490762, -0.38471930, -0.17975685, -0.33465637, -0.32219616, +2.71046265, -0.41516540, +0.22121999, +0.22882731, -0.44191453, +0.54380392, -0.08864642, -0.11237893, -0.12166492, +0.76162592, +2.30023073, +1.92111624, -0.14021759, +0.82249134, +0.65717961, +0.56913388, -0.95222423, +0.36668983, +0.15792988, -0.07908810, +4.56647203, -0.02753295, -0.06179570, +0.12639779, +0.29616036, +0.60916651, -0.09710425, +0.16469596, -0.48449357, -0.17276460, +2.75724095, +0.16670035, +0.61619257, -0.48898031, +0.11219799, -0.28985480, +3.82986527, -0.13489602, +0.15430845, -0.20891726, -0.06739611, /* TECN.TCP_CORR_WINDOW_MSS */ - +1.22358652, +6.53219622, -0.27507037, +0.31522682, +0.41697760, +0.36802517, -0.18839787, +0.09795425, -0.24418342, -0.06697830, +0.06088858, -0.77939971, -0.23869639, +0.17672643, -0.08739992, -0.01502204, +0.32599844, -0.05187068, +0.31271905, -0.10729077, -0.02750401, +0.11740118, +0.22154807, -0.11789394, -0.02586810, -0.04007321, +0.21751756, -1.87297492, +2.11551763, -1.96970801, +1.22444278, -0.26524150, -0.33067516, -0.55218215, -2.13173863, +0.09975051, -0.22549024, +0.36417885, -0.99517537, -0.89683763, -0.13812021, -0.12626364, -0.13952442, -0.05723480, -0.23469761, +0.24241984, -2.88791733, -1.55310895, -0.47358600, -1.62943211, -1.64977670, +0.08470871, -0.07507931, +0.14239600, -0.45375881, -0.90956085, -0.25213504, -0.23747006, -0.01930004, +0.23706948, -0.17745190, -0.00670714, -0.13888885, +0.06709847, +0.83190301, +0.59615270, -0.01474434, -0.04505537, -0.36544050, +0.88747033, +2.40900647, +0.12712244, +2.06908084, +1.29253389, +1.64347866, +0.17106483, +0.01878771, +0.23358397, -1.98712023, -0.08082208, -0.20546902, -0.05771977, +0.20533154, +1.22501131, -0.03539923, -0.09545241, +0.14620966, +0.52225649, -1.82840593, +0.35808912, +1.10045704, +0.31867205, + +1.86249210, +6.89581129, -1.40238831, +0.29809179, +0.39870408, +0.43529077, -0.15550553, +0.07747992, -0.24559966, -0.04269853, +0.08146059, -1.16663280, -0.29253506, +0.22539481, -0.11002641, -0.02358254, +0.16186827, -0.08221054, +0.33218299, -0.21250054, -0.02228145, +0.11814820, +0.23209893, -0.15061718, -0.04315306, -0.09138262, +0.26414964, -2.43303728, +1.71800026, -2.10424206, +1.19741302, -0.41492357, -0.90527124, -0.74114592, -2.19575353, -0.01309624, -0.28491753, +0.35665075, -3.23203143, -1.36725520, -0.07829292, -0.12719549, -0.15186446, -0.21643980, -0.30565605, +0.04499729, -3.22642513, -1.70237242, -0.65090252, -1.99554276, -2.08770628, -0.82113197, +0.21135181, -0.11494955, +0.16238451, -0.56355836, -1.08888831, -0.26388981, -0.27748484, -0.07121872, +0.12633761, -0.11429132, -0.01290466, -0.12872189, +0.01074277, +1.04724941, +0.67142691, -0.02493622, -0.08272930, -0.41663796, +0.01727965, +1.03785507, +0.16501775, +0.84461339, +1.20307293, +1.83355266, +0.48295497, +0.12324150, +0.03650386, +0.24688306, -2.74724290, -0.10682205, -0.27333761, +0.01802060, +0.29491286, -0.13119720, -0.03310367, -0.48882168, +0.10969879, +0.60869402, -1.89082397, +0.36578574, +1.66514462, +1.03840620, +0.41187002, +3.41636458, -0.36832909, -0.17726444, +0.39878102, -0.17723632, +0.09345235, /* T2.TCP_WINDOW */ - -0.03376511, -0.00590504, -0.07524531, -0.01076301, +0.02788481, +0.02278783, -0.08368133, +0.00303940, -0.05211310, -0.00877199, -0.04344472, -0.02245643, -0.02053942, +0.21374108, +0.32956345, -0.31777652, +0.04232066, -0.01768935, -0.38091774, -0.08177302, -0.05103428, +0.00222663, -0.00247742, +0.17950421, -0.01450830, +0.32508288, -0.28438144, -0.21698402, -0.40772636, -0.00645097, +0.00600971, -0.17081283, -0.02857885, +0.03689775, -0.11542535, +0.59541620, -0.05477425, -0.17316738, -0.01385363, -0.06427064, -0.03825804, -0.00465904, -0.22566283, -0.02979138, +0.01869810, +0.38299628, +0.03862915, -0.14328417, -0.11596597, +0.02680491, +0.03201329, -0.15809139, +0.59023294, -0.15927196, +0.05224069, +0.29064355, +0.44645999, +0.11257832, +0.18514546, +0.01756662, -0.34981216, +0.14620069, -0.01273075, +0.03214411, +0.20012758, -0.27831556, +0.14833570, +0.27890947, +0.00867084, +0.08625525, -0.06763100, -0.00864059, +0.00456122, +0.04290314, +0.02757779, -0.02859265, +0.50730963, +0.32061549, -0.12627911, -0.01850793, +0.19437129, -0.02022681, -0.29498785, -0.16244406, -0.04050500, +0.15025534, +0.01766214, +0.04576555, -0.10648578, +0.03307525, +0.03496964, -0.05810646, + -0.03540318, +0.03511678, -0.17830917, -0.00759883, +0.04231195, +0.02528148, -0.07573409, -0.01017296, -0.04925156, -0.06483442, -0.05826149, -0.15500917, -0.02288262, +0.15197534, +0.32338877, -0.33066541, +0.08951947, -0.01296154, -0.39192721, -0.11275680, -0.04253901, +0.01169527, -0.01551662, +0.13012207, -0.02280133, +0.31688219, -0.28488382, -0.22812623, -0.33447893, -0.06636256, -0.05949637, -0.21138368, -0.09814276, +0.10719123, -0.09146038, +0.57110339, -0.08814793, -0.27953586, +0.10845501, -0.09155453, -0.04396730, -0.03071760, -0.21400167, -0.05821080, +0.02266907, +0.19111297, +0.04474452, -0.11822542, -0.10946829, -0.09161128, +0.05717504, -0.16872392, -0.08105715, +0.55613788, -0.25689275, +0.06315520, +0.28936791, +0.43515018, +0.08251297, +0.14093870, -0.00963531, -0.34965066, +0.12252639, -0.01801759, +0.04552671, +0.20486910, -0.26486972, +0.15005770, +0.24982599, +0.01083284, +0.15455721, -0.03983591, -0.01221082, +0.02471181, +0.06031443, +0.05809517, -0.10744263, +0.01295078, +0.45619737, +0.29515607, -0.12871046, -0.03428180, +0.10765553, -0.00237412, -0.28645927, -0.29408365, -0.05415117, +0.06020998, +0.02766638, +0.09369222, -0.12079527, +0.02722701, +0.08295439, +0.09291093, -0.20058429, -0.03739007, -0.11533374, +0.01288963, -0.09391435, +0.58942771, -0.03589218, /* T2.TCP_FLAG_F */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_S */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_R */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_P */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_A */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_U */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_E */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_C */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_RES8 */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_RES9 */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_RES10 */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_FLAG_RES11 */ - -0.03352610, -0.00570986, -0.02153158, -0.01059465, +0.02807432, +0.03249187, -0.08341770, +0.00333317, -0.05189778, -0.00866290, -0.04281868, +0.00273572, -0.02029953, +0.21386899, +0.32982137, -0.31750475, +0.04352861, -0.01746012, -0.38075872, -0.08060889, -0.05074246, +0.00246025, -0.00197805, +0.18008583, -0.01413502, +0.32534397, -0.28399198, -0.21674442, -0.40691896, -0.00635238, +0.00609366, -0.17061201, -0.02816608, +0.03825130, -0.11512023, +0.59631470, -0.05362374, -0.17305615, -0.01361632, -0.06404432, -0.03816353, -0.00444852, -0.22547317, -0.02951049, +0.02010108, +0.40379719, +0.03880331, -0.14306983, -0.11559804, +0.02713700, +0.03290481, -0.15783954, +0.26223835, -0.09311699, +0.05498811, +0.29080452, +0.45082782, +0.11501199, +0.18565133, +0.01843530, -0.34956231, +0.14183829, -0.01232577, +0.03221019, +0.20029162, -0.27807864, +0.14852982, +0.28458468, +0.00907435, +0.08970939, -0.06732514, -0.00795759, +0.00470454, +0.04309190, +0.02805893, -0.02877583, +0.51402888, +0.32140715, -0.12602462, -0.01838276, +0.19520350, -0.01623009, -0.29477278, +0.11481433, -0.03626584, +0.18389420, +0.01793345, +0.04842949, -0.10639383, +0.03331556, +0.03572577, -0.05787514, + -0.03860543, +0.02994153, -0.03593648, -0.00792150, +0.04212677, +0.03725148, -0.07595483, -0.01092204, -0.04963696, -0.06911150, -0.05841992, -0.11724532, -0.02291610, +0.15181508, +0.32320035, -0.33119593, +0.08795866, -0.01367487, -0.39247817, -0.11051833, -0.04253324, +0.01136148, -0.01550627, +0.12003926, -0.02287125, +0.31677556, -0.28652178, -0.22882646, -0.33873005, -0.06641404, -0.05991330, -0.21255507, -0.10185551, +0.10763804, -0.09383829, +0.57129632, -0.08731678, -0.28079856, +0.10806230, -0.09230127, -0.04522681, -0.03099377, -0.21482983, -0.05868684, +0.02399991, +0.21414532, +0.04452292, -0.11865415, -0.10962484, -0.09185633, +0.05754627, -0.16936938, -0.08230211, +0.24595936, -0.15616147, +0.06827865, +0.28993384, +0.44379486, +0.08346857, +0.13954217, -0.01005971, -0.34743772, +0.11942810, -0.01768747, +0.04223597, +0.20586450, -0.26556371, +0.14804038, +0.26255231, +0.01055650, +0.15797763, -0.03979112, -0.01200525, +0.02461835, +0.05952743, +0.05611126, -0.10780194, +0.01014314, +0.49660999, +0.29579543, -0.12987163, -0.03505031, +0.10709917, +0.00099655, -0.28506812, +0.03328731, -0.04511498, +0.13009781, +0.02710536, +0.09481739, -0.12099522, +0.02712045, +0.08223217, +0.08966358, -0.20097284, -0.03630045, -0.11638696, +0.01358048, -0.10036207, +0.58966097, -0.03252745, /* T2.TCP_OPT_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T2.TCP_CORR_WINDOW_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_WINDOW */ - -0.55718397, +3.01037898, -0.07926719, -0.13468656, +0.68159686, -0.16304820, -0.38482088, +0.28281625, -0.28307567, -0.00425816, -0.33273059, -0.06325623, +0.10552337, -0.02605313, +0.19350576, -0.02040380, -0.12596854, -0.07700224, +0.44607591, -0.04871097, +0.03201478, -0.06878670, +0.41170100, +0.06436756, -0.07681756, -0.35326471, -0.36111229, -0.17861465, -0.43238950, -0.07392910, -0.08336611, -0.20811414, -0.44774406, -0.07151202, -0.36022817, +0.18426214, -0.10863682, +0.67883180, -1.87295174, +2.19339311, -0.01489370, +0.20019949, +0.01293359, +0.51991341, -0.06992889, +0.05165273, -0.33675734, -0.36081723, -0.26805175, -0.28916684, -0.14707219, -0.44018931, +0.19127572, +0.29002567, -0.04055138, -0.94286054, -0.23171559, +0.03726324, +0.07085876, -0.15174722, +0.15627632, +0.06467193, -0.06963362, +0.22714984, +1.10882903, +0.77150585, +0.08333839, +0.13893465, -0.53483109, -0.16421810, -0.22913117, -0.08419332, -0.21007444, -0.18593072, -0.19152595, -0.40819268, +0.15704447, -0.26881081, -0.17670841, +0.00367050, +0.07676089, -0.18482194, +0.30227277, +0.07912100, +0.11092268, +0.04727894, -0.22060868, -0.04644218, -0.34911474, -0.12723455, -0.17644017, +0.43621653, + -0.76689090, +3.84041985, -0.10396884, -0.11455811, +0.56585341, -0.08857706, -0.47068985, +0.37973223, -0.24741487, -0.01691337, -0.44477571, -0.04291131, +0.11158337, -0.03141260, +0.18437268, +0.00677818, -0.18525744, -0.06890649, +0.41959695, -0.09593640, -0.01031043, -0.04209544, +0.33235709, +0.02712762, -0.04332347, -0.37421923, -0.34121187, -0.14801412, -0.38271911, -0.03181635, -0.13514238, -0.35401218, -1.80269511, +0.00893112, -0.25231408, +0.00796907, -0.08897131, +0.60757459, -3.69540568, +2.18227702, -0.11407265, +0.12485288, -0.08610993, +0.59319052, -0.07449555, +0.07754321, -0.33381101, -0.34577093, -0.26455687, -0.25108307, -0.12641048, -0.35641710, -0.23951837, +0.19189697, +0.28324520, -0.00758350, -1.10937314, -0.22486086, +0.03135338, +0.05890877, -0.08690256, +0.24411191, +0.04379294, -0.02471529, +0.16264152, +1.33003488, +0.76021858, -0.01591564, +0.13154458, -0.63018420, -0.21153725, -0.12443392, -0.05588687, -0.19459126, -0.19343443, -0.01501776, -0.14227977, -0.43934817, +0.08216172, -0.27456536, -0.15917658, +0.01190913, +0.08977697, -0.17998304, +0.26818760, -0.03704777, +0.09521763, -0.02141579, -0.19791147, -0.12147147, -0.34558952, -0.11190331, -0.15235768, -0.05109826, +0.49409364, -0.08762837, -0.13263952, -0.03635731, -0.24129843, -0.20674055, +0.05826968, /* T3.TCP_FLAG_F */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_S */ - +0.37193263, +1.22108168, -0.16343635, -0.16612679, +0.09825890, -0.16077900, +0.49039247, +0.19821147, -0.45139647, -0.01976636, +0.44438958, -0.08803916, +0.06902163, -0.04906260, +0.57667717, +0.23816723, -0.14375426, -0.11586074, +0.17338567, +0.23517163, +0.17826629, -0.09243415, +0.18458703, +0.00416602, -0.11263346, -0.62068299, -0.43594501, -0.25388962, -0.47158608, -0.09174592, -0.10676891, +0.47215797, +0.30756999, +0.00245505, -0.62365436, +0.64381427, -0.13138837, +0.31293694, +0.53417856, +0.46387629, -0.04319327, +0.07858454, +0.17361236, +0.16587422, -0.08085629, -0.00631949, -0.52044465, -0.50249554, -0.33792943, -0.51652446, -0.24523374, -0.64820093, +0.12709247, +0.18428909, -0.09882017, +0.25023900, -0.28254516, -0.01142774, -0.04198173, -0.27149759, +0.27273020, -0.02096192, -0.09478906, +0.11865061, +0.12004610, +0.28508066, +0.15566282, -0.04476216, +0.15232156, -0.33604336, -0.25717420, -0.11552504, -0.34173094, -0.24918292, -0.23805485, -0.41221848, +0.17919189, -0.30856077, -0.20841656, -0.00911641, +0.03813696, -0.21501760, +0.24674776, +0.04680083, -0.16546305, -0.00139639, -0.27590232, -0.06241054, -0.53878944, -0.17606509, -0.21655748, +0.21111906, + +0.25170342, +0.87499869, -0.23610692, -0.12927952, -0.02533015, -0.09548646, +0.44647439, +0.22450346, -0.42930027, -0.03136368, +0.31046179, -0.01190725, +0.06611334, -0.04517627, +0.56157982, +0.20215336, -0.15730902, -0.10863960, +0.12270797, +0.16383287, +0.09500700, -0.04583854, +0.09233587, -0.09557521, -0.06632101, -0.60619990, -0.39886409, -0.27018676, -0.33587650, -0.05153847, -0.13770995, +0.48110210, +0.12523863, +0.00155930, -0.59819618, +0.47071059, -0.08395607, +0.14663988, +0.41345149, +0.23685248, -0.11759668, +0.02042255, +0.05018125, +0.09249786, -0.12077368, -0.02333295, -0.47501733, -0.47842549, -0.29340591, -0.50061176, -0.23044294, -0.59088364, -0.44990956, +0.10498069, -0.16791934, -0.07786927, +0.24791628, -0.26467887, -0.01045619, -0.07125264, -0.24741536, +0.18616375, -0.04133945, -0.03073717, +0.04141651, +0.04283919, +0.18843555, +0.06377730, -0.04110198, +0.10566352, -0.57302902, -0.12168493, -0.06581663, -0.31691250, -0.23029401, +0.00119216, -0.18418353, -0.38972269, +0.12600884, -0.28139214, -0.15077937, +0.01887733, +0.09752670, -0.18153413, +0.17218829, -0.06656138, -0.23194044, -0.05409118, -0.22551089, -0.03566699, -0.53341622, -0.14328945, -0.12324375, -0.14452676, +0.15005238, -0.04101883, -0.12438264, -0.04727463, -0.15027171, +0.18440529, +0.45882901, /* T3.TCP_FLAG_R */ - +0.10792903, +0.55555422, -0.16183163, -0.07749189, +0.05760248, -0.29262523, +0.12172701, +0.08433512, -0.35146557, -0.00785341, +0.08805441, -0.09848053, +0.32673442, -0.02710752, +0.26077991, +0.03531551, -0.06292603, -0.07317122, +0.09774609, +0.03094229, +0.05926128, -0.04994572, +0.07760438, +0.26846171, -0.05125476, -0.34998989, -0.51302634, -0.12139623, -0.21308424, -0.11684688, -0.09454003, -0.03781850, +0.09823178, +0.00955631, -0.38922112, -0.23840195, -0.19012373, -0.12463627, +0.23959400, +0.07430752, -0.00551758, +0.01983352, +0.08121307, +0.06807484, -0.11216264, +0.64435284, -0.28002246, -0.51520551, -0.39588479, -0.25933864, -0.14284945, -0.62112941, +0.38291731, +0.57475480, -0.03264773, +0.10179701, -0.19297051, +0.14312063, +0.34153766, -0.18781514, +0.14670796, +0.29740622, -0.03858415, +0.06723691, +0.07013968, +0.11334458, +0.06331706, +0.67929918, +0.06563427, -0.13698217, -0.09885425, -0.08165818, -0.21073495, -0.13403138, -0.14893055, -0.30442328, +0.08198605, -0.24311080, -0.24664651, +0.00625955, +0.27536611, -0.15537513, +0.13274411, +0.41653136, +0.11044034, +0.31174730, -0.16911407, -0.01889252, -0.49539228, -0.09260580, -0.11879539, -0.00453731, + +0.11842626, +0.96986568, -0.28943779, -0.05312147, +0.01132644, -0.23223081, +0.14952948, +0.13699777, -0.35018876, -0.08913472, +0.05636292, -0.24672914, +0.33694518, -0.06309987, +0.26886240, +0.08658617, -0.00795077, -0.08085504, +0.10431071, -0.06120824, +0.00543699, -0.01863669, +0.02554729, +0.20067613, -0.01918429, -0.37621431, -0.46094581, -0.06924775, -0.02796005, -0.09649272, -0.14912449, -0.08443528, -0.21799807, +0.03134170, -0.43041946, -0.46847282, -0.22917690, -0.27511781, +0.56951050, -0.18821586, -0.05750632, -0.06660868, +0.03211281, +0.07470129, -0.09707365, +0.67174778, -0.26842234, -0.48905608, -0.38501580, -0.24887897, -0.11182636, -0.62407419, -0.35804032, +0.35253540, +0.70954203, -0.00746073, +0.03755685, -0.22053675, +0.09263619, +0.29181493, -0.23631426, +0.21287257, +0.24716239, +0.00636160, +0.06633841, -0.05405611, +0.11335516, -0.02199639, +0.66565139, +0.04333754, -0.19549757, -0.05798901, -0.07794127, -0.18383065, -0.12167018, -0.00100673, -0.16177114, -0.23361440, -0.06218299, -0.26407782, -0.31291775, +0.05973573, +0.18797361, -0.15546785, +0.21338753, +0.15790462, +0.05799657, +0.15736724, -0.14315681, +0.04949333, -0.55015585, -0.09771711, -0.03749471, -0.01314221, +0.06059421, -0.14768671, -0.08516660, -0.05399396, -0.31739516, -0.36948561, -0.14390138, /* T3.TCP_FLAG_P */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_A */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_U */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_E */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_C */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_RES8 */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_RES9 */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_RES10 */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_FLAG_RES11 */ - +0.17412041, +0.63509294, -0.09152525, -0.06592941, +0.06923534, -0.13220239, +0.21952533, +0.10838900, -0.24532247, +0.00417388, +0.10312755, -0.04146660, +0.13965032, -0.01567261, +0.28958992, +0.10813679, -0.04764861, -0.05311623, +0.10486676, +0.09824115, +0.09138492, -0.03792440, +0.09847206, +0.10466743, -0.03941104, -0.30919342, -0.29164450, -0.10182431, -0.19663240, -0.05623818, -0.04489779, +0.15890296, +0.14509300, +0.02260283, -0.31411366, +0.14500294, -0.09037074, +0.08294908, +0.27162331, +0.20705665, +0.00027057, +0.04682057, +0.10168413, +0.08575262, -0.04970929, +0.22305230, -0.23780992, -0.31577001, -0.22343271, -0.22951557, -0.10363821, -0.39671925, +0.18172194, +0.27288326, -0.02040506, +0.12035993, -0.14818338, +0.05975458, +0.11270490, -0.12281612, +0.15466306, +0.10418103, -0.03015362, +0.08620128, +0.07866036, +0.15330063, +0.07943559, +0.22448504, +0.08472866, -0.12167879, -0.08908385, -0.05287541, -0.16346262, -0.09980192, -0.09943856, -0.21732015, +0.09785909, -0.17177244, -0.12650027, +0.01272240, +0.12201335, -0.13390724, +0.14063334, +0.17140690, +0.17100310, +0.11459287, -0.12496176, -0.00536924, -0.32010414, -0.06841085, -0.08596803, +0.08440575, + +0.19624699, +0.91701771, -0.16813534, -0.04647375, +0.01226281, -0.09808375, +0.22089037, +0.13912007, -0.24151360, -0.02634980, +0.07767854, -0.07418703, +0.15192535, -0.02826930, +0.29152335, +0.12601075, -0.03640583, -0.05884122, +0.09168464, +0.05477192, +0.05326340, -0.01350657, +0.06165957, +0.06586613, -0.01353459, -0.34572725, -0.28845908, -0.09400902, -0.10068815, -0.03439620, -0.07688236, +0.15834571, +0.04016572, +0.02818858, -0.32338646, +0.06689081, -0.09214599, -0.01039905, +0.53091440, +0.14902253, -0.04985946, +0.00049296, +0.05304561, +0.08107527, -0.06191970, +0.37480698, -0.23492650, -0.32137023, -0.22911693, -0.22731915, -0.09414254, -0.39448373, -0.25612274, +0.18685503, +0.22263436, -0.00906252, +0.11566523, -0.15451987, +0.04306080, +0.10040149, -0.16363615, +0.16877075, +0.09314360, +0.00698987, +0.07301442, +0.01539997, +0.12325494, +0.02001633, +0.23817738, +0.06870916, -0.22492660, -0.05208700, -0.03651174, -0.16642251, -0.09260828, +0.02599324, -0.09561941, -0.18731773, +0.04263712, -0.18516987, -0.13792389, +0.04299181, +0.13224178, -0.13735207, +0.14485678, +0.05368104, +0.15943704, +0.06969573, -0.10069368, +0.02819739, -0.34413232, -0.06562178, -0.02273835, -0.03023624, +0.11409778, -0.04479487, -0.04596302, -0.02274843, -0.13833057, -0.05568464, +0.16591441, /* T3.TCP_OPT_0 */ - +0.28083985, +0.60064579, -0.04887749, -0.08825399, +0.24409165, +0.01780407, +0.38355437, +0.15417324, -0.20925032, +0.00791674, +0.23038062, -0.00099896, -0.07173203, -0.01569883, +0.41361936, +0.21641584, -0.06761067, -0.05480857, +0.12638883, +0.20429269, +0.14761496, -0.05081548, +0.35466281, -0.09422871, -0.05289006, -0.37262964, -0.11894116, -0.13343552, -0.27282154, -0.00778301, -0.01613336, +0.44228316, +0.22792372, +0.02555269, -0.34690094, +0.69409994, -0.00577548, +0.31969797, +0.37384055, +0.34281152, -0.00874667, +0.08269943, +0.14485110, +0.12454911, +0.00186693, -0.27651721, -0.29111992, -0.17989438, -0.09113745, -0.29670260, -0.11842427, -0.25756477, -0.03857879, -0.05920401, -0.03549702, +0.18199640, -0.14859320, -0.04916958, -0.16923902, -0.12001747, +0.19983802, -0.13182844, -0.04447658, +0.11088405, +0.09995980, +0.23349135, +0.11986593, -0.32062654, +0.37403615, -0.18000878, -0.13590479, -0.05099325, -0.17783043, -0.11927594, -0.12971472, -0.19509610, +0.14049520, -0.14663569, -0.03417911, +0.01153854, -0.06062827, -0.14057543, +0.18277716, -0.11875621, +0.11844588, -0.12261319, -0.18349968, -0.01219418, -0.21835087, -0.10712215, -0.14212366, +0.19817954, + +0.21836223, +0.43522407, -0.07107930, -0.06698346, +0.13442955, +0.04124408, +0.32706076, +0.16253965, -0.19309563, +0.03270093, +0.19686525, +0.12622058, -0.07396256, +0.00137404, +0.40477585, +0.16665735, -0.10661262, -0.05107715, +0.06420589, +0.19854293, +0.10522054, -0.03326328, +0.25616666, -0.13656770, -0.02466191, -0.38596714, -0.13149010, -0.17317958, -0.24721404, +0.02228556, -0.01887778, +0.50410219, +0.32363525, +0.01526777, -0.30912307, +0.73726243, +0.05031523, +0.23156510, +0.52644088, +0.38577552, -0.06357838, +0.06952476, +0.06815317, +0.05377353, -0.04578924, -0.28643159, -0.27198001, -0.19095400, -0.06702618, -0.29588641, -0.12412819, -0.21695432, -0.21126842, -0.04360624, -0.42203060, -0.03522895, +0.24212777, -0.12154666, -0.02679768, -0.16524212, -0.14561597, +0.11965286, -0.12382945, -0.00696168, +0.06724207, +0.08720443, +0.14380254, +0.07654803, -0.31187584, +0.34224890, -0.37314098, -0.06691335, -0.01204828, -0.19505842, -0.11168805, -0.01937299, -0.07790534, -0.20661279, +0.17007546, -0.12868147, +0.04141332, +0.01760381, +0.00714842, -0.13291198, +0.08584868, -0.09817408, +0.10849301, -0.08157227, -0.17293715, -0.01859486, -0.19643365, -0.08655084, -0.14961042, -0.09668888, +0.15505391, +0.03992817, -0.03416409, -0.00094084, +0.02192652, +0.33647790, +0.56222789, /* T3.TCP_OPT_1 */ - +0.36208241, +1.46226991, -0.03980437, -0.05662511, +0.29877541, +0.02474991, +0.53390519, +0.08453963, -0.21795462, +0.02527469, +0.11425588, +0.00268029, -0.04194193, +0.01099326, -0.00742152, -0.03516400, -0.04268290, -0.03103643, +0.08952429, +0.10809625, +0.18899675, -0.04186690, +0.39028944, -0.07426937, -0.03164151, +0.02109248, +0.04481562, -0.08439139, -0.18262149, +0.00215460, +0.01155243, +0.59432041, +0.29351994, +0.03985681, -0.36683418, -0.02568528, -0.00076979, +0.18183445, +0.48759920, +0.54290558, +0.00108594, +0.10346833, -0.06651405, +0.10141774, +0.02413666, -0.21313442, -0.30967144, -0.18837269, -0.07881150, -0.31265816, -0.12306696, -0.27027056, -0.02644239, +0.02490223, -0.03682986, +0.13819655, -0.10524110, -0.02951554, -0.09221100, -0.13258895, +0.14390819, -0.02565868, -0.02605326, +0.04805591, +0.08348541, -0.05911648, +0.08670385, +0.00573379, +0.36255611, -0.19229289, -0.08206837, -0.03638088, -0.18714288, -0.10549061, -0.12082410, -0.12950146, +0.11198908, -0.09422534, -0.01091271, +0.01831133, -0.04730591, -0.11633906, +0.13957974, -0.07856669, +0.22296481, -0.07403183, -0.18045608, +0.00069867, -0.23436246, -0.10479951, -0.13347922, +0.02656522, + +0.48132885, +1.91843777, -0.08884723, -0.03096106, +0.22638801, +0.09832812, +0.52677714, +0.06097828, -0.21841463, +0.12232950, +0.10323851, +0.09582119, -0.03906866, +0.03411533, -0.00846557, -0.08756235, -0.03439789, -0.02182668, +0.02756739, +0.07840608, +0.13015550, -0.03153568, +0.29629508, -0.10897846, +0.00153639, +0.04019946, +0.09325757, -0.02662120, -0.16838144, +0.01940691, +0.07003471, +0.70388872, +0.26543526, -0.02804560, -0.41754168, -0.02187242, +0.04231025, +0.10532485, +0.39900832, +0.61075577, -0.04061396, +0.12313298, -0.10323758, +0.01412178, +0.04067829, -0.19280739, -0.30174744, -0.21336342, -0.05135363, -0.32868498, -0.13865819, -0.26451569, -0.25614355, -0.02080473, +0.04605380, -0.05625670, +0.19787425, -0.08052521, -0.02145970, -0.08164112, -0.20511089, +0.02712120, -0.02205138, +0.01067443, +0.00530178, +0.07706404, -0.12438425, +0.04863572, +0.03369338, +0.31569809, -0.60171850, -0.03322235, +0.00344731, -0.20814577, -0.10090413, -0.06701459, -0.05050884, -0.12550149, +0.13988222, -0.06750099, +0.03968660, -0.03302487, +0.00530956, -0.11001553, +0.01521676, -0.03811472, +0.21797278, -0.03507642, -0.18050500, +0.01583442, -0.22879538, -0.09288758, -0.14709636, -0.12517589, -0.04714976, +0.04833587, +0.02087882, +0.01053745, +0.04334101, +0.23793876, -0.04004833, /* T3.TCP_OPT_2 */ - +0.57081664, +2.95534491, -0.06348899, -0.07906195, +0.02984529, +0.01509081, +0.82464797, +0.10043706, -0.32679633, +0.02080732, -0.05314440, -0.01695175, -0.06033439, +0.00558100, -0.01806339, -0.04983005, -0.06891485, -0.04643419, +0.12092307, -0.01947107, +0.13646828, -0.04967846, +0.03224558, -0.10712622, -0.04167933, +0.01438121, +0.03578321, -0.13517313, -0.26318738, -0.00744096, -0.00262280, +0.90583995, +0.45820327, +0.04550570, -0.52874593, -0.03960433, -0.01581485, +0.37901898, +0.75720355, +0.97584121, -0.01668693, +0.11847983, -0.09846683, +0.11745408, +0.01836940, -0.28606100, -0.46368323, -0.28710948, -0.12818282, -0.46712618, -0.18489203, -0.40461649, -0.04606320, +0.01377628, -0.07559083, +0.22500271, -0.14396611, -0.05384973, -0.13801809, -0.19116998, +0.16967773, -0.04562909, -0.04089415, +0.03348468, +0.10310242, -0.08840019, +0.00874072, -0.00508228, -0.11806513, -0.30549240, -0.13143870, -0.04555291, -0.27994459, -0.16517204, -0.11729723, -0.18545911, +0.14511410, -0.13756013, -0.03804564, +0.01116952, -0.07927553, -0.22942210, +0.17591831, -0.10120316, +0.64727127, -0.10674312, -0.14883834, -0.01742577, -0.35511584, -0.10347611, -0.10204872, +0.01360359, + +0.62319543, +2.77270981, -0.13079009, -0.04180324, -0.01171753, +0.11259100, +0.82825017, +0.06239658, -0.33147675, +0.15427122, -0.11074308, +0.10095856, -0.05432288, +0.03435886, -0.01491050, -0.09653856, -0.05633712, -0.02791276, +0.07613335, -0.06893553, +0.07704601, -0.01759395, +0.02114704, -0.13308856, +0.00563682, +0.04018966, +0.09542558, -0.06082882, -0.24078945, +0.01401126, +0.07248850, +1.00564107, +0.20488298, -0.06019362, -0.58869038, -0.02874092, +0.04066087, +0.34397936, +0.43030347, +0.69956731, -0.07143413, +0.13913031, -0.13763495, +0.05443011, +0.03929090, -0.25323618, -0.44079325, -0.30740280, -0.08489961, -0.48763808, -0.21067047, -0.40460854, -0.38753414, -0.03800076, +0.03712807, -0.09940021, +0.29855164, -0.11143845, -0.04340602, -0.12131209, -0.29894961, +0.02171690, -0.03896553, +0.01224641, -0.04764569, +0.09793312, -0.15529968, -0.06986113, +0.02845562, -0.18906421, -0.87671591, -0.05191530, +0.01479057, -0.29015366, -0.15840169, +0.02882119, -0.04617325, -0.18040807, +0.17517489, -0.10055295, +0.02983449, -0.05792923, +0.00101562, -0.23294624, -0.00096197, -0.04018090, +0.63205636, -0.05068616, -0.09994235, +0.01148964, -0.34863553, -0.07887350, +0.01731772, -0.17890223, -0.06919234, +0.09472379, +0.01724569, +0.00411045, +0.07812687, +0.30621081, -0.07113803, /* T3.TCP_OPT_3 */ - +0.16781196, -0.75336414, -0.04090082, -0.08137995, +0.01302667, +0.02878621, +0.15642017, +0.35468534, -0.14283288, +0.02634914, +0.34710104, +0.00855576, -0.04360522, +0.01215964, -0.00874990, -0.01534563, -0.09603062, -0.03790975, +0.07802638, +0.63045761, +0.53430624, -0.03028801, +0.05299959, -0.08566157, -0.06977507, +0.02261850, +0.04653238, -0.07804441, -0.17957436, -0.00217974, +0.00602794, +0.19875647, +0.12986051, +0.01534069, -0.24055013, -0.03144975, +0.00365057, +0.77890873, +0.15394350, +0.06688632, +0.01226573, +0.10907112, -0.06715460, +0.11975110, +0.02520159, -0.33265062, -0.19920438, -0.12040404, -0.05057106, -0.20917427, -0.06835225, -0.17715253, -0.02054614, +0.02883725, -0.01085354, -0.04021061, -0.10690705, -0.01429244, -0.06371068, -0.03395407, +0.13416895, -0.01762954, -0.03658471, +0.33390833, +0.03970301, -0.07878284, +0.41768276, +0.00799596, +0.08916558, -0.11212314, -0.08220917, -0.03571596, -0.12176752, -0.10965338, -0.07490599, -0.31657262, +0.07525151, -0.08754882, -0.00818345, +0.02045489, -0.05348297, -0.02480861, +0.10197692, -0.11088624, -0.29285380, -0.07000179, -0.08382921, -0.02211893, -0.14692670, -0.04723894, -0.06082649, +0.65742442, + -0.01628537, -0.80920303, -0.03913783, -0.06450791, -0.09379775, +0.10289246, +0.15021041, +0.42146926, -0.12408613, +0.10546769, +0.31050733, +0.11116123, -0.04190138, +0.02922726, -0.02754442, -0.03452787, -0.21564040, -0.05997777, +0.01837801, +0.62514586, +0.41509868, -0.01059574, +0.02833134, -0.19250156, -0.07082857, +0.03894465, +0.08627963, -0.03336063, -0.17549226, +0.02456595, +0.02125063, +0.21894910, +0.42360322, +0.01167185, -0.19055009, -0.05819653, +0.03984715, +0.64998473, -0.04413195, +0.06782521, -0.00449108, +0.12614071, -0.10568948, +0.07405704, +0.03981987, -0.54232009, -0.18155893, -0.12795415, -0.02142829, -0.18964108, -0.07239514, -0.13291212, -0.15434834, -0.01393897, +0.05245702, -0.00627074, -0.02525887, -0.08422937, -0.00415528, -0.05121802, -0.03972338, -0.01670075, -0.01272225, -0.02116581, +0.28078749, -0.01405800, -0.17880444, +0.42318978, +0.03394498, +0.07121053, -0.32756744, -0.03660430, -0.01865774, -0.13207990, -0.12098530, +0.05387122, -0.02587946, -0.41407403, +0.08296948, -0.07192212, +0.04517906, -0.02311631, -0.04296764, +0.00840804, -0.01917941, -0.10689883, -0.34172455, -0.03627545, -0.05151642, -0.17238244, -0.12428402, -0.02567970, +0.02001040, -0.04582347, +0.52775529, +0.02760666, -0.00349988, +0.01207669, -0.09699598, +0.67435324, -0.03965228, /* T3.TCP_OPT_4 */ - +0.30021648, -0.09414221, -0.05107173, -0.06513066, +0.06325901, +0.02520235, +0.37325959, +0.33009501, -0.19455284, +0.02540669, +0.35596811, +0.00056797, -0.04265838, +0.01124325, -0.00659610, -0.01761064, -0.10105362, -0.02205367, +0.08269110, +0.20628313, -0.23183718, -0.03526147, +0.11616161, -0.08371632, -0.04272363, +0.02158674, +0.04538226, -0.07876600, -0.18159644, +0.00068456, +0.00972236, +0.50675849, +0.21847511, +0.02054171, -0.32337808, -0.02499631, -0.00213284, +1.25919281, +0.40852217, +0.25486185, +0.00502240, +0.10527203, -0.05892066, +0.11747091, +0.02379722, -0.34273469, -0.27457142, -0.16786738, -0.07248396, -0.28373461, -0.10364040, -0.24163816, -0.02539844, +0.02569466, -0.02931781, +0.08833644, -0.10611651, -0.02282684, -0.07934460, -0.07497353, +0.12922974, -0.02305013, -0.02965798, +0.30114123, +0.05791242, -0.07854905, +0.17278233, +0.00660203, +0.12307811, -0.16822669, -0.08307561, -0.03199239, -0.16787579, -0.13454016, -0.10315228, -0.31644904, +0.10034984, -0.08920584, -0.00987835, +0.01843860, -0.06292899, -0.02787996, +0.12232346, -0.07948592, -0.30251077, -0.07158377, -0.12064057, -0.02628830, -0.20591842, -0.07255849, -0.08807241, +0.58211059, + +0.28010182, +0.10678138, -0.07346050, -0.03603589, -0.04010673, +0.10682786, +0.36450812, +0.37992928, -0.18407346, +0.11422586, +0.33541024, +0.10566313, -0.03905651, +0.03375173, -0.01725648, -0.04098297, -0.20462488, +0.00656726, +0.01380595, +0.19634460, -0.26293410, -0.01434585, +0.08863102, -0.15598369, -0.01842377, +0.04012746, +0.09176362, -0.02014285, -0.16110716, +0.01718904, +0.04287454, +0.50648439, +0.43957653, -0.02308508, -0.30991324, -0.03845433, +0.04008765, +1.11376269, +0.56801849, +0.30810106, -0.02334595, +0.12465061, -0.08899052, +0.06732871, +0.04020389, -0.53805528, -0.26035440, -0.18344410, -0.04027321, -0.27530391, -0.11500451, -0.21028615, -0.22682445, -0.01769743, +0.04852641, -0.03481001, +0.13947760, -0.08052888, -0.01355939, -0.06519934, -0.08938918, -0.04000761, -0.01805803, +0.00419123, +0.24425452, -0.00705183, -0.18147565, +0.10495791, +0.03859161, +0.09820063, -0.49013985, -0.03252269, +0.00855194, -0.18174645, -0.14897314, +0.02400191, -0.04287654, -0.40431100, +0.11524544, -0.06656367, +0.04160055, -0.03102477, -0.03633823, +0.00874404, -0.03435843, -0.04140645, -0.36116119, -0.03300763, -0.09253510, -0.16314433, -0.19362952, -0.05309800, -0.01905249, -0.09249980, +0.47826068, +0.03113022, +0.01598503, +0.01128416, -0.09255434, +0.67937688, -0.05100058, /* T3.TCP_OPT_5 */ - -0.00965292, -0.17380005, +0.03719422, -0.09352465, -0.00955011, +0.04751791, -0.04840662, -0.01115268, +0.05417316, +0.03271439, +0.89974461, +0.05240197, -0.03995815, +0.01838630, -0.00040066, +0.03235733, +0.05020919, -0.00490666, +0.33221890, +0.51129473, -0.12142111, -0.01206349, -0.02005609, -0.00340793, -0.02732002, +0.03171056, +0.06006509, -0.18844186, -0.40818499, +0.00095839, -0.01380939, -0.02593521, -0.03589767, +0.04153200, +0.06079465, -0.03613643, +0.03779275, -0.04841389, -0.09483585, -0.10048949, +0.04167335, +0.28151389, -0.09469741, +0.38050688, +0.03456613, -0.01368284, +0.07662518, +0.05913515, +0.03865179, +0.07338022, +0.06634986, +0.06583780, -0.00786860, +0.04714154, +0.06112086, +0.47157556, -0.20420721, +0.03176274, +0.01803600, +0.06341440, +0.43712886, +0.00762231, -0.04314916, -0.06395030, +0.22300349, -0.02485840, -0.07485793, +0.01674520, +0.00797675, +0.09828101, -0.21661842, +0.00295804, +0.05410039, +0.07021080, +0.07668687, +0.05641013, +0.24992222, -0.17614096, -0.04557202, +0.02917184, +0.03145332, -0.05266441, +0.36573100, -0.07347532, -0.50443393, -0.07256916, +0.05683959, +0.05390143, +0.06706372, +0.05111899, +0.05715797, -0.04127070, + -0.25801453, -0.35686589, +0.07130379, -0.11094817, -0.04756212, +0.05767528, -0.09948516, -0.04785276, +0.07572280, +0.05945167, +0.79020072, +0.13475997, -0.03779367, +0.01149534, -0.02430486, +0.03379113, +0.06974530, -0.00106958, +0.35854377, +0.56247035, -0.13267433, -0.00804359, -0.04211072, -0.00988103, -0.03622328, +0.03302428, +0.07209859, -0.26903069, -0.61833629, +0.03450808, -0.03817362, -0.01593847, -0.11034234, +0.19301559, +0.22601646, -0.06246219, +0.04823361, -0.02193125, -0.32161193, -0.25062312, -0.04749892, +0.18784709, -0.16702501, +0.37472204, +0.03535096, +0.11554077, +0.08426084, +0.06672869, +0.02473434, +0.09017438, +0.07438754, +0.10590305, +0.10035795, -0.01220516, +0.06149153, +0.07479970, +0.46493643, -0.20832172, +0.02796860, +0.02657354, +0.06579064, +0.57235538, +0.00518364, -0.05957341, -0.14475411, +0.28306230, -0.05141973, -0.05020595, -0.00841105, +0.01870618, +0.16206392, -0.13662307, +0.00935362, +0.04330185, +0.10158379, +0.10131106, +0.07100436, +0.08541360, +0.24397602, -0.18570304, +0.02506390, -0.04203558, +0.05083343, -0.04054833, +0.37177291, -0.08970798, -0.50249818, -0.05442272, +0.08028393, +0.09221266, +0.08982558, +0.06381638, +0.11689529, +0.10757357, -0.06170698, +0.09109314, -0.27920391, +0.01726335, +0.15617938, -0.17533014, +0.03772601, /* T3.TCP_OPT_6 */ - +0.01522621, -0.10225163, +0.04333621, -0.05832309, +0.00033160, +0.05185266, -0.02826082, +0.00905152, +0.06019667, +0.03629567, -0.16567675, +0.05740849, -0.02067369, +0.02196585, +0.00929441, +0.04765625, +0.05606487, +0.00726100, +0.53703468, -0.07379211, +0.01699358, -0.00332457, +0.00809951, +0.02265574, -0.02189072, +0.03699944, +0.06714852, -0.17071921, -0.38323831, +0.00618291, -0.00834197, +0.02139268, +0.00975402, +0.04836214, +0.06613462, -0.02588993, +0.04431218, +0.02038469, +0.01985788, +0.02924884, +0.04635456, +0.00092899, +0.04272477, -0.08320871, +0.03881085, -0.00663172, +0.08184561, +0.06515046, +0.05665526, +0.07938842, +0.07123058, +0.07256706, +0.00030368, +0.05304004, +0.06515055, +0.52694375, -0.19653882, +0.03838376, +0.02623298, +0.07611372, +0.84922920, +0.02149126, -0.02876412, -0.04450412, +0.27405417, +0.00214336, -0.05775337, +0.02334119, +0.02198763, +0.10286082, -0.19115146, +0.02680688, +0.05806121, +0.07611594, +0.08210216, +0.05977961, +0.46438675, +0.02031923, -0.02814986, +0.03283517, +0.03988995, +0.03993894, -0.42564936, +0.03576255, +0.00690901, -0.01113569, +0.06341171, +0.05863641, +0.07070009, +0.05740252, +0.06733130, -0.00511461, + -0.23930628, -0.29374269, +0.06618046, -0.06848228, -0.04828271, +0.04994360, -0.09726523, -0.03413068, +0.07085266, +0.06689894, -0.16357562, +0.06323100, -0.01748150, +0.00853388, -0.02129680, +0.04749157, +0.06530070, +0.01190526, +0.59911895, -0.07514448, +0.02053898, -0.00539042, -0.00286243, +0.04069341, -0.03820957, +0.03329449, +0.06668317, -0.26210175, -0.62842451, +0.03079523, -0.03757606, +0.03482406, -0.01042030, +0.15118729, +0.11013725, -0.06476564, +0.05177442, +0.00624707, -0.04454095, -0.02196447, -0.00571357, -0.00752305, +0.04154685, -0.19118417, +0.03608934, -0.05872153, +0.08165527, +0.06186522, +0.05763144, +0.08841222, +0.07359548, +0.08598110, +0.08424044, -0.00846389, +0.06021471, +0.06740161, +0.54743668, -0.20894065, +0.02783502, +0.02351037, +0.06635162, +0.98646112, +0.01860541, -0.05166258, -0.13115995, +0.31640087, -0.03137413, -0.06734647, -0.01422792, +0.02468993, +0.14153408, -0.12885374, +0.03456444, +0.04483307, +0.09398802, +0.09036505, +0.06856215, +0.07654753, +0.47698163, +0.02526804, +0.01463693, -0.01424241, +0.03868972, +0.04713195, -0.49750346, +0.03299772, +0.01804637, +0.00508627, +0.07538113, +0.08236517, +0.07227154, +0.06180495, +0.10570820, +0.08984223, -0.00553549, +0.06725106, -0.26060967, +0.02736197, +0.12333295, -0.17877999, +0.04254129, /* T3.TCP_OPT_7 */ - +0.01914407, -0.11698401, +0.04363135, -0.10783499, +0.01775177, +0.05210819, -0.01606922, +0.00891246, +0.06038410, +0.03639995, -0.13384041, +0.05752489, -0.02504212, +0.02177474, +0.00695701, +0.04824028, +0.05628462, +0.00895911, -0.17382520, -0.06664535, +0.01649710, -0.00428190, +0.00883907, +0.02188137, -0.06083569, +0.03699199, +0.06785009, -0.08205361, -0.18042949, +0.00044099, -0.01545351, +0.02127975, +0.01002997, +0.04851769, +0.06626094, -0.03045759, +0.04441599, +0.01082023, +0.02022531, +0.04030493, +0.04655316, +0.00491469, +0.04315123, -0.05033773, +0.03902340, -0.01223760, +0.08198799, +0.06535324, +0.05692192, +0.07979105, +0.07148703, +0.07280114, +0.00034837, +0.05334906, +0.06530294, +0.48969393, -0.19485096, +0.03873448, +0.02635972, +0.07601593, -0.42765377, +0.02158659, -0.04768567, -0.02720113, +0.27750563, +0.02124246, +0.27996747, +0.02350495, +0.02172544, +0.10303395, -0.18158954, +0.02734010, +0.05820968, +0.07660608, +0.08230994, +0.05996593, +0.48274171, +0.02074606, -0.01267010, +0.03334207, +0.03793484, +0.04123265, +0.72346097, +0.03606024, +0.01134526, -0.01030092, +0.06356557, +0.05882542, +0.07076640, +0.05756562, +0.06771857, -0.00242836, + -0.19606699, -0.30869784, +0.06497374, -0.15191304, -0.00172705, +0.04964536, -0.05537183, -0.03498528, +0.07074187, +0.06823820, -0.12989087, +0.05934617, -0.02340548, +0.00582936, -0.03277526, +0.04839539, +0.06506674, +0.01372272, -0.14316693, -0.07148518, +0.01988848, -0.00701317, -0.00245064, +0.02968860, -0.10066933, +0.03311641, +0.06843678, -0.10545631, -0.28781915, +0.03888535, -0.04973100, +0.03347163, -0.01024069, +0.14758125, +0.10742889, -0.07460560, +0.05099903, +0.01115048, +0.00396223, +0.00359659, +0.01673791, -0.00600963, +0.04182171, -0.08619499, +0.03617742, -0.08009866, +0.08172709, +0.06165438, +0.05756240, +0.08782945, +0.07343886, +0.08527742, +0.08373429, -0.00876592, +0.06035974, +0.06694114, +0.52476565, -0.20819573, +0.02788713, +0.02302125, +0.06555339, -0.40688408, +0.01861428, -0.08675557, -0.08856884, +0.35440148, +0.00796783, +0.35858538, -0.01483210, +0.02271911, +0.14065009, -0.11942504, +0.03448732, +0.04492821, +0.09389247, +0.08975645, +0.06780987, +0.07624654, +0.47566940, +0.02529966, +0.01726488, -0.00342036, +0.02734987, +0.04824479, +0.91991207, +0.03233995, +0.02214646, +0.00591225, +0.07518996, +0.08230737, +0.07215302, +0.06157396, +0.10544588, +0.08802513, +0.00776442, +0.06432657, -0.24906328, +0.02777806, +0.14869395, -0.20787445, +0.04253236, /* T3.TCP_OPT_8 */ - +0.02548157, -0.04619531, +0.04587390, -0.07841319, +0.02257436, +0.05362298, -0.00789041, +0.02003915, +0.06241984, +0.03767122, -0.07853645, +0.05899237, -0.01166503, +0.02433804, +0.01476006, +0.05001748, +0.05863808, +0.01528428, +0.19050999, -0.04057943, +0.02132779, +0.00597842, +0.01727938, +0.02873353, -0.05155464, +0.03909080, +0.06969115, -0.05692394, -0.15386029, +0.01048804, +0.01308313, +0.02772150, +0.01644344, +0.05081494, +0.06761553, -0.00889524, +0.04632367, +0.01611738, +0.02675256, +0.04872102, +0.04739549, +0.01804573, +0.04539217, -0.03034245, +0.04058393, +0.00131391, +0.08353530, +0.06700493, +0.05901318, +0.08211860, +0.07327765, +0.07478996, +0.01424364, +0.05541471, +0.06684832, +0.05129338, -0.10292322, +0.04183189, +0.03090178, +0.08017443, +0.06682874, +0.02675974, -0.02580477, -0.00528358, +0.11905573, +0.02632164, +0.45109944, +0.02942235, +0.02579692, +0.10461803, -0.07262808, +0.03099676, +0.05943511, +0.07870854, +0.08433564, +0.06150622, +0.06069530, +0.02882733, +0.01417277, +0.03583135, +0.04165932, +0.04639009, +0.56059013, +0.04141871, +0.01990458, +0.00707103, +0.06566381, +0.06085807, +0.07176064, +0.05945839, +0.07076110, +0.00913148, + -0.15819815, -0.17471358, +0.06048817, -0.12164783, +0.00024414, +0.04740868, -0.05148691, -0.00347396, +0.06876605, +0.06015251, -0.07688236, +0.05636019, -0.01157476, +0.01404161, -0.01665826, +0.04859993, +0.06333071, +0.01725170, +0.25100215, -0.04936248, +0.02317704, +0.00306901, +0.01061427, +0.04359322, -0.09594892, +0.03458855, +0.06655253, -0.09726388, -0.28446351, +0.03782037, -0.00948267, +0.03695596, +0.01430716, +0.10529443, +0.09294339, -0.04137079, +0.04862358, -0.00112809, -0.00525447, +0.01142476, +0.01881013, +0.01172315, +0.04165896, -0.07846334, +0.03745321, -0.05211072, +0.08120044, +0.06008836, +0.05742307, +0.08698785, +0.07359256, +0.08219758, +0.07615199, +0.00786537, +0.06084824, +0.06422259, +0.08986124, -0.10917487, +0.03532289, +0.02814858, +0.06603013, +0.14898828, +0.02431077, -0.06311215, -0.05626915, +0.18038463, +0.00963957, +0.57253446, +0.00469297, +0.02393392, +0.13098220, -0.05843642, +0.03492105, +0.04577632, +0.09051779, +0.08536795, +0.06598142, +0.07175521, +0.05166149, +0.03115068, +0.03440141, +0.00581280, +0.02499818, +0.05075950, +0.76142215, +0.03817545, +0.02724375, +0.01707288, +0.07307940, +0.07469794, +0.07044304, +0.06054380, +0.10064695, +0.08113160, +0.01046516, +0.06296940, -0.12895811, +0.03033397, +0.12291957, -0.12631602, +0.04312356, /* T3.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_0 */ - +0.46353338, +1.60993586, -0.08944170, -0.15407637, -0.04365716, +0.00053468, +0.61224914, +0.23047581, -0.34387375, -0.00743472, +0.46103680, -0.03000312, -0.11730710, -0.03729654, +0.60596351, +0.31887423, -0.12527257, -0.09497326, +0.18894459, +0.30936131, +0.21524400, -0.07367034, -0.00116335, -0.15802688, -0.09987448, -0.57948369, -0.21398485, -0.23382300, -0.45414449, -0.03081959, -0.05687255, +0.68663902, +0.37262072, +0.01888231, -0.54383240, +1.02779751, -0.03015017, +0.56802138, +0.58353837, +0.67922622, -0.03708767, +0.10726775, +0.19536359, +0.18914048, -0.01790814, -0.42580833, -0.47692115, -0.30174201, -0.16348611, -0.48536093, -0.19922371, -0.42236231, -0.07320737, -0.11689811, -0.08538123, +0.26902138, -0.23734835, -0.09296311, -0.26926553, -0.19385870, +0.28282114, -0.21311714, -0.08515019, +0.14271304, +0.12958325, +0.32872872, +0.17287863, -0.49902794, -0.07626618, -0.31856148, -0.24684258, -0.08072488, -0.29224124, -0.21104365, -0.15500014, -0.32520240, +0.19541279, -0.23661690, -0.08775068, -0.00228645, -0.11388572, -0.19245042, +0.25575385, -0.19482036, -0.10393569, -0.19716229, -0.17937331, -0.04755279, -0.36286152, -0.12484864, -0.13827694, +0.31746915, + +0.33634723, +1.12074199, -0.11899372, -0.12286643, -0.16758994, +0.03687568, +0.55192998, +0.23389841, -0.32048585, +0.02957545, +0.31653445, +0.15307832, -0.11049161, -0.01360092, +0.57941936, +0.24839463, -0.18453207, -0.08518529, +0.13552720, +0.25424107, +0.13729834, -0.02737435, -0.03543339, -0.20882096, -0.06293880, -0.54730340, -0.20610817, -0.29459328, -0.40587774, +0.01043550, -0.06850510, +0.71585345, +0.21898265, -0.00298277, -0.48803204, +0.79896430, +0.04952592, +0.40172329, +0.37758706, +0.42410494, -0.10976905, +0.07093406, +0.06077714, +0.11709810, -0.08376708, -0.41702207, -0.42870860, -0.29524758, -0.11338772, -0.47529946, -0.20715500, -0.36115319, -0.34772957, -0.07413545, -0.61573278, -0.07757380, +0.29736608, -0.19627134, -0.05830928, -0.24443087, -0.19011646, +0.15442356, -0.17700703, -0.03128167, +0.04533089, +0.10865901, +0.20687963, +0.10436198, -0.44576141, -0.11991846, -0.59709673, -0.11087047, -0.02001280, -0.28803869, -0.19754615, +0.09059779, -0.09922936, -0.34646703, +0.19772832, -0.19415211, +0.02797710, +0.00041573, -0.00150135, -0.16009629, +0.11149471, -0.15793474, -0.14405864, -0.12051641, -0.11106590, -0.05472904, -0.32523262, -0.08144131, -0.00546446, -0.15031371, +0.19492795, +0.07994394, -0.08686359, -0.01462310, +0.03709463, +0.49125425, +0.68298869, /* T3.TCP_OPTLEN_1 */ - +0.25048774, +0.59235740, -0.02848236, -0.05339678, +0.32083090, +0.02943594, +0.36021655, +0.11294791, -0.15854684, +0.02715410, +0.12448859, +0.01225952, -0.03666066, +0.01317028, -0.00381982, -0.02546473, -0.03719226, -0.02521511, +0.09956066, +0.15212780, +0.21456395, -0.03627406, +0.42625137, -0.05995996, -0.02836883, +0.02385248, +0.04840951, -0.08090758, -0.17880113, +0.00486067, +0.01356492, +0.41382061, +0.20190321, +0.03465706, -0.27488347, -0.02283673, +0.00657138, +0.21946768, +0.33659741, +0.30425390, +0.01039916, +0.11283309, -0.05992836, +0.11471206, +0.02652456, -0.19656140, -0.22482872, -0.13447005, -0.05326302, -0.22879491, -0.08561809, -0.19681041, -0.01931806, +0.02986898, -0.01575175, +0.14017616, -0.10241057, -0.01646632, -0.06793247, -0.08947797, +0.15718015, -0.01705180, -0.02323282, +0.08583155, +0.08637871, -0.05204661, +0.09422861, +0.00928648, +0.44851836, -0.12973326, -0.07951154, -0.03034365, -0.13572428, -0.07795658, -0.10396653, -0.12892064, +0.11356160, -0.09080528, -0.00674411, +0.02128767, -0.03393022, -0.11155916, +0.14624106, -0.07117088, +0.23673494, -0.06502920, -0.16246883, +0.00586361, -0.16773372, -0.08800162, -0.12156119, +0.11785741, + +0.23510384, +0.76843601, -0.05409295, -0.03333576, +0.23933021, +0.09255327, +0.33398880, +0.10773282, -0.15231303, +0.10776834, +0.11801267, +0.10113416, -0.03419018, +0.03223570, -0.00887463, -0.07584538, -0.04854174, -0.02091939, +0.03945026, +0.14306113, +0.15936037, -0.03111949, +0.32550348, -0.09810319, -0.00293359, +0.03985122, +0.09017181, -0.04137604, -0.18784294, +0.02534169, +0.05628217, +0.49924614, +0.28502045, +0.00717836, -0.27831613, -0.02636256, +0.04352826, +0.15842909, +0.32931857, +0.36344901, -0.02736568, +0.12677885, -0.09842161, +0.03926219, +0.04092690, -0.20652126, -0.21602107, -0.15271905, -0.03095867, -0.23425494, -0.09357445, -0.17751297, -0.17818736, -0.01457448, +0.05065287, -0.02651057, +0.19602513, -0.08240973, -0.00950285, -0.05722491, -0.13078256, +0.07476635, -0.01398547, +0.00415265, +0.05655064, +0.07761731, -0.11979059, +0.06488538, +0.02920869, +0.41512160, -0.42847153, -0.03700069, -0.00007414, -0.15460420, -0.07301556, -0.06745413, -0.04079132, -0.13921445, +0.14029530, -0.07252918, +0.04334666, -0.02469124, +0.00524851, -0.11073090, +0.04755727, -0.04107404, +0.24689652, -0.03157706, -0.17103868, -0.00671625, -0.15796323, -0.07732831, -0.15739764, -0.08164844, +0.06696247, +0.03420180, -0.00613715, +0.01299157, +0.01755911, +0.25832471, -0.02547584, /* T3.TCP_OPTLEN_2 */ - +0.56875436, +2.97141897, -0.06282402, -0.07540776, +0.08073249, +0.01530955, +0.82908259, +0.08546502, -0.32645938, +0.02102315, -0.07935809, -0.01646332, -0.05853703, +0.00588497, -0.01717982, -0.05126216, -0.06532811, -0.04543418, +0.10977844, -0.00890770, +0.13776322, -0.05023397, +0.09734865, -0.10562261, -0.04079646, +0.01471583, +0.03623378, -0.12680395, -0.24724899, -0.00642797, -0.00030361, +0.90869757, +0.45814300, +0.04628169, -0.52959233, -0.03770791, -0.01545665, +0.32008683, +0.75756170, +0.97495878, -0.01648730, +0.11078333, -0.09407736, +0.10534248, +0.01865612, -0.27660021, -0.46344550, -0.28679372, -0.12749843, -0.46641388, -0.18618852, -0.40421248, -0.04473836, +0.01415555, -0.07544243, +0.20461154, -0.13660487, -0.05371427, -0.13764996, -0.19552314, +0.15797681, -0.04482132, -0.03875798, +0.02157271, +0.09754062, -0.08484924, +0.02301050, -0.00435891, -0.04572040, -0.30540178, -0.12170505, -0.04602718, -0.27992869, -0.16297255, -0.12486837, -0.17329052, +0.13709140, -0.13063508, -0.03415989, +0.01154224, -0.07762244, -0.22601265, +0.16497856, -0.09925889, +0.66461961, -0.10359192, -0.16310675, -0.01550390, -0.35495749, -0.11053857, -0.11387365, -0.02041810, + +0.62838173, +2.77306005, -0.13141480, -0.03840375, +0.03915061, +0.11156468, +0.82985615, +0.04452321, -0.33194453, +0.15320599, -0.13952265, +0.09803031, -0.05260453, +0.03479285, -0.01323181, -0.10172497, -0.04597912, -0.02703523, +0.06125102, -0.05920776, +0.07773038, -0.02060740, +0.07685821, -0.13075607, +0.00646650, +0.04032938, +0.09556899, -0.04950156, -0.21777091, +0.01423491, +0.07753747, +1.01448412, +0.20505566, -0.06435643, -0.59889509, -0.02516854, +0.04051459, +0.27380619, +0.42882485, +0.70498806, -0.06902997, +0.13418493, -0.13123938, +0.03177150, +0.03945491, -0.23317076, -0.44096421, -0.30791056, -0.08414660, -0.48854041, -0.21154344, -0.40529492, -0.38758405, -0.03666495, +0.03716537, -0.10051309, +0.27662986, -0.10388963, -0.04323229, -0.12104295, -0.30542403, +0.00655940, -0.03815755, +0.01438404, -0.05463363, +0.09331173, -0.15005931, -0.04958211, +0.02991884, -0.11229251, -0.88009342, -0.04604334, +0.01341606, -0.29049502, -0.15579309, +0.00862439, -0.05081555, -0.16383847, +0.16749121, -0.09293571, +0.03130971, -0.05489976, +0.00282589, -0.23018566, -0.00984786, -0.03830077, +0.65131800, -0.04802601, -0.12136125, +0.02042521, -0.34920314, -0.08734437, -0.01514734, -0.18303013, -0.10686436, +0.08995505, +0.02851728, +0.00448628, +0.07950744, +0.28313313, -0.06977191, /* T3.TCP_OPTLEN_3 */ - +0.16781196, -0.75336414, -0.04090082, -0.08137995, +0.01302667, +0.02878621, +0.15642017, +0.35468534, -0.14283288, +0.02634914, +0.34710104, +0.00855576, -0.04360522, +0.01215964, -0.00874990, -0.01534563, -0.09603062, -0.03790975, +0.07802638, +0.63045761, +0.53430624, -0.03028801, +0.05299959, -0.08566157, -0.06977507, +0.02261850, +0.04653238, -0.07804441, -0.17957436, -0.00217974, +0.00602794, +0.19875647, +0.12986051, +0.01534069, -0.24055013, -0.03144975, +0.00365057, +0.77890873, +0.15394350, +0.06688632, +0.01226573, +0.10907112, -0.06715460, +0.11975110, +0.02520159, -0.33265062, -0.19920438, -0.12040404, -0.05057106, -0.20917427, -0.06835225, -0.17715253, -0.02054614, +0.02883725, -0.01085354, -0.04021061, -0.10690705, -0.01429244, -0.06371068, -0.03395407, +0.13416895, -0.01762954, -0.03658471, +0.33390833, +0.03970301, -0.07878284, +0.41768276, +0.00799596, +0.08916558, -0.11212314, -0.08220917, -0.03571596, -0.12176752, -0.10965338, -0.07490599, -0.31657262, +0.07525151, -0.08754882, -0.00818345, +0.02045489, -0.05348297, -0.02480861, +0.10197692, -0.11088624, -0.29285380, -0.07000179, -0.08382921, -0.02211893, -0.14692670, -0.04723894, -0.06082649, +0.65742442, + -0.01628537, -0.80920303, -0.03913783, -0.06450791, -0.09379775, +0.10289246, +0.15021041, +0.42146926, -0.12408613, +0.10546769, +0.31050733, +0.11116123, -0.04190138, +0.02922726, -0.02754442, -0.03452787, -0.21564040, -0.05997777, +0.01837801, +0.62514586, +0.41509868, -0.01059574, +0.02833134, -0.19250156, -0.07082857, +0.03894465, +0.08627963, -0.03336063, -0.17549226, +0.02456595, +0.02125063, +0.21894910, +0.42360322, +0.01167185, -0.19055009, -0.05819653, +0.03984715, +0.64998473, -0.04413195, +0.06782521, -0.00449108, +0.12614071, -0.10568948, +0.07405704, +0.03981987, -0.54232009, -0.18155893, -0.12795415, -0.02142829, -0.18964108, -0.07239514, -0.13291212, -0.15434834, -0.01393897, +0.05245702, -0.00627074, -0.02525887, -0.08422937, -0.00415528, -0.05121802, -0.03972338, -0.01670075, -0.01272225, -0.02116581, +0.28078749, -0.01405800, -0.17880444, +0.42318978, +0.03394498, +0.07121053, -0.32756744, -0.03660430, -0.01865774, -0.13207990, -0.12098530, +0.05387122, -0.02587946, -0.41407403, +0.08296948, -0.07192212, +0.04517906, -0.02311631, -0.04296764, +0.00840804, -0.01917941, -0.10689883, -0.34172455, -0.03627545, -0.05151642, -0.17238244, -0.12428402, -0.02567970, +0.02001040, -0.04582347, +0.52775529, +0.02760666, -0.00349988, +0.01207669, -0.09699598, +0.67435324, -0.03965228, /* T3.TCP_OPTLEN_4 */ - +0.28039242, -0.23857793, -0.04842909, -0.06277243, +0.05315504, +0.02624014, +0.34147549, +0.33666648, -0.18250729, +0.02582392, +0.35821684, +0.00259961, -0.04113273, +0.01174316, -0.00564776, -0.01489570, -0.09962120, -0.02072442, +0.08647507, +0.21622485, -0.22606371, -0.03333005, +0.10373513, -0.08060902, -0.03938468, +0.02220288, +0.04617564, -0.07788303, -0.18068424, +0.00168291, +0.01060863, +0.47247512, +0.20196261, +0.01985630, -0.30451978, -0.02404918, -0.00049776, +1.27222685, +0.38007202, +0.21521307, +0.00693158, +0.10735434, -0.05745486, +0.12073238, +0.02433811, -0.33886753, -0.25745327, -0.15694265, -0.06715873, -0.26680888, -0.09548171, -0.22678229, -0.02383226, +0.02677545, -0.02496797, +0.10012944, -0.10526497, -0.02001860, -0.07430540, -0.06504847, +0.13250968, -0.02117640, -0.02814967, +0.30937463, +0.06039486, -0.07672582, +0.15306466, +0.00740841, +0.11678113, -0.15548826, -0.08244391, -0.03017261, -0.15736608, -0.12862875, -0.09656074, -0.31632625, +0.10302825, -0.08842495, -0.00887884, +0.01908306, -0.05996050, -0.02678690, +0.12601484, -0.07764776, -0.29962252, -0.06957551, -0.11202685, -0.02510425, -0.19251836, -0.06660137, -0.08132612, +0.60231586, + +0.23701146, -0.09056735, -0.06659282, -0.03413023, -0.05155082, +0.10555739, +0.33138674, +0.39006248, -0.17096442, +0.11114420, +0.33857224, +0.10647015, -0.03754294, +0.03347379, -0.01662977, -0.03671511, -0.20754480, +0.00688207, +0.01885216, +0.21044447, -0.25771909, -0.01271494, +0.07773488, -0.15373444, -0.01523440, +0.04005269, +0.09101566, -0.02324118, -0.16547890, +0.01826244, +0.04052481, +0.46709479, +0.44873465, -0.01636547, -0.28150375, -0.03875400, +0.04031836, +1.13040473, +0.56162625, +0.26452879, -0.02108235, +0.12547799, -0.08795389, +0.07567022, +0.04025287, -0.54056945, -0.24331660, -0.17136791, -0.03617180, -0.25644093, -0.10565776, -0.19341942, -0.21179763, -0.01633990, +0.04941918, -0.02884213, +0.15259634, -0.08076896, -0.01105046, -0.06033602, -0.07795820, -0.02959666, -0.01634043, +0.00465193, +0.25231386, -0.00542529, -0.17959955, +0.08032270, +0.03768266, +0.09460522, -0.45557537, -0.03326361, +0.00857450, -0.17089692, -0.14323704, +0.02979080, -0.03916493, -0.40761200, +0.11822130, -0.06752003, +0.04228087, -0.02971915, -0.03590468, +0.00874825, -0.02644727, -0.04193787, -0.35693003, -0.03225235, -0.08364753, -0.16780154, -0.17960364, -0.04716075, -0.01084436, -0.08304250, +0.49893151, +0.03014646, +0.01044799, +0.01189282, -0.09650973, +0.68620057, -0.04814916, /* T3.TCP_OPTLEN_5 */ - -0.00935886, -0.17346712, +0.03723731, -0.09350383, -0.00945801, +0.04753906, -0.04818492, -0.01100860, +0.05421898, +0.03273502, +0.90073391, +0.05243394, -0.03991226, +0.01840727, -0.00035127, +0.03244522, +0.05024038, -0.00478779, +0.33253795, +0.47196296, -0.11579555, -0.01202755, -0.01989325, -0.00253636, -0.02728088, +0.03173790, +0.06009709, -0.18840614, -0.40814886, +0.00097992, -0.01379498, -0.02539626, -0.03526426, +0.04158877, +0.06084474, -0.03609062, +0.03783930, -0.04789506, -0.09060408, -0.10024370, +0.04169871, +0.28173870, -0.09460288, +0.38103493, +0.03458387, -0.01362793, +0.07666490, +0.05917927, +0.03870472, +0.07342021, +0.06638323, +0.06588783, -0.00781561, +0.04716838, +0.06114716, +0.47171000, -0.20418113, +0.03179586, +0.01807367, +0.06349252, +0.43725016, +0.00767011, -0.04312632, -0.06390095, +0.22304725, -0.02479642, -0.07478821, +0.01677449, +0.00816217, +0.09831124, -0.21657898, +0.00344618, +0.05413178, +0.07025134, +0.07672068, +0.05642426, +0.24994154, -0.17609763, -0.04553378, +0.02918982, +0.03150055, -0.05261637, +0.36580183, -0.07103196, -0.50435428, -0.07224152, +0.05688416, +0.05392788, +0.06710823, +0.05115538, +0.05726188, -0.04070394, + -0.25792017, -0.35643942, +0.07127276, -0.11100403, -0.04754056, +0.05763054, -0.09932339, -0.04767468, +0.07570506, +0.05963353, +0.79177731, +0.13469740, -0.03775302, +0.01150595, -0.02428620, +0.03390522, +0.06970006, -0.00071042, +0.35915441, +0.52420054, -0.12584260, -0.00803870, -0.04197094, -0.00682399, -0.03620755, +0.03302910, +0.07208396, -0.26904342, -0.61847896, +0.03444606, -0.03821092, -0.01566182, -0.10872183, +0.19298204, +0.22662943, -0.06244487, +0.04832964, -0.02163125, -0.30827522, -0.25044416, -0.04773335, +0.18793486, -0.16694566, +0.37584512, +0.03535409, +0.11440164, +0.08424936, +0.06673836, +0.02474013, +0.09016140, +0.07438738, +0.10582411, +0.10024007, -0.01215585, +0.06148461, +0.07477403, +0.46539550, -0.20833058, +0.02796752, +0.02656029, +0.06579550, +0.57268803, +0.00521519, -0.05956852, -0.14482078, +0.28303847, -0.05141206, -0.04997963, -0.00844658, +0.01902748, +0.16195492, -0.13662389, +0.01033731, +0.04331396, +0.10154781, +0.10123715, +0.07099254, +0.08532135, +0.24400224, -0.18569389, +0.02500870, -0.04198441, +0.05081494, -0.04053858, +0.37206991, -0.08576819, -0.50246719, -0.05410464, +0.08026162, +0.09207943, +0.08956417, +0.06381295, +0.11682444, +0.10746133, -0.05990275, +0.09108546, -0.27929446, +0.01732446, +0.15595911, -0.17524399, +0.03771516, /* T3.TCP_OPTLEN_6 */ - +0.01522621, -0.10225163, +0.04333621, -0.05832309, +0.00033160, +0.05185266, -0.02826082, +0.00905152, +0.06019667, +0.03629567, -0.16567675, +0.05740849, -0.02067369, +0.02196585, +0.00929441, +0.04765625, +0.05606487, +0.00726100, +0.53703468, -0.07379211, +0.01699358, -0.00332457, +0.00809951, +0.02265574, -0.02189072, +0.03699944, +0.06714852, -0.17071921, -0.38323831, +0.00618291, -0.00834197, +0.02139268, +0.00975402, +0.04836214, +0.06613462, -0.02588993, +0.04431218, +0.02038469, +0.01985788, +0.02924884, +0.04635456, +0.00092899, +0.04272477, -0.08320871, +0.03881085, -0.00663172, +0.08184561, +0.06515046, +0.05665526, +0.07938842, +0.07123058, +0.07256706, +0.00030368, +0.05304004, +0.06515055, +0.52694375, -0.19653882, +0.03838376, +0.02623298, +0.07611372, +0.84922920, +0.02149126, -0.02876412, -0.04450412, +0.27405417, +0.00214336, -0.05775337, +0.02334119, +0.02198763, +0.10286082, -0.19115146, +0.02680688, +0.05806121, +0.07611594, +0.08210216, +0.05977961, +0.46438675, +0.02031923, -0.02814986, +0.03283517, +0.03988995, +0.03993894, -0.42564936, +0.03576255, +0.00690901, -0.01113569, +0.06341171, +0.05863641, +0.07070009, +0.05740252, +0.06733130, -0.00511461, + -0.23930628, -0.29374269, +0.06618046, -0.06848228, -0.04828271, +0.04994360, -0.09726523, -0.03413068, +0.07085266, +0.06689894, -0.16357562, +0.06323100, -0.01748150, +0.00853388, -0.02129680, +0.04749157, +0.06530070, +0.01190526, +0.59911895, -0.07514448, +0.02053898, -0.00539042, -0.00286243, +0.04069341, -0.03820957, +0.03329449, +0.06668317, -0.26210175, -0.62842451, +0.03079523, -0.03757606, +0.03482406, -0.01042030, +0.15118729, +0.11013725, -0.06476564, +0.05177442, +0.00624707, -0.04454095, -0.02196447, -0.00571357, -0.00752305, +0.04154685, -0.19118417, +0.03608934, -0.05872153, +0.08165527, +0.06186522, +0.05763144, +0.08841222, +0.07359548, +0.08598110, +0.08424044, -0.00846389, +0.06021471, +0.06740161, +0.54743668, -0.20894065, +0.02783502, +0.02351037, +0.06635162, +0.98646112, +0.01860541, -0.05166258, -0.13115995, +0.31640087, -0.03137413, -0.06734647, -0.01422792, +0.02468993, +0.14153408, -0.12885374, +0.03456444, +0.04483307, +0.09398802, +0.09036505, +0.06856215, +0.07654753, +0.47698163, +0.02526804, +0.01463693, -0.01424241, +0.03868972, +0.04713195, -0.49750346, +0.03299772, +0.01804637, +0.00508627, +0.07538113, +0.08236517, +0.07227154, +0.06180495, +0.10570820, +0.08984223, -0.00553549, +0.06725106, -0.26060967, +0.02736197, +0.12333295, -0.17877999, +0.04254129, /* T3.TCP_OPTLEN_7 */ - +0.02821966, -0.01281132, +0.04677561, -0.03472601, +0.02514842, +0.05419511, +0.00423728, +0.02417214, +0.06334437, +0.03810765, -0.06588797, +0.05959509, -0.00255999, +0.02528758, +0.01884610, +0.05077866, +0.05959066, +0.01775425, +0.26944440, -0.02777121, +0.02534509, +0.01072641, +0.01985649, +0.03130245, -0.00893539, +0.03987287, +0.07046740, -0.04974965, -0.14665812, +0.01915686, +0.02494163, +0.03086374, +0.01889626, +0.05178365, +0.06819271, -0.00065414, +0.04712052, +0.03259188, +0.02959251, +0.05396356, +0.04781549, +0.02151383, +0.04627413, -0.02492769, +0.04117773, +0.00936387, +0.08424449, +0.06764314, +0.05986473, +0.08306155, +0.07400268, +0.07564522, +0.01738577, +0.05621124, +0.06749457, +0.17303748, -0.08524747, +0.04276980, +0.03221874, +0.08263588, +0.28301566, +0.02853609, -0.00489371, +0.00632686, +0.13453368, +0.02965830, +0.14388874, +0.03114595, +0.02819811, +0.10524706, -0.05380348, +0.03234738, +0.05993479, +0.07965649, +0.08513652, +0.06206667, +0.12618906, +0.03080087, +0.02169593, +0.03662347, +0.04496036, +0.04808990, +0.21201224, +0.04296649, +0.02260786, +0.01119075, +0.06652130, +0.06166015, +0.07216899, +0.06021570, +0.07198676, +0.01718851, + -0.12999100, -0.12615958, +0.05888201, -0.05729192, +0.00104637, +0.04638925, -0.03370231, +0.00180533, +0.06794748, +0.05427977, -0.06611561, +0.05521608, -0.00121142, +0.01687757, -0.00285441, +0.04872083, +0.06236268, +0.01959882, +0.31672942, -0.03167263, +0.02650578, +0.00813544, +0.01324807, +0.04389188, -0.03024717, +0.03505956, +0.06618682, -0.09434086, -0.28158334, +0.03599661, +0.00773329, +0.03820612, +0.01246126, +0.09690567, +0.08773051, -0.02628372, +0.04789311, +0.02112051, -0.00918021, +0.01744913, +0.01518464, +0.01522905, +0.04160447, -0.07690901, +0.03789030, -0.02710746, +0.08067724, +0.05956793, +0.05735971, +0.08650429, +0.07365649, +0.08156847, +0.07299928, +0.01166479, +0.06103043, +0.06323333, +0.22293184, -0.09206631, +0.03638125, +0.02893830, +0.06708604, +0.38575155, +0.02619980, -0.02734629, -0.04228319, +0.17706432, +0.01193322, +0.18189519, +0.00879313, +0.02663746, +0.12841223, -0.04674299, +0.03540674, +0.04610457, +0.08946088, +0.08341312, +0.06516815, +0.06994810, +0.13968862, +0.03238197, +0.03878644, +0.00802313, +0.03419563, +0.05132757, +0.29761015, +0.03971561, +0.02836945, +0.01979408, +0.07219460, +0.07244716, +0.06981766, +0.06010223, +0.09853006, +0.07877760, +0.01656226, +0.06219828, -0.10656400, +0.03124943, +0.10466087, -0.08905161, +0.04314972, /* T3.TCP_OPTLEN_8 */ - +0.02687035, -0.01987329, +0.04631010, -0.06440044, +0.02339226, +0.05391921, -0.00633154, +0.02225427, +0.06279969, +0.03789735, -0.06772871, +0.05927790, -0.00906220, +0.02475168, +0.01594497, +0.05036643, +0.05909104, +0.01634828, +0.25112147, -0.03571645, +0.02217547, +0.00788380, +0.01881209, +0.02980631, -0.04994220, +0.03944706, +0.07010648, -0.05230161, -0.14816971, +0.01230118, +0.01756250, +0.02882700, +0.01758194, +0.05123764, +0.06786977, -0.00575278, +0.04668830, +0.01704081, +0.02793500, +0.05040993, +0.04754762, +0.02054321, +0.04581651, -0.02641195, +0.04089263, +0.00334521, +0.08382909, +0.06732095, +0.05941938, +0.08260672, +0.07363115, +0.07517278, +0.01643219, +0.05582151, +0.06714755, -0.00748494, -0.08930018, +0.04236084, +0.03162583, +0.08099594, +0.24035655, +0.02767853, -0.01917796, +0.00187978, +0.10357093, +0.02830892, +0.47869061, +0.03040948, +0.02656742, +0.10492069, -0.05542863, +0.03167474, +0.05967780, +0.07911245, +0.08472891, +0.06180444, +0.06638544, +0.03013105, +0.01938283, +0.03634417, +0.04229791, +0.04746233, +0.27007001, +0.04246786, +0.02172990, +0.00988532, +0.06604996, +0.06124781, +0.07194389, +0.05980877, +0.07138728, +0.01215595, + -0.13594778, -0.13525200, +0.05966693, -0.10103159, +0.00046068, +0.04692865, -0.05044273, +0.00176262, +0.06837313, +0.05845680, -0.06728633, +0.05571951, -0.00936304, +0.01504315, -0.01435041, +0.04861182, +0.06293159, +0.01759930, +0.30989606, -0.04488427, +0.02370171, +0.00482511, +0.01266971, +0.04498147, -0.09522663, +0.03478620, +0.06646472, -0.09579058, -0.28055833, +0.03753870, -0.00344570, +0.03710353, +0.01744848, +0.09896034, +0.08971769, -0.03649421, +0.04810225, -0.00403017, -0.00729039, +0.01272454, +0.01819687, +0.01492916, +0.04160565, -0.07676586, +0.03766868, -0.04789445, +0.08108200, +0.05977427, +0.05735628, +0.08661620, +0.07359684, +0.08157228, +0.07469444, +0.01044353, +0.06093866, +0.06367790, +0.01739635, -0.09474159, +0.03637660, +0.02884533, +0.06605069, +0.33570858, +0.02533198, -0.05489558, -0.04410389, +0.15985946, +0.01118286, +0.60715551, +0.00759152, +0.02414887, +0.12931383, -0.04810367, +0.03493238, +0.04590855, +0.08987893, +0.08447070, +0.06560278, +0.07099474, +0.06686795, +0.03199649, +0.03778827, +0.00977479, +0.02447176, +0.05127937, +0.38887099, +0.03942108, +0.02835301, +0.01889573, +0.07264409, +0.07331870, +0.07013997, +0.06026894, +0.09959166, +0.07969501, +0.01420465, +0.06264003, -0.10609650, +0.03084453, +0.11085108, -0.11542856, +0.04316836, /* T3.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T3.TCP_MSS */ - -0.84418348, -2.14683335, -0.02636414, -0.05703858, +0.07906298, +0.02601523, +0.13550735, +0.12288297, -0.14775741, +0.01404180, +0.15671182, +0.01322211, -0.05502945, -0.00684840, +0.28267537, -0.00673282, -0.03479620, -0.03979039, +0.07414775, +0.12905479, +0.07778008, -0.02911560, +0.11037292, -0.06407705, -0.02949909, -0.28471789, -0.11007485, -0.08521798, -0.18702098, +0.00246927, -0.00372088, +0.31103946, +0.07186786, +0.03147188, -0.24899578, +0.28258235, +0.00662005, +0.25939823, -0.20725388, +1.83292233, +0.00072324, +1.26135224, +0.72901512, -0.74567003, +0.00792493, -0.20202514, -0.23537245, -0.12301358, -0.07250436, -0.20842283, -0.06981136, -0.18167154, -0.02161345, -0.04507665, -0.01194392, +0.14120590, -0.10696276, -0.02993410, -0.12530593, -0.11098605, +0.18118982, -0.10019426, -0.02374013, +0.04797587, +0.08245197, -0.02935765, +0.08835347, -0.24450422, +0.07971622, -0.11290738, -0.08484544, -0.02922533, -0.12738729, -0.07910072, -0.05595355, -0.13118708, +0.11103327, -0.13382551, -0.00944255, +0.01725815, -0.03797941, -0.03370227, +0.13795864, -0.09102674, -0.32347262, -0.10386329, -0.08715370, +0.00614557, -0.15103203, -0.04969330, -0.05938160, +0.20193153, + -1.08030305, -2.28394651, -0.04074503, -0.03970751, +0.01519140, +0.04703695, +0.11183726, +0.13258058, -0.13253587, +0.02809049, +0.15643676, +0.10914594, -0.05671843, +0.00717979, +0.30508610, +0.01404465, -0.06029498, -0.03507127, +0.02894875, +0.14296494, +0.06628058, -0.00843787, +0.07282299, -0.08408771, -0.00668319, -0.29143506, -0.13793308, -0.17794928, -0.15683070, +0.02200539, -0.03547437, +0.37098438, -0.03937505, +0.02644467, -0.23113827, +0.32154333, +0.04979740, +0.21728750, +0.15429996, +2.15461663, -0.05685246, +1.33487317, +0.62070363, -1.03811665, -0.02661900, -0.18567202, -0.23564603, -0.13325787, -0.07337433, -0.20551020, -0.07478642, -0.13925217, -0.13591205, -0.02340701, -0.30591123, -0.01257339, +0.19673500, -0.08525190, -0.01007812, -0.12276379, -0.15929661, +0.12450376, -0.09412796, +0.00869184, +0.01107171, +0.08327922, -0.11881794, +0.05705885, -0.22715558, +0.06265244, -0.25542102, -0.04103025, +0.00497874, -0.14045882, -0.07694856, +0.05213916, -0.03074155, -0.13429212, +0.14198356, -0.11864546, +0.03783775, +0.00777022, +0.02138356, -0.00376542, +0.03884299, -0.06924047, -0.37865613, -0.08768041, -0.05948080, +0.00779030, -0.13203487, -0.03097589, -0.00730709, -0.05046556, +0.18585581, +0.06955972, -0.00942858, +0.00786831, +0.04865272, +0.28487270, +0.35067157, /* T3.TCP_SACKOK */ - +0.25966084, +0.75916903, -0.01622232, -0.04941307, +0.10226994, +0.03447977, +0.34466727, +0.14320630, -0.13288566, +0.02989322, -0.14993203, +0.01939686, -0.02479305, +0.01605745, +0.00257489, +0.00002026, -0.02782749, -0.01688201, +0.20210717, +0.28254683, +0.24347420, -0.02064546, +0.14117360, -0.04815661, -0.02380938, +0.02793896, +0.05404843, -0.06522289, -0.16489001, +0.00824960, +0.01672039, +0.39572120, +0.21368209, +0.04081841, -0.23335254, -0.01615295, +0.01423095, +0.33304177, +0.32443620, +0.40684947, +0.01627946, -0.02212644, +0.01223270, -0.09661198, +0.03008901, -0.18470234, -0.19084876, -0.11090113, -0.03273332, -0.19476906, -0.06011284, -0.16595450, -0.01141695, +0.03561443, -0.00480244, +0.16284767, -0.09750330, -0.00607797, -0.05306377, -0.04965840, +0.21079850, -0.00542404, -0.01883459, +0.10975158, +0.10293879, -0.03256937, +0.10160764, +0.01529671, +0.11225050, -0.10252175, -0.06704689, -0.01202846, -0.11266900, -0.05985353, -0.04532097, -0.12727574, +0.11789471, +0.01487225, +0.00379570, +0.02438929, -0.02322681, +0.02618638, +0.17566367, -0.03331947, -0.03024283, -0.03059378, -0.07469649, +0.01179540, -0.14204230, -0.03872126, -0.04514799, +0.18783048, + +0.25806491, +1.14785668, -0.04657073, -0.03979211, +0.04294042, +0.08529136, +0.34216186, +0.13952723, -0.13288008, +0.10417292, -0.19491222, +0.06164417, -0.02068609, +0.02890417, -0.00791798, -0.02184670, -0.05614808, -0.01729754, +0.19472156, +0.25738895, +0.18810025, -0.00940353, +0.12636210, -0.09822727, -0.00896493, +0.03967203, +0.08390382, -0.03647998, -0.20277261, +0.01989457, +0.04494313, +0.45971031, +0.31854358, -0.00754727, -0.30645505, -0.03040825, +0.04513619, +0.31238767, +0.19555395, +0.62967991, -0.00068834, +0.00387955, +0.01551655, -0.21827677, +0.04124578, -0.30117662, -0.18764874, -0.13322961, -0.00523543, -0.20132666, -0.07297658, -0.16461692, -0.16458777, -0.00913385, +0.05173879, -0.01960056, +0.24119894, -0.08397919, -0.00345759, -0.05016163, -0.11051849, +0.17142291, -0.00183666, -0.00270514, +0.05594002, +0.09283838, -0.09435871, +0.04923149, +0.02962758, +0.08692927, -0.37964851, -0.03525517, +0.01278562, -0.13121089, -0.06312328, +0.02083232, -0.01007470, -0.15121280, +0.14378248, +0.04672257, +0.03442342, -0.01647824, -0.00167971, +0.05534749, +0.17249134, -0.01844551, -0.05334909, -0.00013480, -0.06044148, -0.01713636, -0.14138438, -0.02859613, -0.00562944, -0.06197915, +0.15361471, +0.04737225, -0.01306841, +0.02088865, +0.03206687, +0.27140737, -0.01762744, /* T3.TCP_WSCALE */ - -0.36378497, +0.83644092, -0.15922403, -0.08312409, -0.44903580, +0.02044463, -1.15047620, +0.75183087, -0.19754736, +0.02321969, +0.25612382, -0.00836573, -0.05175215, +0.00836091, -0.01211701, -0.02829021, -0.07745750, -0.02952066, +0.01017413, +0.36484773, -0.27090064, -0.04367239, -0.07077533, -0.10160522, -0.03782632, +0.01824967, +0.04147207, -0.09394788, -0.21709100, -0.00373087, -0.00215300, -1.50055845, +1.30442192, +0.14664337, -0.39576299, -0.03325903, -0.00898905, -2.35871665, +0.27212793, +1.20870293, -0.00571931, +0.28963962, -0.07902266, +0.01313798, +0.02120365, -0.31641727, -0.38321342, -0.22584551, -0.10239499, -0.38831574, -0.14262456, -0.25786317, -0.03685070, +0.02057132, -0.05353548, -0.32096017, -0.14036151, -0.03621395, -0.10513806, +2.03475786, -0.11684568, -0.03375472, -0.04029987, -0.21125579, +0.58817131, -0.07993226, +0.01104809, +0.00140589, +0.78385374, -0.24751723, -0.13772761, -0.03946379, -0.22864994, -0.14741593, -0.10311999, -0.28267890, +0.22818021, -0.10550317, -0.02606090, +0.01469483, -0.07075879, -0.03616636, +0.46942791, -0.11170325, -0.32496146, -0.09264191, -0.12776102, -0.02226355, -0.29926149, -0.08612499, -0.09154883, +0.36100012, + -0.22113260, +0.91716948, -0.24636325, -0.05667619, -0.57261666, +0.10975791, -1.29400606, +0.95698824, -0.16033476, +0.13110503, +0.24522429, +0.09387900, -0.04640078, +0.03354251, -0.01456872, -0.05468327, -0.10338080, +0.00642952, -0.04893177, +0.35088676, -0.29786199, -0.01781383, -0.11802058, -0.14543885, +0.00147633, +0.04005280, +0.09593281, -0.02201483, -0.18853655, +0.01123082, +0.05908023, -2.10049856, +2.06339100, +0.04998088, -0.39730955, -0.03202858, +0.04014706, -2.70677757, +0.18506025, +1.06750979, -0.05200304, +0.33383005, -0.11646361, -0.06466829, +0.03962517, -0.32286253, -0.37617518, -0.24815857, -0.06877218, -0.40210523, -0.15928778, -0.20581607, -0.31570726, -0.02936859, +0.04457438, -0.06989664, -0.35096638, -0.11370609, -0.03087152, -0.08932238, +2.02057878, -0.29755916, -0.02853949, +0.00238778, -0.34961428, +0.66881390, -0.15749350, -0.07830277, +0.03659954, +0.86656716, -0.75625351, -0.05940706, +0.01109329, -0.24818019, -0.15289622, +0.03131332, -0.02541540, -0.35882542, +0.24876539, -0.07281914, +0.02065718, -0.05096944, -0.01247250, +0.00592243, +0.38245557, -0.07997035, -0.38600813, -0.04814426, -0.08560442, -0.07602180, -0.29849903, -0.06457586, +0.01538066, -0.13606429, +0.37447323, +0.06999642, -0.01250021, +0.00807446, +0.00696210, +0.23833522, -0.06761707, /* T3.TCP_CORR_WINDOW_MSS */ - +0.47485648, +1.00610210, -0.03236154, -0.08028424, +0.11353852, +0.02443733, +0.16786005, +0.40655461, -0.14817138, +0.01405425, +0.38157322, +0.00691271, -0.05645493, -0.00678487, +0.30042928, +0.16963256, -0.09700341, -0.03934205, +0.17159437, +0.11726107, +0.10070516, -0.03370983, +0.12130976, -0.07917591, -0.05217766, -0.27650994, -0.08128085, -0.08916343, -0.22308037, -0.00210297, -0.00534384, +0.22466224, +0.08437287, +0.00272165, -0.24829290, +0.54399052, +0.00200065, +1.13782380, +0.05378523, -0.00409401, +0.00355919, +0.04680980, +0.08503047, +0.10203053, +0.00919785, -0.32377777, -0.20437612, -0.12733021, -0.06049809, -0.21620634, -0.07482055, -0.18313757, -0.02602084, -0.03490210, -0.01343688, -0.12795223, -0.12061936, -0.02868529, -0.12419480, +2.01816008, +0.12659382, -0.09705225, -0.03594006, +2.61078138, +0.25118265, +0.29787359, +0.22315286, -0.24395807, +0.01800676, -0.11802536, -0.10594496, -0.03350145, -0.12620128, -0.10967024, -0.08558342, -0.31058984, +0.10553728, -0.10177551, -0.01511797, +0.01656357, -0.05400488, -0.03062225, +0.18550127, -0.08567498, -0.31438107, -0.09113410, -0.10075349, -0.02136049, -0.15094539, -0.05718184, -0.07488548, -2.36888629, + +0.42534490, +0.92921951, -0.02600154, -0.06369416, -0.00721878, +0.05380111, +0.12116847, +0.45381278, -0.12650178, +0.03434070, +0.36865527, +0.11828655, -0.05710127, +0.00880594, +0.28739513, +0.15816369, -0.22529235, -0.03385238, +0.11994979, +0.09902292, +0.06852197, -0.01161876, +0.09487595, -0.13734161, -0.03911415, -0.28724532, -0.08959267, -0.10283692, -0.20560297, +0.02353533, -0.02676186, +0.18490832, +0.22291723, +0.00881876, -0.17450028, +0.57605608, +0.04866964, +1.06279361, -0.21059559, +0.08345898, -0.03545691, +0.03932624, +0.03109384, +0.04042123, -0.02536723, -0.32254989, -0.18386150, -0.13257509, -0.03475498, -0.19927834, -0.07770003, -0.13073851, -0.14996071, -0.02753363, -0.30792481, -0.00433906, -0.14071103, -0.09648887, -0.00961796, -0.12082428, +2.02059004, +0.03898784, -0.09015625, -0.00947443, +2.62439476, +0.26610064, +0.20625797, +0.19000503, -0.23401700, -0.01428210, -0.22166185, -0.05151515, -0.00191456, -0.13822022, -0.11599182, +0.06156522, -0.05166637, -0.40627704, +0.11902636, -0.08743336, +0.04687600, +0.01719113, -0.00958484, +0.00286511, +0.08900117, -0.06725953, -0.37004985, -0.05583877, -0.07206348, -0.07767433, -0.12926004, -0.03493376, -0.02123559, -0.05145591, -2.24610224, +0.02308262, -0.01846148, +0.00684800, -0.04914161, -0.18796853, +0.42536276, /* T4.TCP_WINDOW */ - +0.00906213, +0.08867248, +0.30602564, +0.02759562, +0.01046880, -0.28173882, +0.04304677, +0.03050650, +0.08771585, -0.05197209, -0.23075209, -0.14732407, +0.03130780, +0.18108446, +0.01137260, +0.07853056, -0.25056410, +0.03280080, +0.00855966, +0.02176043, +0.03019115, +0.03426645, +0.03112691, +0.02546507, -0.12812324, +0.02454231, +0.27989770, +0.04319331, +0.39429772, +0.10409227, +0.10951110, +0.04144622, +0.04820255, +0.38328485, +0.07963275, +0.03578866, -0.17707308, +0.00885710, +0.04243294, +0.01171939, -0.09973433, +0.00643489, +0.04389637, +0.00655984, -0.09024638, +0.05559197, +0.10760130, +0.14105144, +0.09972046, +0.11041023, +0.08016568, +0.15354855, -0.14331241, -0.18143755, -0.34111865, +0.01561373, +0.02081252, -0.04609520, +0.01938100, +0.21161795, +0.01291217, +0.08442179, -0.06501928, +0.03680469, +0.00439439, +0.06045208, +0.01400805, +0.10516143, +0.02189813, -0.39956019, -0.07447696, +0.05593861, +0.19379927, +0.03074105, +0.36062684, +0.16628878, +0.00997194, +0.01483368, +0.03041046, -0.06127083, +0.01693558, -0.02977426, +0.01077510, -0.17921258, +0.54838924, +0.04455728, +0.12955854, -0.22443905, +0.05808910, +0.02864634, +0.20351326, +0.02353881, + -0.37774986, -0.06929465, +0.55484821, +0.02539763, +0.01265156, -0.25297989, +0.00104037, +0.02612167, +0.08042479, -0.00176951, -0.34626892, -0.08635944, +0.01452967, +0.18554499, -0.00527587, +0.12226057, -0.28642801, +0.02942739, -0.00369828, +0.00455945, +0.02658961, +0.02813164, +0.02780324, -0.03427731, -0.13977376, -0.03238192, +0.33071954, -0.05608124, +0.49566543, +0.11254772, +0.07483124, +0.03077901, +0.23994491, +0.44544956, +0.07113539, +0.12241740, -0.13568977, -0.00758020, -0.02393214, -0.48756948, +0.02908871, -0.03005477, +0.08994131, -0.06656888, -0.06779653, +0.12121918, +0.02588428, +0.19409531, +0.11503913, +0.13728559, +0.12986479, +0.30696538, +0.03389028, -0.15868291, -0.13563472, -0.35346715, +0.01198903, +0.00733278, -0.02706297, +0.01354345, +0.23090844, -0.01481361, +0.08555284, -0.08918018, +0.04763951, -0.04278652, +0.08097031, +0.00752701, +0.11040932, +0.00486637, -0.50198382, +0.02689184, +0.04304544, +0.16874642, -0.00767590, +0.14397078, +0.03338118, +0.11325284, +0.00778965, +0.00826331, -0.10823577, -0.07246889, -0.02728450, -0.09422412, +0.02485153, -0.14479735, +0.82751598, +0.04413522, +0.14706117, -0.26281763, +0.04400376, +0.02362808, +0.19348839, +0.27258883, +0.03111712, -0.07453554, +0.11570247, +0.03271297, +0.22059949, -0.01329919, -0.25268672, /* T4.TCP_FLAG_F */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_S */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_R */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_P */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_A */ - +0.00866163, +0.08734613, +0.30264077, -0.06512009, +0.00931227, -0.28435884, +0.04218263, +0.02670921, +0.08349278, -0.05275589, +0.01986611, -0.15106682, +0.02263962, +0.17931381, +0.00694116, +0.07777459, -0.26379960, +0.02516922, +0.00663616, +0.02006784, +0.02835145, -0.00409980, +0.02632157, +0.02320155, -0.34250677, +0.02042321, +0.26592433, -0.21327899, -0.06865356, +0.05918766, +0.07475393, +0.04030352, +0.04671857, +0.38142074, +0.07270759, +0.02284793, -0.18298311, +0.00787225, +0.04100792, +0.01048973, -0.10036569, +0.00714196, +0.04214610, +0.01761287, -0.09215641, +0.01707728, +0.10460113, +0.12729897, +0.09421141, +0.07705935, -0.04802908, +0.14669241, -0.14680269, -0.18315231, -0.34382038, +0.00713872, +0.55479292, -0.06416915, +0.01408249, -0.82865105, +0.00746733, +0.46265643, +0.41370375, +0.00897281, +0.00223428, +0.05773001, +0.00131968, +0.05172062, +0.01850340, -0.40267417, -0.16547499, +0.04520108, +0.07281649, +0.02300774, +0.35527200, +0.88694835, -0.05990504, -0.03008247, -0.07472499, -0.06320470, +0.01387043, +0.45221391, -0.01650292, -0.18622782, -0.06616394, +0.02470129, +0.12180781, -0.23020158, +0.05667681, +0.02209480, -0.07106039, +0.02105641, + -0.28300473, -0.07556060, +0.60732567, -0.05308070, +0.02067668, -0.25134431, +0.02128887, +0.01924054, +0.07614414, +0.01336895, -0.01052378, -0.07671956, +0.00162148, +0.17659886, -0.01248266, +0.13356042, -0.28821061, +0.00744135, +0.01380905, -0.00019714, +0.02403876, -0.03687657, +0.01726782, +0.00513752, -0.40891144, -0.03993251, +0.28328424, -0.52321866, -0.79317310, +0.00272888, +0.07393841, +0.03358606, +0.07625718, +0.46842295, +0.14377032, +0.07543268, -0.14015690, +0.01575983, -0.11982706, -0.43531866, +0.03325336, -0.02437388, +0.09235836, -0.02635044, -0.06831063, -0.05358569, +0.03145993, +0.13523120, +0.10440152, -0.06884455, -0.15593223, +0.27170536, +0.06543922, -0.15958116, -0.13499920, -0.34690184, -0.02409921, +0.63861755, -0.06723405, +0.02027389, -1.09180640, -0.07317958, +0.56240281, +0.71803009, -0.03754198, -0.03261160, +0.08055910, -0.04912901, +0.03091451, -0.04802827, -0.49198248, -0.07108641, +0.01992750, -0.12266470, -0.00893004, +0.15527897, +0.03492686, +1.30256060, -0.16522241, -0.04094813, -0.16235582, -0.10729622, -0.02000642, +0.61837666, -0.03269557, -0.17121550, -0.17712942, -0.00271427, +0.14603216, -0.25149049, +0.05414833, +0.01102091, -0.19947254, +0.28669664, +0.03177634, -0.07326189, -0.38412132, +0.01371295, -0.36965095, +0.01017452, -0.25124002, /* T4.TCP_FLAG_U */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_E */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_C */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_RES8 */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_RES9 */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.33114230, -0.07323459, +0.55005461, +0.02577451, +0.01313848, -0.27763024, +0.02118066, +0.02213099, +0.08053186, -0.00162274, +0.03309870, -0.08641625, -0.02050774, +0.18568620, -0.00387238, +0.13673488, -0.28486737, +0.02507229, -0.00200251, +0.00148180, +0.02771868, +0.02525604, +0.02737272, -0.03284721, -0.13940188, -0.03188812, +0.30980173, -0.04054990, +0.52438716, +0.11174562, +0.07575439, +0.03086620, +0.25143962, +0.44613351, +0.03116058, +0.13224180, -0.13700294, -0.00455448, -0.07899770, -0.47588503, +0.02838005, -0.02745426, +0.09193903, -0.02485940, -0.07349445, +0.13243485, +0.02709514, +0.19398704, +0.11413634, +0.14136337, +0.11597947, +0.32277450, +0.04089448, -0.15743683, -0.13454287, -0.35261698, +0.02316342, +0.00925157, -0.02144821, +0.01397978, +0.21214560, -0.00789266, +0.00829693, -0.09710140, +0.04469504, -0.04243367, +0.07797543, +0.00832914, +0.12902618, +0.00455635, -0.50051733, +0.02191945, -0.00322778, +0.05267073, -0.00932761, +0.14372839, +0.03329173, +0.08125941, +0.01088323, +0.01475085, -0.11499938, -0.07488295, -0.02596332, -0.01642286, +0.02807983, +0.02200769, -0.01504717, +0.04916888, +0.14698547, -0.26160861, +0.04429137, +0.01556800, +0.09622612, +0.27044417, +0.03544798, -0.07396958, +0.07161150, +0.20724409, +0.16442644, -0.01070770, -0.25222839, /* T4.TCP_FLAG_RES10 */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_FLAG_RES11 */ - +0.01055154, +0.08919569, +0.30637777, +0.02793565, +0.01073334, -0.28143530, +0.04514988, +0.03088132, +0.08817970, -0.05183590, +0.03626664, -0.14711040, +0.03219696, +0.18132650, +0.01211977, +0.08232301, -0.25033056, +0.03326444, +0.00926740, +0.02257805, +0.03100618, +0.03453416, +0.03152156, +0.02588496, -0.12793262, +0.02505214, +0.28088037, +0.05007157, +0.39633090, +0.10427787, +0.10964284, +0.04202101, +0.04875605, +0.38353397, +0.07991573, +0.03784140, -0.17682736, +0.00914292, +0.04309280, +0.01239943, -0.09958799, +0.00925248, +0.04439256, +0.02119742, -0.09001296, +0.05750666, +0.10790336, +0.14140237, +0.10009731, +0.11087587, +0.08049020, +0.15397666, -0.14230564, -0.18084421, -0.34092778, +0.01701354, +0.02223479, -0.04354543, +0.02046966, +0.21221500, +0.01593418, +0.03086866, -0.06484993, +0.03700423, +0.00460996, +0.06133936, +0.01424044, +0.11374338, +0.02229937, -0.39934513, -0.07349240, +0.05641967, +0.19423363, +0.03102665, +0.36087171, +0.16646628, +0.01022718, +0.02111136, +0.03258308, -0.06107373, +0.01749943, +0.05950497, +0.01169705, -0.17831132, +0.02142043, +0.04952090, +0.12981315, -0.22423942, +0.05822496, +0.02890057, +0.20393841, +0.02530232, + -0.34056763, -0.07611478, +0.55220561, +0.02518917, +0.01256088, -0.25321943, +0.01832485, +0.02477353, +0.08036996, -0.00526189, +0.03638168, -0.08887594, +0.01624906, +0.18598236, -0.00428423, +0.14102206, -0.28735893, +0.03020696, -0.00359167, +0.00571997, +0.02799986, +0.02787778, +0.02803778, -0.04114888, -0.14022604, -0.03179964, +0.33495393, -0.04081687, +0.51043767, +0.11174243, +0.07432112, +0.02881234, +0.22790384, +0.44388050, +0.04681909, +0.12834452, -0.13615749, -0.01105902, -0.08449021, -0.49340594, +0.02708360, -0.02844575, +0.09010362, -0.02753210, -0.06772503, +0.13260450, +0.02517900, +0.19378291, +0.11476669, +0.13654817, +0.12963359, +0.30505606, +0.03196313, -0.15713591, -0.13498377, -0.35464926, +0.01926272, +0.00989957, -0.02152162, +0.01328884, +0.22158592, -0.00319572, +0.01352247, -0.09035002, +0.04656971, -0.04553887, +0.08141631, +0.00343981, +0.13214405, +0.00491403, -0.50343315, +0.02762223, +0.04314621, +0.17092017, -0.00825669, +0.14213536, +0.03310360, +0.11291412, +0.00926957, +0.01993128, -0.11863090, -0.07586235, -0.02840862, +0.04771184, +0.03385168, -0.14061903, -0.00910133, +0.05349027, +0.14670589, -0.26542826, +0.04359051, +0.02384189, +0.19241692, +0.27069734, +0.03844009, -0.07482215, +0.11603642, +0.03423473, +0.22093225, -0.01472161, -0.25282397, /* T4.TCP_OPT_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T4.TCP_CORR_WINDOW_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_WINDOW */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_F */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_S */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_R */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_P */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_A */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_U */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_E */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_C */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_RES8 */ - +0.06332063, +0.25600628, -0.25384120, +0.02526825, +0.02792187, -0.11945819, +0.04354388, +0.04492900, +0.04678552, +0.06971545, +0.01424680, -0.54933300, +0.01646547, +0.01057118, +0.00568611, +0.08308831, -0.10483494, +0.02011973, +0.00996457, +0.01809170, +0.01625256, +0.05719581, +0.05200293, +0.02234862, -0.00605728, +0.01392034, -0.07520270, +0.08519879, -0.08677650, +0.07140719, -0.30657850, +0.07546842, -0.07525844, -0.18204820, +0.52575530, +0.01655880, +0.64549850, +0.04391738, +0.12608729, +0.08977305, -0.37230577, +0.00820328, +0.01755441, +0.01171601, -0.06251114, +0.04126486, +0.08276252, +0.06598014, -0.06902551, +0.11235451, +0.42158648, +0.07578299, -0.12777275, -0.12658934, +0.05635663, +0.00775791, +0.02040482, -0.02296122, +0.01763068, +0.51887295, +0.01864704, +0.02225816, +0.14108280, +0.05243271, +0.00523164, +0.05325058, +0.01372129, +0.10849395, +0.09336316, -0.10291372, +0.14386753, +0.04355739, +0.42639411, +0.04988152, -0.32320144, +0.17675612, +0.00988535, +0.01735443, +0.02565012, +0.07212096, +0.02490296, +0.06933182, +0.01004132, -0.16945292, +0.01975466, +0.04880242, +0.28976037, -0.31135591, +0.05694758, +0.04323588, +0.30916555, +0.04960703, + +0.12424715, +0.14838836, -0.38603890, +0.01543413, +0.04345396, -0.09293082, +0.01967313, +0.03592424, +0.04210449, +0.09232553, -0.00816141, -0.60198882, -0.00014988, -0.02470039, -0.00751239, +0.12981947, -0.14260557, -0.00227203, -0.00315615, -0.02000123, +0.01015738, +0.05904953, +0.04850390, -0.01909044, -0.01891269, -0.05293512, -0.08856808, +0.20204916, -0.08971632, +0.09086912, -0.30421444, +0.06505405, -0.03862711, -0.17649259, +0.53543468, +0.07001227, +0.69049740, +0.02988166, +0.18317299, +0.07440512, -0.23276791, -0.02462497, +0.04240215, +0.00209564, -0.05155946, -0.00327440, +0.09968995, +0.05540110, -0.07841365, +0.14308365, +0.50761842, +0.04806874, +0.06218301, -0.11575754, -0.08954916, +0.07434393, -0.00509789, +0.00610640, -0.00211901, -0.01971616, +0.53203192, +0.01082679, +0.00443724, +0.18073606, -0.00405930, -0.03377212, +0.06471256, -0.01440559, +0.14301367, +0.09975902, -0.09003242, +0.19522309, +0.02172012, +0.41898565, +0.10140701, -0.33672888, +0.05755124, +0.17213476, +0.00786237, +0.00517652, -0.20447918, -0.00959438, +0.02013769, +0.05982817, +0.00153182, -0.09789641, +0.00325286, +0.01498589, +0.30288932, -0.37071879, +0.07434995, +0.04299721, +0.44392188, -0.16961603, +0.02170820, -0.13390326, +0.17850804, +0.03979963, +0.13739443, +0.01279692, -0.14598014, /* T5.TCP_FLAG_RES9 */ - -0.00917475, -0.39599157, -0.25562042, +0.02483873, +0.02681701, -0.11982370, +0.35679780, +0.04355845, +0.00451203, +0.06955985, +0.01367623, -0.54986716, +0.01607362, +0.01038865, +0.00545609, +0.08242154, -0.10542731, +0.01950264, +0.00953824, +0.01669361, +0.01441536, +0.05458298, +0.05056529, +0.02158792, -0.00648575, +0.01364905, -0.07565950, +0.08478410, -0.08722947, +0.07116224, -0.30674563, -0.01779640, -0.09599150, -0.18423341, +0.73697869, +0.01637731, +0.64401829, +0.04301639, -0.06937867, +0.04526007, -0.37249992, +0.00779245, +0.01717545, +0.01108038, -0.06271264, +0.03948165, -0.27599828, +0.06233987, -0.07676112, +0.10513301, +0.03741739, -0.04210678, -0.12807442, -0.12682160, +0.05049229, +0.00767001, +0.02008670, -0.02459444, +0.01686655, +0.51751526, +0.01636247, +0.02124449, +0.14064551, +0.03491780, +0.00510786, +0.05269626, +0.01317771, +0.10817904, +0.07985473, -0.10940947, +0.14352528, +0.04242708, -1.28707349, +0.04091357, -0.32617779, +0.17588829, +0.00974911, +0.01700670, +0.02506147, +0.07160535, +0.02387656, +0.06829647, +0.00953232, -0.16998047, +0.01901001, +0.04816308, -0.01186819, -0.31177213, -0.08861153, -0.00553953, +0.25932490, +0.04700337, + +0.04418571, -0.44634513, -0.38546127, +0.01575447, +0.04342015, -0.11594120, +0.16181428, +0.03364437, -0.00323577, +0.10590894, -0.01182277, -0.59777909, -0.03582938, -0.02325051, -0.00702947, +0.12493916, -0.13806507, -0.00797890, -0.00212410, -0.02499886, +0.00714511, +0.04924133, +0.04512966, -0.00865928, -0.01839147, -0.05258514, -0.11135161, +0.20398737, -0.06896866, +0.09092603, -0.30166006, -0.00674009, -0.08422927, -0.17582320, +0.66768345, +0.07563614, +0.68224232, +0.04178027, -0.10593696, -0.02093583, -0.22346574, -0.02304983, +0.04450107, +0.00434351, -0.05698106, -0.04297433, -0.28310878, +0.05092710, -0.08698860, +0.16482110, -0.24124847, -0.24906076, +0.07908412, -0.11572110, -0.08887298, +0.06374926, +0.00114198, +0.00556052, -0.00361211, -0.01671691, +0.52293199, -0.01220396, -0.00258009, +0.16919142, -0.08280269, -0.02790501, +0.06061877, -0.01164580, +0.13987534, +0.04210318, -0.09467878, +0.18971239, -0.02421234, -1.44869081, +0.09426125, -0.33565679, +0.05639809, +0.14079642, +0.00915946, +0.00102738, -0.19626041, -0.01120034, +0.02227813, -0.00555213, -0.00562464, +0.05377988, -0.00297858, +0.01083802, +0.00561699, -0.36114810, -0.08735391, -0.02995250, +0.30315028, -0.17024378, +0.01816283, -0.13216874, +0.13213433, +0.20147269, +0.07390609, +0.01736566, -0.14500372, /* T5.TCP_FLAG_RES10 */ - -0.00948133, -0.39737802, -0.25982527, +0.02466494, +0.02661451, -0.12034515, +0.35625103, +0.04326266, +0.00180747, +0.06950087, +0.01354123, -0.55031623, +0.01594799, +0.01032289, +0.00541020, +0.08227096, -0.10612519, +0.01928394, +0.00945562, +0.01654767, +0.01427989, +0.05412284, +0.04992914, +0.02137683, -0.00663749, +0.01354219, -0.07631076, +0.08456734, -0.08784786, +0.07108134, -0.30680609, -0.01806012, -0.09637289, -0.18482786, +0.69266568, +0.01633262, +0.64327914, +0.04292410, -0.06993662, +0.04483644, -0.37254073, +0.00771765, +0.01708945, +0.01097563, -0.06285848, +0.03900557, -0.27830737, +0.05781755, -0.08437023, +0.06241160, -0.45729199, -0.04670439, -0.12825576, -0.12693497, +0.04903625, +0.00765148, +0.01988496, -0.02507033, +0.01668407, +0.51614785, +0.01622937, +0.02099132, +0.13879563, +0.03498058, +0.00506818, +0.05259323, +0.01308670, +0.10806037, +0.07935362, -0.11930037, +0.14320319, +0.04144803, +0.27831745, +0.03847679, -0.32992055, +0.14673913, +0.00973433, +0.01684403, +0.02478233, +0.07152471, +0.02358619, +0.06573225, +0.00942781, -0.17046814, +0.01886675, +0.04793402, -0.02083601, -0.31229359, -0.08936520, -0.00860375, +0.00309557, +0.04667249, + +0.03811937, -0.44965600, -0.38953792, +0.01511950, +0.04350210, -0.09265721, +0.15732436, +0.03507278, -0.00473140, +0.10195658, -0.00869462, -0.59863631, -0.00028991, -0.02414166, -0.00736656, +0.12916878, -0.13871879, -0.00334709, -0.00279640, -0.01998751, +0.00794211, +0.05038954, +0.04485058, -0.01353114, -0.01862101, -0.05242014, -0.09241072, +0.20415353, -0.08126353, +0.09092506, -0.30275047, -0.00822118, -0.09315329, -0.17751521, +0.60708715, +0.07216525, +0.68469908, +0.03762596, -0.10589380, -0.03087537, -0.22564873, -0.02355314, +0.04296990, +0.00245304, -0.05102821, -0.04494776, -0.28593433, +0.04542414, -0.09567989, +0.14531920, -0.68776900, -0.24199108, +0.07654901, -0.11491933, -0.08905423, +0.06118541, -0.00071262, +0.00596637, -0.00368032, -0.01637432, +0.53239319, -0.00887669, +0.00223641, +0.17319745, -0.08077000, -0.02998254, +0.06416544, -0.01478744, +0.14340297, +0.04156646, -0.13692226, +0.19699199, +0.01811635, +0.30753907, +0.09318653, -0.33798723, +0.05595573, +0.14069008, +0.00950270, +0.00588148, -0.19844509, -0.01220479, +0.02063457, +0.05329185, -0.00131738, -0.09715433, +0.00300368, +0.01485668, +0.00431427, -0.36477972, -0.08762489, -0.02656234, -0.04797637, -0.17185248, +0.02119108, -0.13249149, +0.16527214, +0.03655757, +0.11037739, +0.01366357, -0.14531416, /* T5.TCP_FLAG_RES11 */ - -0.01063815, -0.39628359, -0.25703644, +0.02468457, +0.02585407, -0.12000637, +0.35650588, +0.04336280, +0.00250307, +0.06950910, +0.01355761, -0.55019475, +0.01592443, +0.01031682, +0.00540218, +0.07975933, -0.10583389, +0.01919696, +0.00943069, +0.01651196, +0.01424004, +0.04556931, +0.04925475, +0.02116812, -0.00674725, +0.01340395, -0.07581354, +0.08461442, -0.08753030, +0.07105806, -0.30684667, -0.01821382, -0.09669418, -0.18486624, +0.68324591, +0.01632241, +0.64212224, +0.04285168, -0.06989998, +0.04474451, -0.37256180, +0.00765005, +0.01703846, +0.01083267, -0.06281252, +0.03885460, -0.28028817, +0.04217957, -0.08572556, +0.10449261, -0.04490657, -0.04535075, -0.12820387, -0.12691675, +0.05003372, +0.00765258, +0.01998043, -0.02488862, +0.01537026, +0.51408421, +0.01627629, +0.02107011, +0.14046133, +0.03485009, +0.00504506, +0.05257026, +0.01307992, +0.10808418, +0.07910164, -0.12487311, +0.13838106, +0.03582959, -1.92773248, +0.00102885, -0.55968436, +0.17430630, +0.00972519, +0.01664267, +0.02486543, +0.07154907, +0.02352931, +0.06751482, +0.00944967, -0.17078798, +0.01886357, +0.04778618, -0.53043487, -0.31207230, -0.09256053, +0.81203420, -0.04936082, +0.04682684, + +0.04402526, -0.44720459, -0.38618082, +0.01524013, +0.04257381, -0.09164696, +0.16424251, +0.03698654, -0.00398840, +0.10088841, -0.00890842, -0.59898201, -0.00038264, -0.02421964, -0.00733528, +0.10731914, -0.13946943, -0.00353313, -0.00234599, -0.01990210, +0.00774038, +0.02809034, +0.04166776, -0.01599518, -0.01922373, -0.05273560, -0.08954724, +0.20388807, -0.07960234, +0.09092715, -0.30268493, -0.00782418, -0.08510581, -0.17768710, +0.67113076, +0.07258219, +0.68266791, +0.03523108, -0.10815268, -0.02787376, -0.22416845, -0.02343823, +0.04239076, -0.00059536, -0.05104588, -0.04094459, -0.28678766, +0.03776560, -0.09141180, +0.15984195, -0.28330985, -0.25102135, +0.05602452, -0.11484735, -0.08907994, +0.06300959, -0.00062513, +0.00641680, -0.00362868, -0.02492454, +0.54490344, +0.00150288, +0.00244111, +0.17730625, -0.08079310, -0.02533694, +0.06439301, -0.01464290, +0.14362468, +0.04173078, -0.10084738, +0.18526271, +0.01218573, -2.01939549, +0.07913031, -0.66481182, +0.03143921, +0.16846991, +0.00873447, +0.00470752, -0.19914020, -0.00835048, +0.02046718, +0.05348615, +0.00351366, -0.09789091, +0.00255111, +0.01458695, -0.60699038, -0.36377759, -0.08839144, +0.97500869, -0.08609346, -0.17997054, +0.02195278, -0.10580848, +0.17183986, +0.03796245, +0.12335864, +0.01459359, -0.14534465, /* T5.TCP_OPT_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T5.TCP_CORR_WINDOW_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_WINDOW */ - +0.06468891, +0.25807315, -0.21620905, +0.03454390, +0.02932948, -0.05485683, +0.04486812, +0.05093990, +0.05377496, +0.07044689, +0.01529993, -0.04619279, +0.01860498, +0.01023281, +0.00168258, +0.08327217, -0.14409194, +0.02316236, +0.01145050, +0.01957678, +0.01664707, +0.06553607, +0.05885567, +0.02590717, +0.14873821, +0.01284934, -0.07602905, +0.09726994, -0.02192317, +0.07672426, -0.29307397, +0.07704304, -0.07041285, -0.17456601, +0.54769532, +0.00268030, -0.17704418, +0.04607273, +0.12833767, +0.09153969, -0.37180826, +0.00890652, +0.01732915, +0.01237666, -0.05680915, +0.04765568, +0.08857919, +0.08111899, -0.05047551, +0.13115614, +0.37635210, +0.10952408, -0.12055554, -0.12441606, -0.22446574, +0.00845387, +0.01998685, -0.03230106, +0.01387456, -0.74749654, +0.02465836, +0.45902917, -0.01062650, +0.08298264, +0.00614926, +0.05190184, +0.01618747, +0.05028275, +0.09653973, -0.30433617, -0.13554418, +0.05015162, +0.55673798, +0.05756990, -0.29569297, +0.30216590, +0.01044865, +0.01823727, +0.04442753, +0.07244882, +0.02782207, +0.08176702, +0.01477187, -0.10069866, +0.01994146, +0.02993369, +0.31296296, -0.03316216, +0.06054633, +0.05200047, +0.36053263, +0.05483420, + -0.04204406, +0.10905086, -0.35658537, +0.02413241, +0.03025646, +0.01652375, +0.02543588, +0.04226352, +0.04487909, +0.09562598, -0.01832114, +0.11157621, -0.00091251, -0.04442957, -0.01737813, +0.12223125, -0.08340155, +0.00076490, -0.00545954, -0.02986139, -0.00084478, +0.06876896, +0.05412899, -0.04650384, +0.17137642, -0.06161098, -0.10225538, +0.10347354, -0.03433194, +0.09132234, -0.30287150, +0.06208855, -0.00485618, -0.17411048, +0.56060670, +0.00284492, -0.19209174, +0.02888345, +0.14719194, -0.04356193, -0.26442996, -0.03192521, +0.02877365, -0.01235060, -0.04046675, -0.03806708, +0.08277853, +0.06657058, -0.06490682, +0.12306362, +0.46991046, +0.07680356, +0.02660792, -0.09758493, -0.08727157, -0.21771502, -0.01209013, -0.00731572, -0.04044139, -0.02031344, -0.80727120, +0.03083183, +0.55265820, -0.05701542, +0.09417293, -0.03715144, +0.05793003, -0.00826744, +0.04196165, +0.09653520, -0.28848477, -0.25487254, +0.02967354, +0.59371082, +0.10166680, -0.29624572, +0.06059252, +0.27996853, -0.00682470, +0.00123196, -0.21011000, +0.01710409, +0.01778421, +0.06739544, -0.00028099, -0.05255345, -0.00941577, -0.04037410, +0.31946947, +0.05871667, +0.07149996, +0.05199088, +0.47323653, -0.18680689, +0.02839264, -0.04116363, +0.37612374, +0.03975334, +0.21792550, +0.01015080, -0.14502590, /* T6.TCP_FLAG_F */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_S */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_R */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_P */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_A */ - +0.06338284, +0.25693570, -0.21962997, -0.05724761, +0.02812193, -0.05727169, +0.04319789, +0.04703132, +0.04966755, +0.06971094, -0.00049459, -0.04997176, +0.00977640, +0.00915026, +0.00101924, +0.07984871, -0.15736074, +0.01542158, +0.00898858, +0.01740437, +0.01507062, +0.02708992, +0.05402449, +0.02391368, -0.06570339, +0.01039887, -0.08741061, -0.16585119, -0.48637383, +0.03178927, -0.32784014, +0.07575736, -0.07200622, -0.17643592, +0.54107671, +0.00204704, -0.18298676, +0.04492602, +0.12683390, +0.09020394, -0.37230121, +0.00720720, +0.01628501, +0.00960386, -0.05851570, +0.01837103, +0.08589259, +0.06749387, -0.05578119, +0.09859391, +0.24841842, +0.10326785, -0.12368036, -0.12580994, -0.22705205, -0.00134883, +0.55988722, -0.03441504, +0.01260352, -1.78814977, +0.01640691, +0.45564747, +0.46807142, +0.05511594, +0.00387282, +0.05076145, +0.00348944, +0.04758697, +0.09325012, -0.30741973, -0.22738322, +0.03926793, +0.43738222, +0.05005587, -0.30093069, +1.02283956, -0.05881452, -0.03086284, -0.06264825, +0.07103712, +0.02506811, +0.47561600, -0.01325196, -0.10600344, -0.06611185, +0.02621385, +0.30529011, -0.03896026, +0.05921236, +0.04545703, +0.08630115, +0.05083020, + +0.00685609, +0.11729076, -0.31221197, -0.04632581, +0.03786748, +0.01753292, +0.03062205, +0.03756111, +0.04096136, +0.11772640, -0.05837826, +0.11968342, -0.01190409, -0.04816530, -0.01650995, +0.11671185, -0.08562036, -0.01778346, +0.00945111, -0.03330678, -0.00133158, +0.01021231, +0.04404826, -0.00573463, -0.09893427, -0.06530127, -0.12954577, -0.37180659, -1.20501896, -0.01767048, -0.29697900, +0.06523656, -0.13828291, -0.15411744, +0.66228751, +0.00875854, -0.19464922, +0.05182641, +0.10001892, -0.00971186, -0.24690772, -0.02796723, +0.03526914, -0.01087055, -0.04060297, -0.18504486, +0.08840444, +0.01428831, -0.06815818, -0.08182526, +0.17687804, +0.04374733, +0.05589511, -0.09999103, -0.08660246, -0.21308051, -0.05437788, +0.62650941, -0.04183381, -0.01853307, -1.96886060, -0.02905219, +0.53644362, +0.68586485, +0.01324982, -0.02621857, +0.06055650, -0.05675749, +0.03400668, +0.04485216, -0.27848891, -0.33402749, +0.00978113, +0.33041433, +0.10130417, -0.28559159, +0.06215697, +1.43842046, -0.17011507, -0.05042879, -0.24843987, -0.01568948, +0.02569627, +0.60344029, -0.06083721, -0.05591900, -0.16924851, -0.04398971, +0.31861240, +0.06477606, +0.08135669, +0.03983575, +0.09870584, -0.17150118, +0.02199764, -0.04109264, -0.11271121, +0.02191121, -0.36322560, +0.03398645, -0.14378376, /* T6.TCP_FLAG_U */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_E */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_C */ - +0.06527275, +0.25878527, -0.21589296, +0.03580813, +0.02954300, -0.05434814, +0.04616514, +0.05120344, +0.05435447, +0.07063093, +0.01590593, -0.04601535, +0.01933374, +0.01116295, +0.00619786, +0.08439713, -0.14389171, +0.02351680, +0.01161983, +0.01991458, +0.01772535, +0.06572388, +0.05922448, +0.02659709, +0.14887076, +0.01502781, -0.07245457, +0.09749937, -0.02138938, +0.07687949, -0.29295122, +0.07747485, -0.06996874, -0.17432268, +0.54828485, +0.01704051, -0.17683101, +0.04619669, +0.12891878, +0.09211364, -0.37152350, +0.00931772, +0.01853147, +0.01318842, -0.05637226, +0.05880041, +0.08919483, +0.08159728, -0.04989529, +0.13241044, +0.37693770, +0.11055210, -0.11918331, -0.12350184, -0.22415945, +0.00852598, +0.02732909, -0.01379132, +0.01899069, -0.74728372, +0.02487376, +0.02385970, -0.01048226, +0.08314735, +0.00624850, +0.05437080, +0.01641020, +0.10960973, +0.09704609, -0.30409069, -0.13540062, +0.05048653, +0.55879936, +0.05807478, -0.29533098, +0.30235750, +0.01131770, +0.02033099, +0.04465982, +0.07316809, +0.02869712, +0.08290706, +0.01494801, -0.09808694, +0.02147251, +0.05103346, +0.31329545, -0.03299810, +0.06076051, +0.05226280, +0.36129995, +0.05507611, + -0.04367302, +0.11882678, -0.35698490, +0.02941087, +0.03037192, +0.01741073, +0.02660305, +0.04208330, +0.04499698, +0.08290534, -0.01593276, +0.11115458, +0.00038082, -0.04067807, -0.00841394, +0.12296977, -0.08423533, +0.00048172, -0.00628519, -0.03047787, +0.00103211, +0.06847146, +0.05470173, -0.05109558, +0.17101274, -0.05851431, -0.08972176, +0.10345521, -0.05230477, +0.09131958, -0.30371601, +0.06096390, -0.01814685, -0.17457219, +0.56144692, +0.05960241, -0.19297294, +0.02686410, +0.14037096, -0.04268534, -0.26265855, -0.03238767, +0.03128775, -0.01275929, -0.04016915, -0.00656694, +0.08280597, +0.06704063, -0.06460382, +0.12048788, +0.46995673, +0.07268186, +0.02332879, -0.09596992, -0.08655850, -0.21792336, -0.01185654, +0.00896757, +0.00392250, -0.02662586, -0.80791111, +0.03309236, +0.00247034, -0.05765825, +0.09412218, -0.03772254, +0.06116775, -0.00750222, +0.13577529, +0.09811792, -0.29056747, -0.25534504, +0.02983038, +0.61054376, +0.10236718, -0.29661370, +0.06053520, +0.27514977, +0.00062054, +0.00797963, -0.21207345, +0.02779470, +0.01711886, +0.07115518, +0.00028898, -0.02409830, -0.00575645, +0.00737102, +0.31935059, +0.05624111, +0.07081019, +0.05211447, +0.47478950, -0.18763080, +0.02763724, -0.04163709, +0.37657801, +0.04139684, +0.21640568, +0.00893560, -0.14510093, /* T6.TCP_FLAG_RES8 */ - +0.06496618, +0.25739881, -0.22009781, +0.03563435, +0.02934051, -0.05486959, +0.04561837, +0.05090765, +0.05164991, +0.07057196, +0.01577094, -0.04646442, +0.01920811, +0.01109720, +0.00615197, +0.08424655, -0.14458959, +0.02329810, +0.01153721, +0.01976864, +0.01758987, +0.06526374, +0.05858833, +0.02638600, +0.14871901, +0.01492094, -0.07310583, +0.09728262, -0.02200777, +0.07679858, -0.29301169, +0.07721113, -0.07035013, -0.17491713, +0.50397183, +0.01699582, -0.17757016, +0.04610440, +0.12836083, +0.09169000, -0.37156430, +0.00924292, +0.01844547, +0.01308367, -0.05651809, +0.05832433, +0.08688573, +0.07707496, -0.05750440, +0.08968902, -0.11777168, +0.10595449, -0.11936464, -0.12361521, -0.22561549, +0.00850746, +0.02712735, -0.01426721, +0.01880821, -0.74865113, +0.02474067, +0.02360653, -0.01233214, +0.08321013, +0.00620881, +0.05426776, +0.01631919, +0.10949106, +0.09654498, -0.31398159, -0.13572271, +0.04950748, +2.12419030, +0.05563800, -0.29907374, +0.27320833, +0.01130293, +0.02016832, +0.04438068, +0.07308745, +0.02840675, +0.08034284, +0.01484350, -0.09857461, +0.02132926, +0.05080440, +0.30432763, -0.03351955, +0.06000684, +0.04919858, +0.10507062, +0.05474523, + -0.04112977, +0.11763209, -0.36046680, +0.02938067, +0.03095537, +0.01677481, +0.02462691, +0.04122623, +0.04370212, +0.08554728, -0.01547086, +0.11228048, +0.00063326, -0.04068482, -0.00832219, +0.12334702, -0.08280413, +0.00085383, -0.00551154, -0.02862197, +0.00174882, +0.06727162, +0.05376964, -0.04764379, +0.17133679, -0.05819005, -0.09180133, +0.10388796, -0.05024487, +0.09132193, -0.30325859, +0.06135307, -0.00988117, -0.17399256, +0.48392216, +0.06053715, -0.19311556, +0.02907972, +0.14410255, -0.04171359, -0.26169504, -0.03189370, +0.03209012, -0.01202063, -0.03996562, -0.00828832, +0.08161672, +0.06278592, -0.07279819, +0.10652456, +0.05479076, +0.09486727, +0.02950267, -0.09578769, -0.08634030, -0.21905068, -0.01042822, +0.00881150, +0.00389859, -0.02546762, -0.80747909, +0.03219678, +0.00234590, -0.06064259, +0.09466444, -0.03693062, +0.06124767, -0.00602184, +0.13607313, +0.09715564, -0.32763559, -0.25435169, +0.02773656, +2.20034399, +0.10035021, -0.29738195, +0.06027358, +0.24533815, +0.00245801, +0.00822054, -0.21067174, +0.02861871, +0.01782778, +0.06742376, -0.00050475, -0.02410722, -0.00514947, +0.00777276, +0.31809962, +0.05574880, +0.07124421, +0.04793982, +0.03613188, -0.18865145, +0.02796351, -0.04126455, +0.36719298, +0.03934218, +0.19843440, +0.00914075, -0.14486710, /* T6.TCP_FLAG_RES9 */ - -0.00752920, -0.39459903, -0.22187702, +0.03520483, +0.02823565, -0.05523510, +0.35887229, +0.04953710, +0.00937641, +0.07041635, +0.01520037, -0.04699858, +0.01881626, +0.01091467, +0.00592195, +0.08357978, -0.14518196, +0.02268101, +0.01111088, +0.01837055, +0.01575268, +0.06265091, +0.05715069, +0.02562530, +0.14829054, +0.01464966, -0.07356263, +0.09686792, -0.02246074, +0.07655363, -0.29317881, -0.01605369, -0.09108319, -0.17710234, +0.71519523, +0.01681433, -0.17905036, +0.04520341, -0.06710513, +0.04717702, -0.37175846, +0.00883208, +0.01806650, +0.01244804, -0.05671959, +0.05654111, -0.27187507, +0.07343470, -0.06524001, +0.08246753, -0.50194076, -0.01193528, -0.11966631, -0.12384747, -0.23147983, +0.00841956, +0.02680923, -0.01590042, +0.01804408, -0.75000882, +0.02245609, +0.02259286, -0.01276943, +0.06569522, +0.00608503, +0.05371345, +0.01577561, +0.10917615, +0.08303655, -0.32047734, -0.13606496, +0.04837717, +0.41072270, +0.04667005, -0.30205009, +0.27234050, +0.01116668, +0.01982059, +0.04379202, +0.07257185, +0.02738035, +0.07930748, +0.01433450, -0.09910216, +0.02058461, +0.05016506, +0.00269906, -0.03393578, -0.08555226, +0.00042317, +0.05522997, +0.05214156, + -0.11683481, -0.47327695, -0.36018208, +0.02961074, +0.03115195, -0.00624657, +0.15789075, +0.03910479, -0.00144412, +0.09906821, -0.01881056, +0.11520574, -0.03447354, -0.03901047, -0.00783119, +0.11883094, -0.07830827, -0.00439851, -0.00448353, -0.03300274, -0.00095819, +0.05788243, +0.05080979, -0.03749214, +0.17128390, -0.05771293, -0.11370434, +0.10582863, -0.03066907, +0.09137894, -0.30094031, -0.01023159, -0.05410501, -0.17343604, +0.60679007, +0.06642600, -0.19436214, +0.04022174, -0.13728727, -0.12582147, -0.25249626, -0.03027228, +0.03437445, -0.00960617, -0.04547320, -0.04595133, -0.29796159, +0.05888960, -0.08104603, +0.12869572, -0.55634690, -0.19746902, +0.04645482, -0.09601434, -0.08574071, -0.22694550, -0.00442511, +0.00829928, +0.00239880, -0.02234276, -0.81149793, +0.01009873, -0.00449301, -0.06731091, +0.01645635, -0.03126116, +0.05724802, -0.00352433, +0.13319339, +0.04011359, -0.33096957, -0.25540666, -0.01705592, +0.38297877, +0.09348128, -0.29661372, +0.05914188, +0.21536907, +0.00367986, +0.00428309, -0.20267646, +0.02647200, +0.01981719, +0.00335588, -0.00726236, +0.11507034, -0.01077839, +0.00403160, +0.02222588, +0.06321160, -0.09032840, -0.02396280, -0.08782845, -0.18912789, +0.02450535, -0.03997613, +0.32217327, +0.19539743, +0.13693341, +0.01365247, -0.14404942, /* T6.TCP_FLAG_RES10 */ - -0.00722263, -0.39321257, -0.21767217, +0.03537861, +0.02843815, -0.05471366, +0.35941906, +0.04983290, +0.01208097, +0.07047533, +0.01533536, -0.04654950, +0.01894190, +0.01098042, +0.00596784, +0.08373037, -0.14448408, +0.02289971, +0.01119350, +0.01851649, +0.01588815, +0.06311105, +0.05778683, +0.02583639, +0.14844228, +0.01475652, -0.07291137, +0.09708468, -0.02184234, +0.07663453, -0.29311835, -0.01578996, -0.09070180, -0.17650789, +0.75950825, +0.01685902, -0.17831121, +0.04529570, -0.06654718, +0.04760066, -0.37171766, +0.00890688, +0.01815251, +0.01255279, -0.05657376, +0.05701719, -0.26956597, +0.07795701, -0.05763090, +0.12518894, -0.00723139, -0.00733766, -0.11948498, -0.12373410, -0.23002378, +0.00843808, +0.02701097, -0.01542454, +0.01822656, -0.74864141, +0.02258918, +0.02284603, -0.01091955, +0.06563244, +0.00612472, +0.05381648, +0.01586662, +0.10929482, +0.08353766, -0.31058644, -0.13574287, +0.04935621, -1.15466824, +0.04910683, -0.29830733, +0.30148967, +0.01118145, +0.01998326, +0.04407116, +0.07265249, +0.02767072, +0.08187170, +0.01443901, -0.09861449, +0.02072786, +0.05039412, +0.01166688, -0.03341433, -0.08479859, +0.00348739, +0.31145930, +0.05247244, + -0.12888994, -0.47522536, -0.35721062, +0.02909847, +0.03000242, +0.01806141, +0.15935306, +0.04209949, -0.00036919, +0.08990341, -0.01682112, +0.11228330, +0.00001098, -0.03996010, -0.00835493, +0.12205479, -0.08197126, -0.00092384, -0.00667144, -0.03212573, -0.00169226, +0.06126258, +0.05227128, -0.04897532, +0.17052062, -0.05827682, -0.09135092, +0.10511716, -0.04643614, +0.09137333, -0.30279857, -0.01247773, -0.07916240, -0.17622426, +0.70065805, +0.06093420, -0.19389028, +0.03198789, -0.14542485, -0.13793199, -0.25653144, -0.03178446, +0.03118455, -0.01305742, -0.03994341, -0.04446865, -0.29895448, +0.06191178, -0.07335474, +0.13749356, -0.16503132, -0.23588522, +0.03169867, -0.09554632, -0.08633658, -0.22710826, -0.00895301, +0.00899511, +0.00238161, -0.02434704, -0.80652963, +0.01494005, +0.00046062, -0.05870559, +0.01727406, -0.03482742, +0.06057313, -0.00947444, +0.13594191, +0.04136727, -0.29696929, -0.25279031, +0.02844671, -1.09518423, +0.09637337, -0.29721587, +0.05922769, +0.27413174, +0.00037744, +0.00836785, -0.20768814, +0.02405232, +0.01690388, +0.06852623, -0.00160600, -0.02374253, -0.00649606, +0.00698294, +0.02292355, +0.06122511, -0.09148277, -0.01282338, +0.42527335, -0.18866559, +0.02678535, -0.04092850, +0.37277199, +0.04026398, +0.20855057, +0.00957924, -0.14477552, /* T6.TCP_FLAG_RES11 */ - -0.00868603, -0.39350460, -0.21908819, +0.03522445, +0.02747520, -0.05489633, +0.35912714, +0.04963724, +0.01007202, +0.07042458, +0.01521675, -0.04687710, +0.01879270, +0.01090860, +0.00591393, +0.08106815, -0.14489066, +0.02259403, +0.01108595, +0.01833484, +0.01571283, +0.05409737, +0.05647630, +0.02541659, +0.14818079, +0.01451142, -0.07306541, +0.09691500, -0.02214317, +0.07653035, -0.29321939, -0.01620738, -0.09140447, -0.17714072, +0.70577546, +0.01680413, -0.18020727, +0.04513099, -0.06706849, +0.04708509, -0.37177954, +0.00876448, +0.01801552, +0.01230507, -0.05667364, +0.05639014, -0.27385587, +0.05779671, -0.06659535, +0.12454854, -0.08955535, -0.01058164, -0.11961443, -0.12382925, -0.23048236, +0.00842065, +0.02690470, -0.01571871, +0.01673027, -0.75207246, +0.02250300, +0.02267165, -0.01110372, +0.06556473, +0.00606192, +0.05369048, +0.01576883, +0.10919996, +0.08278457, -0.32605008, -0.14088709, +0.04275872, -1.79532723, +0.00922212, -0.53181390, +0.29990768, +0.01115753, +0.01961923, +0.04387513, +0.07259620, +0.02732347, +0.08109005, +0.01435636, -0.09942200, +0.02058143, +0.05001722, -0.50689979, -0.03371450, -0.08874760, +0.82106112, +0.00277358, +0.05229591, + -0.11884129, -0.47352328, -0.35733844, +0.02918801, +0.02972955, +0.01842410, +0.16297106, +0.04305909, -0.00090580, +0.09144635, -0.01657466, +0.11322530, +0.00017691, -0.04004384, -0.00823189, +0.10069764, -0.08100288, -0.00071624, -0.00541479, -0.03021026, -0.00116461, +0.03812255, +0.04825610, -0.04788837, +0.17021740, -0.05824637, -0.09065592, +0.10527965, -0.04273675, +0.09137779, -0.30224472, -0.01168385, -0.06306332, -0.17581638, +0.68647786, +0.06228991, -0.19545116, +0.03202035, -0.14353163, -0.13368794, -0.25406794, -0.03116816, +0.03143839, -0.01529295, -0.03975464, -0.04234523, -0.30061069, +0.05105618, -0.07723916, +0.13748505, -0.20690168, -0.22153779, +0.01774281, -0.09529578, -0.08614283, -0.22672105, -0.00745239, +0.00926885, +0.00240926, -0.03168347, -0.79264734, +0.02373821, +0.00054308, -0.05900288, +0.01788772, -0.02936049, +0.06088541, -0.00783067, +0.13644812, +0.04065029, -0.29963096, -0.25378775, +0.02058423, -1.71777358, +0.08050062, -0.62369930, +0.03452314, +0.27168799, +0.00140329, +0.00751061, -0.20701693, +0.02861940, +0.01747647, +0.06504025, +0.00221136, -0.02449494, -0.00630810, +0.00716601, -0.58821447, +0.06170827, -0.09177948, +0.96232351, -0.04579922, -0.19762348, +0.02783762, -0.01384586, +0.36976168, +0.03961328, +0.20362478, +0.01067742, -0.14457164, /* T6.TCP_OPT_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T6.TCP_CORR_WINDOW_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_WINDOW */ - +0.11402448, +0.81522530, -0.12524770, +0.16700510, -0.15943232, -0.03856811, +0.09374103, +0.07298762, +0.16690702, +0.19867890, +0.03760220, -0.03010407, +0.03943607, +0.02012874, +0.00661551, -0.35819354, -0.09305640, +0.04981534, +0.03405500, +0.07176858, +0.03288069, -0.17717061, -0.22087884, +0.04912785, -0.26599985, +0.10436277, +0.23422768, +0.14919413, +0.15016736, +0.17947863, +0.29406648, +0.11433226, -0.02823247, -0.09152549, -0.64698603, +0.00848070, -0.13690149, +0.12298872, +0.17084859, +0.22647957, +0.44477486, +0.01652067, +0.02857402, +0.02869325, -0.04606841, +0.08529746, +0.50952848, +0.31573736, +0.10066121, +0.54643325, -0.51779631, +0.48029753, -0.11222264, -0.11440009, -0.07529880, +0.01666499, +0.08646343, -0.01078507, +0.02456407, -0.18637405, +0.03787390, +0.47038490, -0.21399776, +0.11974008, +0.01321928, +0.07393590, +0.03945702, +0.05989923, -0.24042521, -0.13155847, -0.14994764, -0.14103920, +0.07511579, +0.27793853, +0.38107758, +0.11526662, +0.01525886, +0.07347247, +0.12796347, +0.09625051, +0.04065765, -0.25876562, +0.04884301, +0.16443039, +0.11157182, +0.05076667, -0.60169269, -0.01386783, +0.41323916, -0.36890722, -0.36032752, +0.09384133, + +0.01203809, +0.98437463, -0.06499051, +0.14995024, -0.11550753, +0.04834423, +0.08219116, +0.04734917, +0.14614715, +0.17168791, +0.02738744, +0.08311244, +0.05785806, -0.01757862, -0.02231287, -0.37950858, -0.06424824, +0.05191499, +0.02898248, +0.09729991, +0.01999636, -0.15261670, -0.19537988, +0.00360610, -0.27321559, +0.09845306, +0.24752178, +0.15459081, +0.19286678, +0.14699514, +0.31733142, +0.04541915, -0.03492901, +0.03319449, -0.68347604, -0.05533740, -0.12304799, +0.10631779, +0.05680964, +0.11841551, +0.48061203, -0.04425931, +0.01801963, +0.05429143, -0.02145579, +0.15500191, +0.47009765, +0.32008533, +0.08555149, +0.54309671, -0.50106576, +0.46862856, +0.34943054, -0.08945179, -0.08014321, -0.04856578, -0.02883567, +0.10660632, -0.01531032, -0.02654384, -0.14083867, +0.07732502, +0.53346707, -0.16084707, +0.14500915, -0.05043003, +0.08741545, +0.02649135, +0.03155497, -0.20204513, +0.01355750, -0.08273815, -0.12876406, +0.10120523, +0.29690104, +0.36671432, +0.18981320, +0.17037912, -0.02871594, +0.06922820, +0.59478921, +0.01490537, -0.01398836, -0.24632714, +0.03584511, +0.15194268, +0.14308334, -0.00946171, -0.63111087, +0.03163875, +0.42693491, -0.35636284, -0.47264542, -0.07299899, +0.12543474, -0.03792702, +0.05070332, -0.07015121, -0.18006018, +0.00124082, -0.13578680, /* T7.TCP_FLAG_F */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_S */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_R */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_P */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_A */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_U */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_E */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_C */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_RES8 */ - +0.11460832, +0.81593742, -0.12493161, +0.16826933, -0.15921879, -0.03805941, +0.09503806, +0.07325117, +0.16748653, +0.19886294, +0.03820821, -0.02992662, +0.04016483, +0.02105889, +0.01113079, -0.35706858, -0.09285616, +0.05016977, +0.03422433, +0.07210638, +0.03395898, -0.17698281, -0.22051003, +0.04981776, -0.26586731, +0.10654124, +0.23780216, +0.14942356, +0.15070116, +0.17963386, +0.29418923, +0.11476407, -0.02778836, -0.09128216, -0.64639650, +0.02284091, -0.13668832, +0.12311268, +0.17142970, +0.22705351, +0.44505962, +0.01693187, +0.02977635, +0.02950500, -0.04563151, +0.09644219, +0.51014411, +0.31621564, +0.10124143, +0.54768755, -0.51721071, +0.48132556, -0.11085040, -0.11348587, -0.07499250, +0.01673710, +0.09380567, +0.00772467, +0.02968020, -0.18616122, +0.03808930, +0.03521544, -0.21385352, +0.11990479, +0.01331852, +0.07640486, +0.03967974, +0.11922620, -0.23991885, -0.13131299, -0.14980409, -0.14070429, +0.07717717, +0.27844341, +0.38143957, +0.11545822, +0.01612790, +0.07556618, +0.12819575, +0.09696979, +0.04153270, -0.25762559, +0.04901915, +0.16704211, +0.11310288, +0.07186644, -0.60136021, -0.01370377, +0.41345335, -0.36864489, -0.35956021, +0.09408323, + +0.01069699, +0.99396454, -0.06520792, +0.15495214, -0.11569472, +0.04921052, +0.08313270, +0.04714955, +0.14628458, +0.15972271, +0.02949048, +0.08280698, +0.05906431, -0.01419941, -0.01347589, -0.37987808, -0.06492167, +0.05189911, +0.02826713, +0.09696248, +0.02165895, -0.15319117, -0.19552715, -0.00057255, -0.27362203, +0.10167114, +0.25972888, +0.15462219, +0.17817316, +0.14699247, +0.31667096, +0.04444305, -0.04766030, +0.03283630, -0.68288911, -0.00534344, -0.12365847, +0.10455677, +0.05051071, +0.11885764, +0.48417737, -0.04475337, +0.01997894, +0.05397292, -0.02111913, +0.18456067, +0.47024719, +0.32067850, +0.08602578, +0.54074501, -0.50141738, +0.46585159, +0.34650526, -0.08794202, -0.07943788, -0.04864646, -0.02873483, +0.12264374, +0.02896400, -0.03317688, -0.14130728, +0.07910757, +0.02102175, -0.16162876, +0.14477263, -0.05097302, +0.09049773, +0.02705086, +0.12281686, -0.20123548, +0.01183306, -0.08279748, -0.12898944, +0.10713426, +0.29761040, +0.36651696, +0.18978162, +0.16485864, -0.02191100, +0.07535399, +0.59330960, +0.02418185, -0.01474639, -0.24421475, +0.03634748, +0.17561762, +0.14633373, +0.03579806, -0.63135395, +0.02945803, +0.42627960, -0.35670547, -0.47219950, -0.07363106, +0.12481657, -0.03832892, +0.05065361, -0.06905676, -0.18164412, +0.00017632, -0.13580466, /* T7.TCP_FLAG_RES9 */ - +0.04248930, +0.16451176, -0.12563516, +0.16797360, -0.15969260, -0.03822047, +0.40928374, +0.07205223, +0.16429558, +0.19877164, +0.03776361, -0.03012381, +0.03992252, +0.02095586, +0.01095482, -0.35728288, -0.09308801, +0.04986188, +0.03389730, +0.07091073, +0.03230238, -0.17718304, -0.22156709, +0.04943551, -0.26598949, +0.10641515, +0.23754851, +0.14924938, +0.15050826, +0.17950212, +0.29411088, +0.02199855, -0.04780134, -0.09172919, -0.64747498, +0.02270963, -0.13698487, +0.12231251, -0.02256957, +0.18357781, +0.44493988, +0.01661838, +0.02950648, +0.02900473, -0.04573448, +0.09499517, +0.50893184, +0.31527643, +0.10035368, +0.54391302, -0.51895872, +0.37319184, -0.11102099, -0.11362596, -0.07678187, +0.01666746, +0.09363260, +0.00640663, +0.02922999, -0.18664665, +0.03589878, +0.03444147, -0.21399335, +0.10245538, +0.01323583, +0.07596295, +0.03924178, +0.11900546, -0.24122013, -0.13161162, -0.14990105, -0.14093865, +0.07480115, +0.27767196, +0.38096234, +0.11537742, +0.01601630, +0.07541202, +0.12802146, +0.09651931, +0.04100986, -0.25786293, +0.04859494, +0.16683852, +0.11250694, +0.07151402, -0.60180540, -0.01387571, +0.41308664, -0.36897661, -0.36007345, +0.09168139, + -0.06777389, +0.40714440, -0.06517369, +0.15437760, -0.11580119, +0.04953470, +0.18936781, +0.04589241, +0.14460998, +0.16372900, +0.02851643, +0.08321473, +0.05861077, -0.01359075, -0.01349519, -0.37971032, -0.06410573, +0.05100337, +0.02776743, +0.09447566, +0.01899583, -0.15277359, -0.19609302, +0.00485707, -0.27319144, +0.10163206, +0.25821422, +0.15552754, +0.17993392, +0.14691328, +0.31722657, -0.02801477, -0.10550488, +0.03292761, -0.67563725, -0.00492088, -0.12371103, +0.10885102, -0.20610451, +0.04647987, +0.48667062, -0.04460995, +0.01953606, +0.05280825, -0.02112067, +0.14372580, +0.46910908, +0.31857823, +0.08441624, +0.54133491, -0.50210216, +0.18353649, +0.35501043, -0.08790967, -0.07942499, -0.05332832, -0.02875778, +0.12264949, +0.02741427, -0.03106331, -0.14090139, +0.05980173, +0.01929359, -0.16106356, +0.07051062, -0.04920466, +0.08983849, +0.02463700, +0.12266866, -0.20193165, +0.01317271, -0.08257978, -0.12830483, +0.10676841, +0.29680777, +0.36705244, +0.18890178, +0.16502837, -0.02283657, +0.07561257, +0.59457400, +0.01397103, -0.01450644, -0.24400161, +0.03037659, +0.17579028, +0.14501354, +0.03529313, -0.63098048, +0.03154544, +0.42655590, -0.35645721, -0.47169963, -0.07218100, +0.12368025, -0.03804970, +0.05118827, -0.06918646, -0.18111180, +0.00020628, -0.13575613, /* T7.TCP_FLAG_RES10 */ - +0.04248930, +0.16451176, -0.12563516, +0.16797360, -0.15969260, -0.03822047, +0.40928374, +0.07205223, +0.16429558, +0.19877164, +0.03776361, -0.03012381, +0.03992252, +0.02095586, +0.01095482, -0.35728288, -0.09308801, +0.04986188, +0.03389730, +0.07091073, +0.03230238, -0.17718304, -0.22156709, +0.04943551, -0.26598949, +0.10641515, +0.23754851, +0.14924938, +0.15050826, +0.17950212, +0.29411088, +0.02199855, -0.04780134, -0.09172919, -0.64747498, +0.02270963, -0.13698487, +0.12231251, -0.02256957, +0.18357781, +0.44493988, +0.01661838, +0.02950648, +0.02900473, -0.04573448, +0.09499517, +0.50893184, +0.31527643, +0.10035368, +0.54391302, -0.51895872, +0.37319184, -0.11102099, -0.11362596, -0.07678187, +0.01666746, +0.09363260, +0.00640663, +0.02922999, -0.18664665, +0.03589878, +0.03444147, -0.21399335, +0.10245538, +0.01323583, +0.07596295, +0.03924178, +0.11900546, -0.24122013, -0.13161162, -0.14990105, -0.14093865, +0.07480115, +0.27767196, +0.38096234, +0.11537742, +0.01601630, +0.07541202, +0.12802146, +0.09651931, +0.04100986, -0.25786293, +0.04859494, +0.16683852, +0.11250694, +0.07151402, -0.60180540, -0.01387571, +0.41308664, -0.36897661, -0.36007345, +0.09168139, + -0.06777389, +0.40714440, -0.06517369, +0.15437760, -0.11580119, +0.04953470, +0.18936781, +0.04589241, +0.14460998, +0.16372900, +0.02851643, +0.08321473, +0.05861077, -0.01359075, -0.01349519, -0.37971032, -0.06410573, +0.05100337, +0.02776743, +0.09447566, +0.01899583, -0.15277359, -0.19609302, +0.00485707, -0.27319144, +0.10163206, +0.25821422, +0.15552754, +0.17993392, +0.14691328, +0.31722657, -0.02801477, -0.10550488, +0.03292761, -0.67563725, -0.00492088, -0.12371103, +0.10885102, -0.20610451, +0.04647987, +0.48667062, -0.04460995, +0.01953606, +0.05280825, -0.02112067, +0.14372580, +0.46910908, +0.31857823, +0.08441624, +0.54133491, -0.50210216, +0.18353649, +0.35501043, -0.08790967, -0.07942499, -0.05332832, -0.02875778, +0.12264949, +0.02741427, -0.03106331, -0.14090139, +0.05980173, +0.01929359, -0.16106356, +0.07051062, -0.04920466, +0.08983849, +0.02463700, +0.12266866, -0.20193165, +0.01317271, -0.08257978, -0.12830483, +0.10676841, +0.29680777, +0.36705244, +0.18890178, +0.16502837, -0.02283657, +0.07561257, +0.59457400, +0.01397103, -0.01450644, -0.24400161, +0.03037659, +0.17579028, +0.14501354, +0.03529313, -0.63098048, +0.03154544, +0.42655590, -0.35645721, -0.47169963, -0.07218100, +0.12368025, -0.03804970, +0.05118827, -0.06918646, -0.18111180, +0.00020628, -0.13575613, /* T7.TCP_FLAG_RES11 */ - +0.04248930, +0.16451176, -0.12563516, +0.16797360, -0.15969260, -0.03822047, +0.40928374, +0.07205223, +0.16429558, +0.19877164, +0.03776361, -0.03012381, +0.03992252, +0.02095586, +0.01095482, -0.35728288, -0.09308801, +0.04986188, +0.03389730, +0.07091073, +0.03230238, -0.17718304, -0.22156709, +0.04943551, -0.26598949, +0.10641515, +0.23754851, +0.14924938, +0.15050826, +0.17950212, +0.29411088, +0.02199855, -0.04780134, -0.09172919, -0.64747498, +0.02270963, -0.13698487, +0.12231251, -0.02256957, +0.18357781, +0.44493988, +0.01661838, +0.02950648, +0.02900473, -0.04573448, +0.09499517, +0.50893184, +0.31527643, +0.10035368, +0.54391302, -0.51895872, +0.37319184, -0.11102099, -0.11362596, -0.07678187, +0.01666746, +0.09363260, +0.00640663, +0.02922999, -0.18664665, +0.03589878, +0.03444147, -0.21399335, +0.10245538, +0.01323583, +0.07596295, +0.03924178, +0.11900546, -0.24122013, -0.13161162, -0.14990105, -0.14093865, +0.07480115, +0.27767196, +0.38096234, +0.11537742, +0.01601630, +0.07541202, +0.12802146, +0.09651931, +0.04100986, -0.25786293, +0.04859494, +0.16683852, +0.11250694, +0.07151402, -0.60180540, -0.01387571, +0.41308664, -0.36897661, -0.36007345, +0.09168139, + -0.06777389, +0.40714440, -0.06517369, +0.15437760, -0.11580119, +0.04953470, +0.18936781, +0.04589241, +0.14460998, +0.16372900, +0.02851643, +0.08321473, +0.05861077, -0.01359075, -0.01349519, -0.37971032, -0.06410573, +0.05100337, +0.02776743, +0.09447566, +0.01899583, -0.15277359, -0.19609302, +0.00485707, -0.27319144, +0.10163206, +0.25821422, +0.15552754, +0.17993392, +0.14691328, +0.31722657, -0.02801477, -0.10550488, +0.03292761, -0.67563725, -0.00492088, -0.12371103, +0.10885102, -0.20610451, +0.04647987, +0.48667062, -0.04460995, +0.01953606, +0.05280825, -0.02112067, +0.14372580, +0.46910908, +0.31857823, +0.08441624, +0.54133491, -0.50210216, +0.18353649, +0.35501043, -0.08790967, -0.07942499, -0.05332832, -0.02875778, +0.12264949, +0.02741427, -0.03106331, -0.14090139, +0.05980173, +0.01929359, -0.16106356, +0.07051062, -0.04920466, +0.08983849, +0.02463700, +0.12266866, -0.20193165, +0.01317271, -0.08257978, -0.12830483, +0.10676841, +0.29680777, +0.36705244, +0.18890178, +0.16502837, -0.02283657, +0.07561257, +0.59457400, +0.01397103, -0.01450644, -0.24400161, +0.03037659, +0.17579028, +0.14501354, +0.03529313, -0.63098048, +0.03154544, +0.42655590, -0.35645721, -0.47169963, -0.07218100, +0.12368025, -0.03804970, +0.05118827, -0.06918646, -0.18111180, +0.00020628, -0.13575613, /* T7.TCP_OPT_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPT_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_0 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_1 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_2 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_3 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_4 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_5 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_6 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_7 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_8 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_9 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_10 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_11 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_12 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_13 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_14 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_OPTLEN_15 */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_SACKOK */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_WSCALE */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* T7.TCP_CORR_WINDOW_MSS */ - +0.04391601, +0.12907713, +0.05100486, +0.04601247, +0.05208250, +0.05703698, +0.04839751, +0.04296229, +0.06728604, +0.04025458, +0.04388164, +0.06231138, +0.02399299, +0.02927808, +0.03149545, +0.05457947, +0.06394298, +0.03010261, +0.04415511, +0.02938493, +0.03730745, +0.02885092, +0.03357334, +0.04170821, +0.04582917, +0.04333014, +0.07457369, +0.07666251, +0.09673959, +0.04004446, +0.06673196, +0.04289023, +0.02997523, +0.05601584, +0.07074378, +0.02985423, +0.05061897, +0.06081690, +0.04168460, +0.08359443, +0.04963331, +0.04480983, +0.05057287, +0.03784490, +0.04406986, +0.03164515, +0.08726245, +0.07068218, +0.06382041, +0.08762524, +0.07741988, +0.07947221, +0.03599128, +0.06008495, +0.07040531, +0.01043455, +0.03147002, +0.04780691, +0.03900792, +0.09143481, +0.04754608, +0.03694185, +0.04306367, +0.07289528, +0.04599846, +0.06205531, +0.01953146, +0.04008417, +0.03656811, +0.10817352, +0.08974351, +0.03899618, +0.06225472, +0.08403104, +0.08886935, +0.06483486, +0.03254593, +0.04237021, +0.07770584, +0.04113125, +0.05299147, +0.05780774, +0.04330807, +0.05146329, +0.04087181, +0.03575386, +0.07034416, +0.06537447, +0.07397839, +0.06365977, +0.07777802, +0.04836877, + +0.03581811, +0.10879321, +0.04968938, +0.04348622, +0.05055857, +0.04119201, +0.04846318, +0.03994262, +0.06407487, +0.03530348, +0.04037872, +0.04549464, +0.02434341, +0.02592853, +0.02706934, +0.04939392, +0.05775965, +0.02834095, +0.04166334, +0.02905923, +0.03495128, +0.02543163, +0.02992328, +0.04364935, +0.04328762, +0.03649278, +0.06494731, +0.07663867, +0.08183048, +0.03924791, +0.06510580, +0.04173413, +0.02911100, +0.03871871, +0.05959488, +0.02306375, +0.04257907, +0.05729214, +0.02293593, +0.06149406, +0.03011510, +0.03963720, +0.04091819, +0.04159823, +0.03917746, +0.02590280, +0.07864875, +0.05624528, +0.05638520, +0.08345003, +0.07324192, +0.07617822, +0.05854902, +0.03290199, +0.06127265, +0.05748914, +0.00902209, +0.02931716, +0.04480835, +0.03389275, +0.06814612, +0.04440216, +0.03465522, +0.03826981, +0.07019603, +0.05007844, +0.05951171, +0.01699100, +0.03296969, +0.03067656, +0.11300781, +0.04296189, +0.03592940, +0.04710523, +0.08343436, +0.07403153, +0.06081764, +0.06151626, +0.02933241, +0.03932635, +0.06691574, +0.03621648, +0.03811423, +0.05523211, +0.03638567, +0.04739334, +0.03930093, +0.03547018, +0.06793736, +0.06035489, +0.06659323, +0.05702599, +0.08834885, +0.06456299, +0.04990837, +0.05601469, +0.06643647, +0.03539924, +0.05561180, +0.02539339, +0.04283511, /* IE1.ICMPV6_TYPE */ - -0.03781063, +0.29575534, -0.19942459, +0.35051310, +0.14099496, -0.43586038, +0.32758324, -0.11012627, +0.53049408, +0.95798231, -0.62078113, -0.08220171, +0.08069800, +0.02840354, +0.03214565, +0.12526659, -0.40239310, +0.13348385, +0.60474408, +0.14940368, +0.06497650, +0.15336330, -0.15347080, +0.04975578, +0.44371073, +0.07076312, -0.16143429, -0.37209455, -1.68595773, +0.13036196, +0.59852315, +0.15479178, +0.13412155, +0.33034244, +0.26138702, +0.35397728, +0.47825692, +0.39498621, -0.15738255, +0.32948925, +0.67259586, +0.12572972, +0.05060036, +0.46276643, -0.05410287, +0.35583218, +0.28752697, -1.05694503, -0.08324357, -0.61728696, +0.01769464, -0.34576128, -0.12266383, -0.06945958, +0.84544502, +0.12578005, -0.09759563, +0.48092606, +0.03716742, -0.73603861, -0.43293527, +0.13045009, -0.45641935, -0.14196011, -0.18483214, +0.15801414, +0.19016823, -0.42482278, +0.10849940, -0.89248905, -0.17674869, +0.11831568, +0.06411477, +0.31499596, -0.24163490, -0.16747051, -0.14341780, +0.20859380, -0.17068877, +0.06629185, +0.07563401, -0.09874947, -0.14491919, +0.52928050, -0.13089166, +0.12978708, +0.28161562, -0.32385665, +0.48572214, +0.11706811, +0.24778180, -0.39370255, + +0.03168964, +0.54109278, -0.56848497, +0.34601374, +0.10022919, -0.42707230, +0.22787530, -0.06841138, +0.57622176, +1.07133425, -0.65271420, -0.21606489, +0.10973883, +0.00613120, +0.01068210, +0.15451872, -0.56132526, +0.13479172, +0.64374185, +0.13934822, +0.06309074, +0.14676102, -0.19028600, -0.47285519, +0.48701303, +0.03263053, -0.12376000, -0.44589285, -1.66795712, +0.11484053, +0.65962536, +0.15194004, -0.39788725, +0.28057605, -0.08414722, +0.49161377, +0.52191099, +0.30665195, -0.22643497, +0.20511225, +0.84905607, +0.05600940, +0.06958191, +0.71906827, -0.03324236, +1.33803526, +0.42057547, -1.24778343, -0.08330131, -0.59412534, +0.01113410, -0.46351907, +0.29503057, -0.13158275, +0.00746560, +0.87805041, +0.03667445, -0.09364115, +0.50639624, -0.08221988, -0.76993607, -0.41366973, +0.14071460, -0.49376603, -0.07992284, -0.11870127, +0.22094718, +0.20347509, -0.48715464, +0.07034875, -1.83215959, -0.12420364, +0.14604383, +0.22595546, +0.30656597, -0.38545719, +0.11131651, -0.11781947, -0.13052593, +0.24431213, -0.24907533, +0.07554598, +0.01917281, -0.04961737, -0.16881744, +0.30643029, -0.12005367, +0.18426691, +0.30298424, -0.38532262, +0.48099393, +0.10790030, +0.33768758, +0.66742397, -0.30760948, +0.67358396, +0.13407880, -0.04588044, -0.18952296, -0.38865590, -0.21924824, /* IE1.ICMPV6_CODE */ - +0.02153248, +1.04099406, -0.36494366, +0.28392082, -1.57741916, -0.56523592, -0.88159415, -0.21055396, -1.67270702, -1.75925226, -1.23778907, -0.30360466, +0.01298972, +0.08394792, +0.70651295, +0.35702412, -0.46728494, +0.04744450, +0.46312963, +0.13725950, +0.21307432, +0.28329626, +0.21007097, -0.03556706, +0.32821671, -0.20781281, -0.24744802, -0.42677937, -2.69827109, +0.01022949, +0.31902010, +0.72523949, +0.40390469, +0.70542952, +1.50501666, -0.81982793, +0.32841248, -0.08669795, +0.02561511, +1.06042474, +2.88779834, +0.25396197, +0.28929164, +0.98300567, -0.12033267, +0.24060673, +2.87675479, -1.89769122, -0.01243711, -1.25741065, +0.11457943, +3.20112165, -0.16875130, -0.15929988, +1.98899796, -0.10197945, -0.14658367, +0.29031718, -0.12069511, -0.94072959, -0.48882418, +0.46262024, -0.50189085, -0.21245062, -0.23883538, +0.58866808, +0.48934765, -0.61797631, +1.31429826, -1.65005951, -0.26466848, -0.13397285, +1.09194575, +0.64475235, -0.45482428, -0.27370060, -0.19044081, +0.07804103, -0.23334575, +0.20095061, -0.03897455, -0.18255952, -0.22057952, +0.26358443, -0.24073099, +0.01212659, +0.68170488, -0.38347928, +1.10588754, +0.25890696, +0.79315338, -0.65134624, + +0.00634881, +0.82367190, -0.91162280, +0.25424867, -1.70971868, -0.44032598, -0.98744135, -0.16514321, -1.82731147, -2.06981639, -1.08877751, -0.51359610, +0.03481092, +0.05992397, +0.80974846, +0.31597348, -0.52820718, +0.00911816, +0.49036890, +0.08779877, +0.19239946, +0.22901234, +0.27682343, -0.41497574, +0.28454691, -0.31041289, -0.12674570, -0.42411471, -2.45260148, +0.00990225, +0.29239473, +0.63620845, -0.02462695, +0.58667661, +1.30069046, -0.64781240, +0.30702374, -0.18903527, +0.13452171, +0.51495754, +2.30758498, +0.08190976, +0.28328657, +1.17155339, -0.07231963, +1.32822096, +2.45385773, -1.51368105, +0.02117778, -1.11010014, +0.00519749, +3.95826586, +0.62170545, -0.14202808, -0.03516566, +1.75601695, -0.14016497, -0.12198564, +0.26552763, -0.25856954, -0.90739878, -0.41886819, +0.43340956, -0.46493384, -0.04590444, -0.08047730, +0.75012928, +0.61484054, -0.56083731, +1.26504723, -2.46185751, -0.14169904, -0.09526705, +0.43013002, +0.51384206, -0.47628448, +0.35075662, -0.20668546, -0.12840928, +0.08510206, -0.33196947, +0.15361034, -0.12441079, -0.09468939, -0.19919617, -0.05767193, -0.18012125, +0.02473334, +0.66765757, -0.37765577, +0.99270713, +0.18284634, +0.80315181, +1.09214583, -0.49486789, +0.61430403, +0.20945809, -0.07650819, -0.09718816, -0.45096323, -0.35017264, /* IE2.ICMPV6_TYPE */ - -0.35863351, -0.16336029, -0.30409632, -0.43662588, +0.12296398, -0.04848349, -0.07897468, -0.50735214, +0.67580977, +0.25188505, +0.11884919, -0.09950394, +0.04797443, +0.03462597, +0.03386379, +0.42706577, -0.12123020, +0.05569176, +0.46849736, +0.07382681, +0.05851123, +0.09966711, -0.16121415, +0.21939554, +0.41180746, +0.18060324, -0.56590565, +0.59681724, -0.02948133, +0.09310745, +1.40487183, +0.35249575, -0.10397617, +0.57238252, +1.00889784, +0.35463163, -0.11371702, +0.31677934, +0.18467876, +0.54183160, +0.55684944, +0.03103289, +0.04995380, +0.04595138, -0.03636624, -0.05192698, +0.89251155, -0.74512000, -0.00138248, -0.25058033, -0.97639172, -0.81362918, -0.09957629, -0.05892283, -0.75499599, +0.91984154, -0.31948791, -0.92645470, +0.94546778, +1.74110068, -0.58844293, -0.23927048, -0.48240107, -1.22450135, +0.52898155, +0.15815015, +0.10320560, -0.34236457, +0.12952006, +1.02261481, +0.41775580, +0.09386161, +0.64152185, +0.40577234, -0.10637959, -0.49563530, -1.27166868, +0.09391804, +0.27880333, -0.95833741, +0.23333503, -0.25546905, -0.21173151, -0.10311806, +0.15230392, +0.11251383, +0.51002575, -0.07630657, +0.52357571, +0.19101521, -0.42879960, +0.07402053, + -0.31708512, -0.13832961, -0.48353428, -0.43456918, +0.13925335, -0.03035934, -0.07899351, -0.61444234, +0.69130894, +0.18861453, +0.12949219, -0.09777868, +0.06487688, +0.02775464, +0.00402954, +0.46131251, -0.13230097, +0.04277775, +0.49805759, +0.02617470, +0.03576496, +0.09841676, -0.17093753, -0.08228833, +0.48150189, +0.20124146, -0.58552511, +0.74449477, +0.16557210, +0.11588730, +1.68258245, +0.20695296, -0.23006316, +0.65334516, +0.99113167, +0.36087881, -0.08624157, +0.21154111, +0.36685021, +0.72576979, +0.44882004, -0.03059353, -0.00633748, -0.01771947, -0.06598893, +0.35544249, +0.96015249, -0.79431451, -0.03291340, -0.12356604, -1.01004565, -1.14517940, +0.20612921, -0.09390368, -0.28974710, -0.70617926, +1.13669793, -0.29161042, -0.96165622, +1.09695498, +2.04684526, -0.67876879, -0.25155986, -0.51604132, -1.29309232, +0.63637924, +0.17948065, +0.10116559, -0.33990719, +0.17394334, +2.16486514, +0.50030989, +0.12317436, +0.51017210, +0.41093015, -0.09157199, +0.11489840, -0.41961842, -1.34093104, +0.09543917, +0.53858603, -0.79961298, +0.25462995, -0.23328362, -0.14201085, -0.19407329, +0.21094864, +0.12146468, +0.50017800, -0.04131611, +0.56718497, +0.19753223, -0.52240412, +0.41954127, +0.07048845, -0.14937303, -1.19653644, -0.06302268, -0.40204675, +0.10578748, +0.45927309, /* IE2.ICMPV6_CODE */ - -0.55947616, -0.30900981, -0.48216567, -0.67269136, +0.15865735, -0.10226743, -0.13764947, -0.78186193, +0.97874818, +0.35750880, +0.15652827, -0.18747475, +0.06025431, +0.03744263, +0.03638966, +0.61262567, -0.21459192, +0.06546827, +0.68688688, +0.09930746, +0.07033515, +0.10056198, -0.25855578, +0.30290352, +1.14967390, +0.24914961, -0.88625219, +0.84975767, -0.09504416, +0.09284849, +1.88287166, +0.50800064, -0.17063248, +0.82418632, +1.46312459, +0.51947170, -0.19709519, +0.45229094, +0.25674470, +0.77245741, +0.80709604, +0.02433899, +0.04966400, +0.05032395, -0.07723909, -0.09091984, +1.29497538, -1.15317910, -0.03429458, -0.41976297, -1.50389237, -1.26041041, -0.16795310, -0.11878458, -1.17058177, +1.46138539, -0.49405164, -1.41371409, +1.39879515, +2.56564754, -0.90352089, -0.37715670, -0.89308224, -1.87178427, +0.78436639, +0.20648625, -0.02850757, -0.53338662, +0.17641674, +1.47249181, +0.57598458, +0.11934015, +0.93090701, +0.56656585, -0.20429993, -0.77588413, -1.90560707, +0.11965095, +0.37723198, -1.45806646, +0.32455932, -0.41243933, -0.32221593, -0.18169449, +0.20811418, +0.15121297, +0.71216665, -0.14900228, +0.74822520, +0.25381685, -0.68304910, +0.08895562, + -0.42541118, -0.25437219, -0.70160491, -0.64801210, +0.15567492, -0.06739268, -0.12297656, -0.92727051, +0.97479852, +0.21514585, +0.12729813, -0.17957592, +0.07089417, +0.02007392, -0.00123153, +0.58887519, -0.22278255, +0.02854191, +0.71752553, +0.02224357, +0.02620106, +0.06382744, -0.24135348, -0.16042258, +1.22500915, +0.23144046, -0.83466668, +0.90953137, +0.13763280, +0.14713300, +2.06070898, +0.29044659, -0.26313273, +0.79020105, +1.37358751, +0.43490083, -0.14679700, +0.26958379, +0.37684826, +0.64076836, +0.35225584, -0.06533801, -0.03486406, -0.05186528, -0.11728115, +0.40653861, +1.15158948, -1.09952078, -0.08889897, -0.21213537, -1.50980945, -1.61128790, +0.25300592, -0.15449905, -0.45520456, -1.06893519, +1.61970987, -0.43541238, -1.45562057, +1.50291992, +2.66742558, -0.95298377, -0.36071643, -0.88819137, -1.90239119, +0.89281254, +0.23254040, -0.12122623, -0.49278768, +0.21257133, +2.77227465, +0.40988383, +0.13762518, +0.60501107, +0.52721390, -0.17001788, +0.13752070, -0.65362311, -1.90626047, +0.10056907, +0.57266860, -1.18572553, +0.28624387, -0.36145437, -0.21287581, -0.30027309, +0.26079614, +0.11646021, +0.65975057, -0.09735328, +0.78992207, +0.22317253, -0.80025191, +0.52944053, +0.06544044, -0.24820016, -1.72572158, -0.10936310, -0.62803364, +0.15588241, +0.58164445, /* NS.ICMPV6_TYPE */ - +0.15308269, +0.43599108, -0.06571973, -0.34542148, -0.61076450, -0.43279015, -1.23970709, +0.95018287, -0.98852043, +0.12974697, +0.40579072, +0.08503718, +0.07388275, +0.04157694, +0.14438521, +0.06493083, +0.95315989, +0.09387820, -0.19716067, +0.19584622, +0.10643109, -0.05248976, +0.87511014, +0.40122991, -0.02003576, +0.28856469, -0.22518753, -0.93070042, -0.07160463, +0.10637605, +1.45185681, +1.65551838, +0.77727255, -0.07352766, +0.58820656, +0.04707351, +0.35705965, +0.47514230, +0.03233207, -1.01338405, -0.11368013, +0.07346766, +0.20197132, +0.13796615, -0.04890862, -0.11105422, -1.74301952, +1.96555632, +0.21382948, -1.49996616, -0.11027120, +0.92786804, -0.10971275, -0.04614098, -0.51746120, +0.00143974, -0.21932921, +0.55060556, +0.10668803, -0.48036345, -0.24812069, -0.19605056, +0.06919432, -1.52771565, +0.55706484, -0.40730952, -0.14957863, -0.23209494, -0.49069206, +0.32324514, +0.47364578, +0.24013632, -0.40198879, -1.30542553, +1.25513245, +0.19360083, -0.04639237, +0.15226623, -0.74873561, +0.09457214, -0.41916596, -0.14193507, -0.17160468, +0.80088924, -0.30188083, -0.32536718, +0.75948498, +0.06045016, +0.60936376, +0.23963373, -0.02696272, -0.49319451, + +0.06326668, +0.32297347, -0.23583070, -0.31304108, -0.60382911, -0.43632276, -1.34658513, +1.14283196, -0.97923473, -0.49474701, +0.49027464, +0.17552751, +0.10237380, +0.03050470, +0.13654353, +0.08650507, +1.19238239, +0.07154022, -0.14309791, +0.23516960, +0.10144837, -0.05867904, +1.00928182, +0.33328019, -0.01162238, +0.35431923, -0.23257334, -0.97605925, -0.04694829, +0.10042767, +1.66807255, +2.01602934, +0.85629030, -0.10732043, +0.65984931, +0.08373444, +0.39623302, +0.51850325, -0.09494198, -0.94346261, +0.34281014, +0.04397729, +0.20420439, +0.27846452, -0.05054537, -0.13059610, -1.64075478, +2.09555724, +0.24708376, -1.59283494, -0.23883824, +1.04050592, +1.30730632, -0.12267642, -0.05733505, -0.54892851, -0.04058097, -0.20240408, +0.59711595, +0.01024931, -0.46822574, -0.17898764, -0.19687420, +0.10637550, -1.50787595, +0.70294329, -0.33140060, -0.15033653, -0.20152716, -0.50079759, -0.32034193, +0.26048424, +0.22963869, -0.37013738, -1.55986498, +1.50431186, +0.34514941, +0.19517259, -0.01846994, +0.12726397, -0.79119062, +0.02952626, -0.37674220, -0.09049929, -0.16643278, +0.85996456, -0.30307753, -0.45726672, +0.78696083, +0.10977150, +0.61998177, +0.25231337, -0.07110317, -0.67390393, -0.51042882, +0.13469083, +0.73002222, -0.04018473, -0.15295296, +0.25624536, +0.07438146, /* NS.ICMPV6_CODE */ - +0.15308269, +0.43599108, -0.06571973, -0.34542148, -0.61076450, -0.43279015, -1.23970709, +0.95018287, -0.98852043, +0.12974697, +0.40579072, +0.08503718, +0.07388275, +0.04157694, +0.14438521, +0.06493083, +0.95315989, +0.09387820, -0.19716067, +0.19584622, +0.10643109, -0.05248976, +0.87511014, +0.40122991, -0.02003576, +0.28856469, -0.22518753, -0.93070042, -0.07160463, +0.10637605, +1.45185681, +1.65551838, +0.77727255, -0.07352766, +0.58820656, +0.04707351, +0.35705965, +0.47514230, +0.03233207, -1.01338405, -0.11368013, +0.07346766, +0.20197132, +0.13796615, -0.04890862, -0.11105422, -1.74301952, +1.96555632, +0.21382948, -1.49996616, -0.11027120, +0.92786804, -0.10971275, -0.04614098, -0.51746120, +0.00143974, -0.21932921, +0.55060556, +0.10668803, -0.48036345, -0.24812069, -0.19605056, +0.06919432, -1.52771565, +0.55706484, -0.40730952, -0.14957863, -0.23209494, -0.49069206, +0.32324514, +0.47364578, +0.24013632, -0.40198879, -1.30542553, +1.25513245, +0.19360083, -0.04639237, +0.15226623, -0.74873561, +0.09457214, -0.41916596, -0.14193507, -0.17160468, +0.80088924, -0.30188083, -0.32536718, +0.75948498, +0.06045016, +0.60936376, +0.23963373, -0.02696272, -0.49319451, + +0.06326668, +0.32297347, -0.23583070, -0.31304108, -0.60382911, -0.43632276, -1.34658513, +1.14283196, -0.97923473, -0.49474701, +0.49027464, +0.17552751, +0.10237380, +0.03050470, +0.13654353, +0.08650507, +1.19238239, +0.07154022, -0.14309791, +0.23516960, +0.10144837, -0.05867904, +1.00928182, +0.33328019, -0.01162238, +0.35431923, -0.23257334, -0.97605925, -0.04694829, +0.10042767, +1.66807255, +2.01602934, +0.85629030, -0.10732043, +0.65984931, +0.08373444, +0.39623302, +0.51850325, -0.09494198, -0.94346261, +0.34281014, +0.04397729, +0.20420439, +0.27846452, -0.05054537, -0.13059610, -1.64075478, +2.09555724, +0.24708376, -1.59283494, -0.23883824, +1.04050592, +1.30730632, -0.12267642, -0.05733505, -0.54892851, -0.04058097, -0.20240408, +0.59711595, +0.01024931, -0.46822574, -0.17898764, -0.19687420, +0.10637550, -1.50787595, +0.70294329, -0.33140060, -0.15033653, -0.20152716, -0.50079759, -0.32034193, +0.26048424, +0.22963869, -0.37013738, -1.55986498, +1.50431186, +0.34514941, +0.19517259, -0.01846994, +0.12726397, -0.79119062, +0.02952626, -0.37674220, -0.09049929, -0.16643278, +0.85996456, -0.30307753, -0.45726672, +0.78696083, +0.10977150, +0.61998177, +0.25231337, -0.07110317, -0.67390393, -0.51042882, +0.13469083, +0.73002222, -0.04018473, -0.15295296, +0.25624536, +0.07438146, }; -static int _labels[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91}; +static int _labels[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100}; /* C = 100.000000 */ struct model FPModel = { {0}, - 92, + 101, 695, _w, _labels, @@ -3272,6 +3308,18 @@ std::vector load_fp_matches() { FingerMatch match; match.line = 52; match.numprints = 1; + match.OS_name = (char *) "OpenWrt (Linux 4.14)"; + { + OS_Classification osclass = {"Linux", "Linux", "4.X", "general purpose"}; + osclass.cpe.push_back("cpe:/o:linux:linux_kernel:4.14"); + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 53; + match.numprints = 1; match.OS_name = (char *) "Citrix NetScaler load balancer (NS9.3)"; { OS_Classification osclass = {"Citrix", "embedded", NULL, "load balancer"}; @@ -3282,7 +3330,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 53; + match.line = 54; match.numprints = 1; match.OS_name = (char *) "Citrix NetScaler load balancer (NS9.2)"; { @@ -3294,7 +3342,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 54; + match.line = 55; match.numprints = 3; match.OS_name = (char *) "Linux 2.6.18"; { @@ -3306,7 +3354,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 55; + match.line = 56; match.numprints = 3; match.OS_name = (char *) "NetBSD"; { @@ -3318,7 +3366,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 56; + match.line = 57; match.numprints = 1; match.OS_name = (char *) "F5 BIG-IP load balancer"; { @@ -3329,7 +3377,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 57; + match.line = 58; match.numprints = 2; match.OS_name = (char *) "Microsoft Windows Vista SP2"; { @@ -3341,7 +3389,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 58; + match.line = 59; match.numprints = 2; match.OS_name = (char *) "Microsoft Windows Server 2008 R2"; { @@ -3353,7 +3401,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 59; + match.line = 60; match.numprints = 10; match.OS_name = (char *) "FreeBSD 9.0 - 11.1"; { @@ -3375,7 +3423,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 60; + match.line = 61; match.numprints = 2; match.OS_name = (char *) "Juniper JUNOS 13"; { @@ -3387,7 +3435,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 61; + match.line = 62; match.numprints = 1; match.OS_name = (char *) "NetComm NP805N wireless ADSL router"; { @@ -3399,7 +3447,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 62; + match.line = 63; match.numprints = 5; match.OS_name = (char *) "OpenBSD 5.3 - 6.1"; { @@ -3415,7 +3463,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 63; + match.line = 64; match.numprints = 4; match.OS_name = (char *) "FreeBSD 9.1 - 11.0"; { @@ -3437,7 +3485,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 64; + match.line = 65; match.numprints = 1; match.OS_name = (char *) "BlackBerry 10"; { @@ -3449,7 +3497,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 65; + match.line = 66; match.numprints = 1; match.OS_name = (char *) "IBM AIX 7.1"; { @@ -3461,7 +3509,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 66; + match.line = 67; match.numprints = 1; match.OS_name = (char *) "HP HP-UX B.11.23"; { @@ -3473,7 +3521,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 67; + match.line = 68; match.numprints = 1; match.OS_name = (char *) "Cisco IOS XR"; { @@ -3484,7 +3532,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 68; + match.line = 69; match.numprints = 1; match.OS_name = (char *) "Joyent SmartOS"; { @@ -3496,7 +3544,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 69; + match.line = 70; match.numprints = 7; match.OS_name = (char *) "Linux 3.12 - 4.14"; { @@ -3513,7 +3561,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 70; + match.line = 71; match.numprints = 23; match.OS_name = (char *) "Apple OS X 10.9 (Mavericks) - 10.15 (Catalina) or iOS 6 - 12.4 (Darwin 13.0.0 - 19.3.0)"; { @@ -3555,7 +3603,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 71; + match.line = 72; match.numprints = 1; match.OS_name = (char *) "Dell SonicWALL firewall (SonicOS 5.9)"; { @@ -3567,7 +3615,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 72; + match.line = 73; match.numprints = 17; match.OS_name = (char *) "Linux 3.13 - 4.6"; { @@ -3584,7 +3632,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 73; + match.line = 74; match.numprints = 1; match.OS_name = (char *) "Android 7.1 (Linux 3.18)"; { @@ -3595,19 +3643,36 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 74; - match.numprints = 2; - match.OS_name = (char *) "Linux 4.19"; + match.line = 75; + match.numprints = 4; + match.OS_name = (char *) "Linux 4.19 - 5.17"; { OS_Classification osclass = {"Linux", "Linux", "4.X", "general purpose"}; - osclass.cpe.push_back("cpe:/o:linux:linux_kernel:4.19"); + osclass.cpe.push_back("cpe:/o:linux:linux_kernel:4"); + match.OS_class.push_back(osclass); + } + { + OS_Classification osclass = {"Linux", "Linux", "5.X", "general purpose"}; + osclass.cpe.push_back("cpe:/o:linux:linux_kernel:5"); match.OS_class.push_back(osclass); } matches.push_back(match); } { FingerMatch match; - match.line = 75; + match.line = 76; + match.numprints = 1; + match.OS_name = (char *) "OpenWrt (Linux 6.6)"; + { + OS_Classification osclass = {"Linux", "Linux", "6.X", "general purpose"}; + osclass.cpe.push_back("cpe:/o:linux:linux_kernel:6.6"); + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 77; match.numprints = 2; match.OS_name = (char *) "VMware ESXi 6.0.0"; { @@ -3619,7 +3684,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 76; + match.line = 78; match.numprints = 2; match.OS_name = (char *) "Apple Time Capsule NAS device"; { @@ -3631,7 +3696,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 77; + match.line = 79; match.numprints = 1; match.OS_name = (char *) "IBM i 7.2"; { @@ -3643,7 +3708,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 78; + match.line = 80; match.numprints = 8; match.OS_name = (char *) "Apple OS X 10.9 (Mavericks) - 10.12 (Sierra) (Darwin 13.0.0 - 16.6.0)"; { @@ -3670,7 +3735,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 79; + match.line = 81; match.numprints = 1; match.OS_name = (char *) "Cisco IOS XE 15"; { @@ -3682,7 +3747,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 80; + match.line = 82; match.numprints = 5; match.OS_name = (char *) "Microsoft Windows 8.1 or Windows 10"; { @@ -3699,7 +3764,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 81; + match.line = 83; match.numprints = 1; match.OS_name = (char *) "OpenBSD 6.0"; { @@ -3711,7 +3776,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 82; + match.line = 84; match.numprints = 1; match.OS_name = (char *) "DragonFly 4.7"; { @@ -3721,34 +3786,10 @@ std::vector load_fp_matches() { } matches.push_back(match); } - { - FingerMatch match; - match.line = 83; - match.numprints = 5; - match.OS_name = (char *) "Microsoft Windows 10"; - { - OS_Classification osclass = {"Microsoft", "Windows", "10", "general purpose"}; - osclass.cpe.push_back("cpe:/o:microsoft:windows_10"); - match.OS_class.push_back(osclass); - } - matches.push_back(match); - } - { - FingerMatch match; - match.line = 84; - match.numprints = 1; - match.OS_name = (char *) "3Com Switch (3Com OS 5)"; - { - OS_Classification osclass = {"3Com", "3Com OS", "5.X", "switch"}; - osclass.cpe.push_back("cpe:/o:3com:3com_os:5"); - match.OS_class.push_back(osclass); - } - matches.push_back(match); - } { FingerMatch match; match.line = 85; - match.numprints = 6; + match.numprints = 8; match.OS_name = (char *) "Microsoft Windows 10"; { OS_Classification osclass = {"Microsoft", "Windows", "10", "general purpose"}; @@ -3761,6 +3802,30 @@ std::vector load_fp_matches() { FingerMatch match; match.line = 86; match.numprints = 1; + match.OS_name = (char *) "3Com Switch (3Com OS 5)"; + { + OS_Classification osclass = {"3Com", "3Com OS", "5.X", "switch"}; + osclass.cpe.push_back("cpe:/o:3com:3com_os:5"); + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 87; + match.numprints = 6; + match.OS_name = (char *) "Microsoft Windows 10"; + { + OS_Classification osclass = {"Microsoft", "Windows", "10", "general purpose"}; + osclass.cpe.push_back("cpe:/o:microsoft:windows_10"); + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 88; + match.numprints = 1; match.OS_name = (char *) "Linux 4.4"; { OS_Classification osclass = {"Linux", "Linux", "4.X", "general purpose"}; @@ -3771,7 +3836,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 87; + match.line = 89; match.numprints = 3; match.OS_name = (char *) "FreeBSD 11.2"; { @@ -3783,7 +3848,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 88; + match.line = 90; match.numprints = 1; match.OS_name = (char *) "Synology DSM 6.2.1 (Linux 3.2.40)"; { @@ -3800,7 +3865,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 89; + match.line = 91; match.numprints = 1; match.OS_name = (char *) "Linux 5.0"; { @@ -3812,7 +3877,7 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 90; + match.line = 92; match.numprints = 3; match.OS_name = (char *) "Linux 5.4"; { @@ -3824,7 +3889,18 @@ std::vector load_fp_matches() { } { FingerMatch match; - match.line = 91; + match.line = 93; + match.numprints = 1; + match.OS_name = (char *) "Linux 6.6"; + { + OS_Classification osclass = {"Linux", "Linux", "6.X", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 94; match.numprints = 2; match.OS_name = (char *) "FreeBSD 12.0 - 12.1"; { @@ -3834,5 +3910,75 @@ std::vector load_fp_matches() { } matches.push_back(match); } + { + FingerMatch match; + match.line = 95; + match.numprints = 2; + match.OS_name = (char *) "Microsoft Windows 11"; + { + OS_Classification osclass = {"Microsoft", "Windows", "11", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 96; + match.numprints = 4; + match.OS_name = (char *) "Apple macOS 14 (Sonoma) - 15 (Sequoia) (Darwin 23.0.0 - 24.3.0)"; + { + OS_Classification osclass = {"Apple", "macOS", "15.X", "general purpose"}; + match.OS_class.push_back(osclass); + } + { + OS_Classification osclass = {"Apple", "macOS", "15.X", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 97; + match.numprints = 1; + match.OS_name = (char *) "Microsoft Windows 10 21H2"; + { + OS_Classification osclass = {"Microsoft", "Windows", "10", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 98; + match.numprints = 1; + match.OS_name = (char *) "Microsoft Windows 10 23H2"; + { + OS_Classification osclass = {"Microsoft", "Windows", "10", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 99; + match.numprints = 1; + match.OS_name = (char *) "NetBSD 9.99"; + { + OS_Classification osclass = {"NetBSD", "NetBSD", "9.X", "general purpose"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } + { + FingerMatch match; + match.line = 100; + match.numprints = 3; + match.OS_name = (char *) "VxWorks 6.5"; + { + OS_Classification osclass = {"Wind River", "VxWorks", "6.X", "specialized"}; + match.OS_class.push_back(osclass); + } + matches.push_back(match); + } return matches; } diff --git a/FingerPrintResults.cc b/FingerPrintResults.cc index 4e3ae386a..3bbf25d84 100644 --- a/FingerPrintResults.cc +++ b/FingerPrintResults.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/FingerPrintResults.h b/FingerPrintResults.h index e1ff5bcad..86dbe80f4 100644 --- a/FingerPrintResults.h +++ b/FingerPrintResults.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/MACLookup.cc b/MACLookup.cc index ab9c013a5..e3cfa6508 100644 --- a/MACLookup.cc +++ b/MACLookup.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/MACLookup.h b/MACLookup.h index 99f584e7e..479e21ad6 100644 --- a/MACLookup.h +++ b/MACLookup.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/Makefile.in b/Makefile.in index 212e239af..3951547a0 100644 --- a/Makefile.in +++ b/Makefile.in @@ -256,6 +256,7 @@ clean-zenmap: rm -f $(ZENMAPDIR)/zenmapCore/Name.pyc clean-ndiff: + rm -f $(NDIFFDIR)/Version.pyc clean-nping: -cd $(NPINGDIR) && $(MAKE) clean @@ -312,7 +313,7 @@ distclean-%: clean-% -cd $* && $(MAKE) distclean install-nmap: $(TARGET) - $(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(nmapdatadir) + mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(nmapdatadir) $(INSTALL) -c -m 755 nmap $(DESTDIR)$(bindir)/nmap # Use strip -x to avoid stripping dynamically loaded NSE functions. See # http://seclists.org/nmap-dev/2007/q4/0272.html. @@ -320,7 +321,7 @@ install-nmap: $(TARGET) $(INSTALL) -c -m 644 docs/$(TARGET).1 $(DESTDIR)$(mandir)/man1/ if [ "$(USE_NLS)" = "yes" ]; then \ for ll in $(filter $(ALL_LINGUAS),$(LINGUAS)); do \ - $(INSTALL) -d $(DESTDIR)$(mandir)/$$ll/man1; \ + mkdir -p $(DESTDIR)$(mandir)/$$ll/man1; \ $(INSTALL) -c -m 644 docs/man-xlate/$(TARGET)-$$ll.1 $(DESTDIR)$(mandir)/$$ll/man1/$(TARGET).1; \ done; \ fi @@ -354,7 +355,7 @@ build-zenmap: $(ZENMAPDIR)/pyproject.toml $(ZENMAPDIR)/zenmapCore/Version.py $(PYTHON) -m build $(ZENMAPDIR)/ install-zenmap: $(ZENMAPDIR)/pyproject.toml - $(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(deskdir) + mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(DESTDIR)$(deskdir) $(PYTHON) -m pip install $(ZENMAPDIR)/ $(if $(DESTDIR),--root "$(DESTDIR)") $(INSTALL) -c -m 644 docs/zenmap.1 $(DESTDIR)$(mandir)/man1/ $(INSTALL) -c -m 644 $(ZENMAPDIR)/install_scripts/unix/*.desktop $(DESTDIR)$(deskdir) @@ -366,14 +367,17 @@ install-zenmap: $(ZENMAPDIR)/pyproject.toml # Create a symlink from xnmap to zenmap unconditionally. ln -sf zenmap $(DESTDIR)$(bindir)/xnmap -build-ndiff: +$(NDIFFDIR)/Version.py: $(ZENMAPDIR)/zenmapCore/Version.py + cp $^ $@ + +build-ndiff: $(NDIFFDIR)/pyproject.toml $(NDIFFDIR)/Version.py $(PYTHON) -m build $(NDIFFDIR)/ build-nping: $(NPINGDIR)/Makefile build-nbase build-nsock build-netutil $(NPINGDIR)/nping.h @DNET_BUILD@ @PCAP_BUILD@ @cd $(NPINGDIR) && $(MAKE) install-ndiff: - $(INSTALL) -d $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 + mkdir -p $(DESTDIR)$(bindir) $(DESTDIR)$(mandir)/man1 $(PYTHON) -m pip install $(NDIFFDIR)/ $(if $(DESTDIR),--root "$(DESTDIR)") $(INSTALL) -c -m 644 $(NDIFFDIR)/docs/ndiff.1 $(DESTDIR)$(mandir)/man1/ @@ -381,8 +385,8 @@ NSE_FILES = scripts/script.db scripts/*.nse NSE_LIB_LUA_FILES = nselib/*.lua nselib/*.luadoc install-nse: $(TARGET) - $(INSTALL) -d $(DESTDIR)$(nmapdatadir)/scripts - $(INSTALL) -d $(DESTDIR)$(nmapdatadir)/nselib + mkdir -p $(DESTDIR)$(nmapdatadir)/scripts + mkdir -p $(DESTDIR)$(nmapdatadir)/nselib # Remove obsolete scripts from a previous installation. (cd $(DESTDIR)$(nmapdatadir)/scripts && rm -f $(OLD_SCRIPT_NAMES)) @@ -390,9 +394,9 @@ install-nse: $(TARGET) $(INSTALL) -c -m 644 nse_main.lua $(DESTDIR)$(nmapdatadir)/ $(INSTALL) -c -m 644 $(NSE_FILES) $(DESTDIR)$(nmapdatadir)/scripts $(INSTALL) -c -m 644 $(NSE_LIB_LUA_FILES) $(DESTDIR)$(nmapdatadir)/nselib - $(INSTALL) -d $(DESTDIR)$(nmapdatadir)/nselib/data + mkdir -p $(DESTDIR)$(nmapdatadir)/nselib/data for f in `find nselib/data -name .svn -prune -o -type d -print`; do \ - $(INSTALL) -d $(DESTDIR)$(nmapdatadir)/$$f; \ + mkdir -p $(DESTDIR)$(nmapdatadir)/$$f; \ done for f in `find nselib/data -name .svn -prune -o -type f -print`; do \ $(INSTALL) -c -m 644 $$f $(DESTDIR)$(nmapdatadir)/$$f; \ @@ -434,7 +438,7 @@ uninstall-nping: @cd $(NPINGDIR) && $(MAKE) uninstall check-nse: - ./nmap -d --datadir . --script=unittest --script-args=unittest.run + ./nmap -d --datadir . --script=unittest --script-args=unittest.run --release-mem check-ncat: @cd $(NCATDIR) && $(MAKE) check diff --git a/NewTargets.cc b/NewTargets.cc index bf4c89ac4..41555f5fb 100644 --- a/NewTargets.cc +++ b/NewTargets.cc @@ -3,7 +3,7 @@ * targets to the scan queue. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/NewTargets.h b/NewTargets.h index e7d2b9a85..3aacd5600 100644 --- a/NewTargets.h +++ b/NewTargets.h @@ -3,7 +3,7 @@ * targets to the scan queue. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/NmapOps.cc b/NmapOps.cc index aa9bfa660..13a6f3bae 100644 --- a/NmapOps.cc +++ b/NmapOps.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/NmapOps.h b/NmapOps.h index 283612bb9..b9ba18198 100644 --- a/NmapOps.h +++ b/NmapOps.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/NmapOutputTable.cc b/NmapOutputTable.cc index 1ca2677b6..f7624e20b 100644 --- a/NmapOutputTable.cc +++ b/NmapOutputTable.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/NmapOutputTable.h b/NmapOutputTable.h index ffac1d467..cc8652cc8 100644 --- a/NmapOutputTable.h +++ b/NmapOutputTable.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/README.md b/README.md index f7e2b9500..58c58fe4a 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -Nmap [![Build Status](https://travis-ci.org/nmap/nmap.svg?branch=master)](https://travis-ci.org/nmap/nmap) [![Language grade: C/C++](https://img.shields.io/lgtm/grade/cpp/g/nmap/nmap.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/nmap/nmap/context:cpp) [![Language grade: Python](https://img.shields.io/lgtm/grade/python/g/nmap/nmap.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/nmap/nmap/context:python) [![Total alerts](https://img.shields.io/lgtm/alerts/g/nmap/nmap.svg?logo=lgtm&logoWidth=18)](https://lgtm.com/projects/g/nmap/nmap/alerts/) +Nmap [![Build Status](https://github.com/nmap/nmap/actions/workflows/build.yml/badge.svg)](https://github.com/nmap/nmap/actions/workflows/build.yml) ==== Nmap is released under a custom license, which is based on (but not compatible diff --git a/Target.cc b/Target.cc index 983679379..ba6d5f7c4 100644 --- a/Target.cc +++ b/Target.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -497,6 +497,46 @@ const u8 *Target::NextHopMACAddress() const { return (NextHopMACaddress_set)? NextHopMACaddress : NULL; } +eth_nfo *Target::FillEthNfo(eth_nfo *eth, netutil_eth_t *ethsd) const { + assert(eth != NULL); + const char *devname = this->deviceName(); + if (devname == NULL) { + return NULL; + } + if (ethsd == NULL) { + ethsd = eth_open_cached(devname); + } + else { + eth->ethsd = ethsd; + } + if (ethsd == NULL) { + error("%s: Failed to open device (%s)", __func__, devname); + return NULL; + } + if (!netutil_eth_can_send(ethsd)) { + error("%s: Cannot send on device (%s)", __func__, devname); + return NULL; + } + if (netutil_eth_datalink(ethsd) == DLT_EN10MB){ + const u8 *src_mac = this->SrcMACAddress(); + if (src_mac == NULL) { + error("%s: Cannot determine source MAC for %s", __func__, this->targetipstr()); + return NULL; + } + const u8 *dst_mac = this->NextHopMACAddress(); + if (dst_mac == NULL) { + error("%s: Cannot determine next hop MAC for %s", __func__, this->targetipstr()); + return NULL; + } + assert(eth->srcmac != NULL && eth->dstmac != NULL); + memcpy(eth->srcmac, src_mac, 6); + memcpy(eth->dstmac, dst_mac, 6); + } + + Strncpy(eth->devname, devname, sizeof(eth->devname)); + return eth; +} + int Target::osscanPerformed(void) const { return osscan_flag; } diff --git a/Target.h b/Target.h index 62b72d8df..e73aea32e 100644 --- a/Target.h +++ b/Target.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -237,6 +237,7 @@ class Target { const u8 *MACAddress() const; const u8 *SrcMACAddress() const; const u8 *NextHopMACAddress() const; + eth_nfo *FillEthNfo(eth_nfo *eth, netutil_eth_t *ethsd) const; /* Set the device names so that they can be returned by deviceName() and deviceFullName(). The normal name may not include alias diff --git a/TargetGroup.cc b/TargetGroup.cc index 0d54e3414..926c13244 100644 --- a/TargetGroup.cc +++ b/TargetGroup.cc @@ -7,7 +7,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/TargetGroup.h b/TargetGroup.h index 8c184ae5f..881883ebc 100644 --- a/TargetGroup.h +++ b/TargetGroup.h @@ -7,7 +7,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/charpool.cc b/charpool.cc index 5a86209c6..14f647138 100644 --- a/charpool.cc +++ b/charpool.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -64,6 +64,7 @@ #include #undef NDEBUG #include +#include #include "nbase.h" diff --git a/charpool.h b/charpool.h index 28e2dadd4..9bbd3e573 100644 --- a/charpool.h +++ b/charpool.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/configure b/configure index 11a3b98c0..89ba1a991 100755 --- a/configure +++ b/configure @@ -7258,6 +7258,7 @@ fi fi if test $have_libpcap != yes; then + ac_configure_args="$ac_configure_args '--disable-dbus'" subdirs="$subdirs libpcap" if test "${LIBPCAP_INC+set}" = "set"; then @@ -7275,6 +7276,48 @@ printf "%s\n" "#define PCAP_INCLUDED 1" >>confdefs.h printf "%s\n" "#define HAVE_PCAP_SET_IMMEDIATE_MODE 1" >>confdefs.h + # Check if D-Bus is available (in case --disable-dbus didn't work) + # and add it to LIBS if needed for static linking + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for dbus_connection_read_write in -ldbus-1" >&5 +printf %s "checking for dbus_connection_read_write in -ldbus-1... " >&6; } +if test ${ac_cv_lib_dbus_1_dbus_connection_read_write+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_check_lib_save_LIBS=$LIBS +LIBS="-ldbus-1 $LIBS" +cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +/* Override any GCC internal prototype to avoid an error. + Use char because int might match the return type of a GCC + builtin and then its argument prototype would still apply. */ +char dbus_connection_read_write (); +int +main (void) +{ +return dbus_connection_read_write (); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_lib_dbus_1_dbus_connection_read_write=yes +else $as_nop + ac_cv_lib_dbus_1_dbus_connection_read_write=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext +LIBS=$ac_check_lib_save_LIBS +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dbus_1_dbus_connection_read_write" >&5 +printf "%s\n" "$ac_cv_lib_dbus_1_dbus_connection_read_write" >&6; } +if test "x$ac_cv_lib_dbus_1_dbus_connection_read_write" = xyes +then : + LIBS="$LIBS -ldbus-1" +fi + else # We assume our included libpcap doesn't need this check-and-define # link with -lpcap for the purposes of this test @@ -7997,8 +8040,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $ ac_compiler_gnu=$ac_cv_c_compiler_gnu # We need Lua 5.4 exactly - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua version == 504" >&5 -printf %s "checking for lua version == 504... " >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -8165,6 +8206,10 @@ else $as_nop have_lua=no fi rm -f conftest.err conftest.i conftest.$ac_ext + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for lua version == 504" >&5 +printf %s "checking for lua version == 504... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $have_lua" >&5 +printf "%s\n" "$have_lua" >&6; } ac_ext=c ac_cpp='$CPP $CPPFLAGS' ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' @@ -8178,9 +8223,11 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu fi # if we didn't find we use our own + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether lua was found" >&5 +printf %s "checking whether lua was found... " >&6; } if test $have_lua != yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, will use our own" >&5 +printf "%s\n" "no, will use our own" >&6; } CPPFLAGS="-I\$(top_srcdir)/$LIBLUADIR $CPPFLAGS" LIBLUA_LIBS="\$(top_srcdir)/$LIBLUADIR/liblua.a" LUA_BUILD="build-lua" @@ -8298,9 +8345,11 @@ done fi # if we didn't find we use our own +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether liblinear was found" >&5 +printf %s "checking whether liblinear was found... " >&6; } if test $have_liblinear != yes; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 -printf "%s\n" "no" >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no, will use our own" >&5 +printf "%s\n" "no, will use our own" >&6; } CPPFLAGS="-I\$(top_srcdir)/$LIBLINEARDIR $CPPFLAGS" LIBLINEAR_LIBS="\$(top_srcdir)/$LIBLINEARDIR/liblinear.a" LIBLINEAR_BUILD="build-liblinear" diff --git a/configure.ac b/configure.ac index 70b720b9c..082c8cf64 100644 --- a/configure.ac +++ b/configure.ac @@ -495,6 +495,9 @@ if test $have_libpcap != yes; then PCAP_DIST_CLEAN="distclean-pcap" AC_DEFINE(PCAP_INCLUDED, 1, [Using included libpcap]) AC_DEFINE(HAVE_PCAP_SET_IMMEDIATE_MODE, 1, [Included libpcap has pcap_set_immediate_mode]) + # Check if D-Bus is available (in case --disable-dbus didn't work) + # and add it to LIBS if needed for static linking + AC_CHECK_LIB([dbus-1], [dbus_connection_read_write], [LIBS="$LIBS -ldbus-1"]) else # We assume our included libpcap doesn't need this check-and-define # link with -lpcap for the purposes of this test diff --git a/docs/man-xlate/nmap-es.1 b/docs/man-xlate/nmap-es.1 index 5dc3a9bd4..a0452c829 100644 --- a/docs/man-xlate/nmap-es.1 +++ b/docs/man-xlate/nmap-es.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Autor" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 06/08/2025 +.\" Date: 19/03/2026 .\" Manual: Guía de referencia de Nmap .\" Source: Nmap .\" Language: Spanish .\" -.TH "NMAP" "1" "06/08/2025" "Nmap" "Guía de referencia de Nmap" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Guía de referencia de Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-fr.1 b/docs/man-xlate/nmap-fr.1 index 3354273d7..da761bbfe 100644 --- a/docs/man-xlate/nmap-fr.1 +++ b/docs/man-xlate/nmap-fr.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Auteur" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 06/08/2025 +.\" Date: 19/03/2026 .\" Manual: Guide de référence Nmap .\" Source: Nmap .\" Language: French .\" -.TH "NMAP" "1" "06/08/2025" "Nmap" "Guide de référence Nmap" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Guide de référence Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-hr.1 b/docs/man-xlate/nmap-hr.1 index 54fa99c5d..e235a9f25 100644 --- a/docs/man-xlate/nmap-hr.1 +++ b/docs/man-xlate/nmap-hr.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Author" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 04/12/2024 +.\" Date: 03/19/2026 .\" Manual: Nmap vodiÄ .\" Source: Nmap .\" Language: Croatian .\" -.TH "NMAP" "1" "04/12/2024" "Nmap" "Nmap vodiÄ" +.TH "NMAP" "1" "03/19/2026" "Nmap" "Nmap vodiÄ" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-hu.1 b/docs/man-xlate/nmap-hu.1 index 30e042474..71aa7b977 100644 --- a/docs/man-xlate/nmap-hu.1 +++ b/docs/man-xlate/nmap-hu.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/04/2024 +.\" Date: 19/03/2026 .\" Manual: Nmap Referencia Útmutató .\" Source: Nmap .\" Language: Hungarian .\" -.TH "NMAP" "1" "12/04/2024" "Nmap" "Nmap Referencia Útmutató" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Nmap Referencia Útmutató" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-id.1 b/docs/man-xlate/nmap-id.1 index ab22b2b19..1bbee0d8d 100644 --- a/docs/man-xlate/nmap-id.1 +++ b/docs/man-xlate/nmap-id.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Penulis" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 04/12/2024 +.\" Date: 03/27/2026 .\" Manual: Panduan Referensi Nmap .\" Source: Nmap .\" Language: Indonesian .\" -.TH "NMAP" "1" "04/12/2024" "Nmap" "Panduan Referensi Nmap" +.TH "NMAP" "1" "03/27/2026" "Nmap" "Panduan Referensi Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-it.1 b/docs/man-xlate/nmap-it.1 index 7012161d1..b3247862b 100644 --- a/docs/man-xlate/nmap-it.1 +++ b/docs/man-xlate/nmap-it.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Autore" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12/04/2024 +.\" Date: 19/03/2026 .\" Manual: Guida di riferimento di Nmap .\" Source: Nmap .\" Language: Italian .\" -.TH "NMAP" "1" "12/04/2024" "Nmap" "Guida di riferimento di Nmap" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Guida di riferimento di Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-ja.1 b/docs/man-xlate/nmap-ja.1 index d2a31f87e..f07ba660e 100644 --- a/docs/man-xlate/nmap-ja.1 +++ b/docs/man-xlate/nmap-ja.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 06/08/2025 +.\" Date: 27/03/2026 .\" Manual: Nmap リファレンスガイド .\" Source: Nmap .\" Language: Japanese .\" -.TH "NMAP" "1" "06/08/2025" "Nmap" "Nmap リファレンスガイド" +.TH "NMAP" "1" "27/03/2026" "Nmap" "Nmap リファレンスガイド" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -93,7 +93,7 @@ Nmapã®æœ€æ–°ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ã€\m[blue]\fB\%https://nmap.org\fR\m[]ã‹ã‚‰å…¥ .RS 4 .\} .nf -Nmap 7\&.98 ( https://nmap\&.org ) +Nmap 7\&.99SVN ( https://nmap\&.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc\&. diff --git a/docs/man-xlate/nmap-pl.1 b/docs/man-xlate/nmap-pl.1 index e72367517..afaf29760 100644 --- a/docs/man-xlate/nmap-pl.1 +++ b/docs/man-xlate/nmap-pl.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Autor" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 04/12/2024 +.\" Date: 03/19/2026 .\" Manual: Opis programu Nmap .\" Source: Nmap .\" Language: Polish .\" -.TH "NMAP" "1" "04/12/2024" "Nmap" "Opis programu Nmap" +.TH "NMAP" "1" "03/19/2026" "Nmap" "Opis programu Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-pt_BR.1 b/docs/man-xlate/nmap-pt_BR.1 index e4a1be491..915dc9885 100644 --- a/docs/man-xlate/nmap-pt_BR.1 +++ b/docs/man-xlate/nmap-pt_BR.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Autor" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 06/08/2025 +.\" Date: 19/03/2026 .\" Manual: Guia de Referência do Nmap .\" Source: Nmap .\" Language: Portuguese (Brazil) .\" -.TH "NMAP" "1" "06/08/2025" "Nmap" "Guia de Referência do Nmap" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Guia de Referência do Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-pt_PT.1 b/docs/man-xlate/nmap-pt_PT.1 index fc17673a9..69309bcd6 100644 --- a/docs/man-xlate/nmap-pt_PT.1 +++ b/docs/man-xlate/nmap-pt_PT.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Autor" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 06/08/2025 +.\" Date: 19/03/2026 .\" Manual: Guia de Referência do Nmap .\" Source: Nmap .\" Language: Portuguese .\" -.TH "NMAP" "1" "06/08/2025" "Nmap" "Guia de Referência do Nmap" +.TH "NMAP" "1" "19/03/2026" "Nmap" "Guia de Referência do Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-ro.1 b/docs/man-xlate/nmap-ro.1 index 36f54db65..9eb26f807 100644 --- a/docs/man-xlate/nmap-ro.1 +++ b/docs/man-xlate/nmap-ro.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 05/17/2023 +.\" Date: 03/19/2026 .\" Manual: Ghid de referinta Nmap .\" Source: Nmap .\" Language: Romanian .\" -.TH "NMAP" "1" "05/17/2023" "Nmap" "Ghid de referinta Nmap" +.TH "NMAP" "1" "03/19/2026" "Nmap" "Ghid de referinta Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-ru.1 b/docs/man-xlate/nmap-ru.1 index a6dd8af98..4f794d5d5 100644 --- a/docs/man-xlate/nmap-ru.1 +++ b/docs/man-xlate/nmap-ru.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Ðвтор" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 08/06/2025 +.\" Date: 03/19/2026 .\" Manual: Справочное руководÑтво Nmap .\" Source: Nmap .\" Language: Russian .\" -.TH "nmap" "1" "08/06/2025" "Nmap" "Справочное руководÑтво Nmap" +.TH "nmap" "1" "03/19/2026" "Nmap" "Справочное руководÑтво Nmap" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-sk.1 b/docs/man-xlate/nmap-sk.1 index 108dbbcc3..92a991bf2 100644 --- a/docs/man-xlate/nmap-sk.1 +++ b/docs/man-xlate/nmap-sk.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [FIXME: author] [see http://docbook.sf.net/el/author] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 12. apríla 2024 +.\" Date: 19. marca 2026 .\" Manual: Nmap - Referencna prirucka .\" Source: Nmap .\" Language: Slovak .\" -.TH "NMAP" "1" "12. apríla 2024" "Nmap" "Nmap \- Referencna prirucka" +.TH "NMAP" "1" "19. marca 2026" "Nmap" "Nmap \- Referencna prirucka" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/man-xlate/nmap-zh.1 b/docs/man-xlate/nmap-zh.1 index df19327fe..fdd0f0b0a 100644 --- a/docs/man-xlate/nmap-zh.1 +++ b/docs/man-xlate/nmap-zh.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "作者" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 2023-03-31 +.\" Date: 2026-03-19 .\" Manual: Nmapå‚è€ƒæŒ‡å— .\" Source: Nmap .\" Language: Chinese .\" -.TH "NMAP" "1" "2023-03-31" "Nmap" "Nmapå‚考指å—" +.TH "NMAP" "1" "2026-03-19" "Nmap" "Nmapå‚考指å—" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/docs/nmap-install.xml b/docs/nmap-install.xml index e4b763b51..4c3643c05 100644 --- a/docs/nmap-install.xml +++ b/docs/nmap-install.xml @@ -534,35 +534,45 @@ for the most common distributions. SUSE (Linux distribution)installing on, with RPM Fedora (Linux distribution)installing on, with RPM -I build RPM packages for every release of Nmap and post them to -the Nmap download page at . -I build two packages: The nmap package contains -just the command-line executable and data files, while the -zenmap package contains the optional Zenmap -graphical frontend (see ). -The zenmap package requires -that the nmap package be installed first. +Nmap, Ncat, and Nping are available as RPM packages on +the Nmap download page at . +Zenmap is available as a Python wheel instead of an RPM. To install it, download +the wheel from the same page and install it with your system Python 3 using +pip install zenmap-*.whl. Any required dependencies will be +downloaded and installed automatically. RPMinstalling from Installing via RPM is quite easy—it -even downloads the package for you when given the proper URLs. The following example downloads and installs Nmap 4.68, including the frontend. Of course you should use the latest version at the download site above instead. Any existing RPM-installed versions are +even downloads the package for you when given the proper URLs. The following example downloads and installs Nmap 7.98. Of course you should use the latest version at the download site above instead. Any existing RPM-installed versions are upgraded. demonstrates this installation process. Installing Nmap from binary RPMs -# rpm -vhU https://nmap.org/dist/nmap-4.68-1.i386.rpm -Retrieving https://nmap.org/dist/nmap-4.68-1.i386.rpm -Preparing... ########################################### [100%] - 1:nmap ########################################### [100%] -# rpm -vhU https://nmap.org/dist/zenmap-4.68-1.noarch.rpm -Retrieving https://nmap.org/dist/zenmap-4.68-1.noarch.rpm -Preparing... ########################################### [100%] - 1:zenmap ########################################### [100%] +$ sudo rpm -vhU https://nmap.org/dist/nmap-7.98-1.x86_64.rpm +Retrieving https://nmap.org/dist/nmap-7.98-1.x86_64.rpm +Verifying... ################################# [100%] +Preparing... ################################# [100%] +Updating / installing... + 1:nmap-1:7.98-1 ################################# [100%] -As the filenames above imply, these binary RPMs were created for normal PCs (x86 architecture).x86 architecture I also distribute x86_64x86_64 architecture binaries for 64-bit Linux users. These binaries won't work for the relatively few Linux users on other platforms such as SPARC, Alpha, or PowerPC. They also may refuse to install if your library versions are sufficiently different from what the RPMs were initially built on. One option in these cases would be to find binary RPMs prepared by your Linux vendor for your specific distribution. The original install CDs or DVD are a good place to start. Unfortunately, those may not be current or available. Another option is to install Nmap from source code as described previously, though you lose the binary package maintenance consistency benefits. A third option is to build and install your own binary RPMs from the source RPMs distributed from the download page above. demonstrates this technique with Nmap 4.68. +As the filenames above imply, these binary RPMs were created for normal + PCs (x86_64 architecture).x86_64 + architecture. These binaries won't work for the + Linux users on other platforms such as ARM64, x86, or PowerPC. They also + may refuse to install if your library versions are sufficiently different + from what the RPMs were initially built on. One option in these cases would + be to find binary RPMs prepared by your Linux vendor for your specific + distribution. The original install CDs or DVD are a good place to start. + Unfortunately, those may not be current or available. Another option is to + install Nmap from source code as described previously, though you lose the + binary package maintenance consistency benefits. A third option is to build + and install your own binary RPMs from the source RPMs distributed from the + download page above. demonstrates this technique with Nmap + 4.68. Building and installing Nmap from source RPMs @@ -579,11 +589,7 @@ Preparing... ########################################### [100%] -It is not necessary to rebuild Zenmap in this fashion because the -Zenmap RPM is architecture-independent (noarch). For that -reason there are no Zenmap source RPMs. - -Removing RPM packages is as easy as rpm -e nmap zenmap. +Removing RPM packages is as easy as rpm -e nmap ncat. Updating Red Hat, Fedora, Mandrake, and Yellow Dog Linux with Yum @@ -793,6 +799,52 @@ Install System. After it completes, read for instructions on executing Nmap on the command-line or through Zenmap. + + Installer options + + The installer accepts several command-line options to change the installer + behavior or the selection of some of the components of the installation. By + default, all components are selected. The options are: + + + + + Don't install Nmap + + + + Don't install Npcap. Unless Npcap is installed separately, some + features of Nmap and Nping will not work. + + + + Don't install Ncat. + + + + Don't install Nping. + + + + Don't install Zenmap. Nmap OEM does not include Zenmap. + + + + Don't install Ndiff. Nmap OEM does not include Ndiff. + + + + Don't install performance-related registry modifications. + + + + Don't add the installation directory to PATH. + + + Additionally, the can be used to change the + installation directory. Nmap OEM installers also accept + for silent installation. + Command-line Zip Binaries diff --git a/docs/nmap.1 b/docs/nmap.1 index 6159c9da0..5ca6f0bb3 100644 --- a/docs/nmap.1 +++ b/docs/nmap.1 @@ -2,12 +2,12 @@ .\" Title: nmap .\" Author: [see the "Authors" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 08/21/2025 +.\" Date: 03/27/2026 .\" Manual: Nmap Reference Guide .\" Source: Nmap .\" Language: English .\" -.TH "NMAP" "1" "08/21/2025" "Nmap" "Nmap Reference Guide" +.TH "NMAP" "1" "03/27/2026" "Nmap" "Nmap Reference Guide" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- @@ -119,7 +119,7 @@ This options summary is printed when Nmap is run with no arguments, and the late .RS 4 .\} .nf -Nmap 7\&.98SVN ( https://nmap\&.org ) +Nmap 7\&.99SVN ( https://nmap\&.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc\&. @@ -1380,10 +1380,11 @@ http\-\&. Lets you provide arguments to NSE scripts\&. Arguments are a comma\-separated list of name=value pairs\&. Names and values may be strings not containing whitespace or the characters \(oq{\(cq, \(oq}\(cq, \(oq=\(cq, or \(oq,\(cq\&. To include one of these characters in a string, enclose the string in single or double quotes\&. Within a quoted string, \(oq\e\(cq escapes a quote\&. A backslash is only used to escape quotation marks in this special case; in all other cases a backslash is interpreted literally\&. Values may also be tables enclosed in -{}, just as in Lua\&. A table may contain simple string values or more name\-value pairs, including nested tables\&. Many scripts qualify their arguments with the script name, as in -xmpp\-info\&.server_name\&. You may use that full qualified version to affect just the specified script, or you may pass the unqualified version (server_name -in this case) to affect all scripts using that argument name\&. A script will first check for its fully qualified argument name (the name specified in its documentation) before it accepts an unqualified argument name\&. A complex example of script arguments is -\fB\-\-script\-args \*(Aquser=foo,pass=",{}=bar",whois={whodb=nofollow+ripe},xmpp\-info\&.server_name=localhost\*(Aq\fR\&. The online NSE Documentation Portal at +{}, just as in Lua\&. A table may contain simple string values or more name\-value pairs, including nested tables\&. A complex example of script arguments is +\fB\-\-script\-args \*(Aquser=foo,pass=",{}=bar",whois={whodb=nofollow+ripe},xmpp\-info\&.server_name=localhost\*(Aq\fR\&. Many scripts qualify their arguments with the script name, as in +xmpp\-info\&.server_name\&. A script will first check for its fully qualified argument name (the name specified in its documentation) before it accepts an unqualified argument name (server_name +in this case)\&. Some arguments are not specific to one script\&. They typically effect behavior of a library and therefore potentially all the scripts that use the library\&. (One such example is +http\&.useragent, which sets the default HTTP User\-Agent header for every web request, regardless which script sends it\&.) It is not possible for the exact same argument to be given different values for diferent scripts\&. The online NSE Documentation Portal at \m[blue]\fB\%https://nmap.org/nsedoc/\fR\m[] lists the arguments that each script accepts\&. .RE diff --git a/docs/nmap.usage.txt b/docs/nmap.usage.txt index 93a21c57b..b6d07ff51 100644 --- a/docs/nmap.usage.txt +++ b/docs/nmap.usage.txt @@ -1,4 +1,4 @@ -Nmap 7.98SVN ( https://nmap.org ) +Nmap 7.99SVN ( https://nmap.org ) Usage: nmap [Scan Type(s)] [Options] {target specification} TARGET SPECIFICATION: Can pass hostnames, IP addresses, networks, etc. diff --git a/docs/refguide.xml b/docs/refguide.xml index d0d6ae09a..5a664627b 100644 --- a/docs/refguide.xml +++ b/docs/refguide.xml @@ -309,6 +309,8 @@ you would expect. wish to scan includes untouchable mission-critical servers, systems that are known to react adversely to port scans, or subnets administered by other people. + If an excluded name cannot be resolved to a network address, Nmap + will quit without performing scanning. @@ -2480,9 +2482,20 @@ escapes a quote. A backslash is only used to escape quotation marks in this special case; in all other cases a backslash is interpreted literally. Values may also be tables enclosed in {}, just as in Lua. A table may contain simple string values or more name-value pairs, including nested -tables. Many scripts qualify their arguments with the script name, as in xmpp-info.server_name. You may use that full qualified version to affect just the specified script, or you may pass the unqualified version (server_name in this case) to affect all scripts using that argument name. A script will first check for its fully qualified argument name (the name specified in its documentation) before it accepts an unqualified argument name. A complex example of script arguments is -. The online NSE Documentation Portal at -lists the arguments that each script accepts. +tables. A complex example of script arguments is +. +Many scripts qualify their arguments with the script name, as in +xmpp-info.server_name. A script will first check for its +fully qualified argument name (the name specified in its documentation) before +it accepts an unqualified argument name (server_name in this +case). Some arguments are not specific to one script. They typically effect +behavior of a library and therefore potentially all the scripts that use the +library. (One such example is http.useragent, which sets +the default HTTP User-Agent header for every web request, regardless which +script sends it.) It is not possible for the exact same argument to be given +different values for diferent scripts. The online NSE Documentation Portal at + lists the arguments that each script +accepts. diff --git a/docs/zenmap.1 b/docs/zenmap.1 index 1b8337d96..a765263e3 100644 --- a/docs/zenmap.1 +++ b/docs/zenmap.1 @@ -2,12 +2,12 @@ .\" Title: zenmap .\" Author: [see the "Authors" section] .\" Generator: DocBook XSL Stylesheets v1.79.1 -.\" Date: 08/21/2025 +.\" Date: 03/27/2026 .\" Manual: Zenmap Reference Guide .\" Source: Zenmap .\" Language: English .\" -.TH "ZENMAP" "1" "08/21/2025" "Zenmap" "Zenmap Reference Guide" +.TH "ZENMAP" "1" "03/27/2026" "Zenmap" "Zenmap Reference Guide" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- diff --git a/idle_scan.cc b/idle_scan.cc index c8e608c35..84ef09e3f 100644 --- a/idle_scan.cc +++ b/idle_scan.cc @@ -9,7 +9,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -136,19 +136,20 @@ struct idle_proxy_info { /* Finds the IPv6 extension header for fragmentation in an IPv6 packet, and returns * the identification value of the fragmentation header */ -int ipv6_get_fragment_id(const struct ip6_hdr *ip6, unsigned int len) { - const unsigned char *p, *end; +int ipv6_get_fragment_id(const u8 *pkt, unsigned int len) { + const u8 *p, *end; u8 hdr; - struct ip6_ext_data_fragment *frag_header = NULL; - if (len < sizeof(*ip6)) + struct ip6_hdr ip6; + if (len < sizeof(ip6)) return -1; + memcpy(&ip6, pkt, sizeof(ip6)); - p = (unsigned char *) ip6; + p = pkt; end = p + len; - hdr = ip6->ip6_nxt; - p += sizeof(*ip6); + hdr = ip6.ip6_nxt; + p += sizeof(ip6); /* If the first extension header is not the fragmentation, we search our way * through the extension headers until we find the fragmentation header */ @@ -162,9 +163,10 @@ int ipv6_get_fragment_id(const struct ip6_hdr *ip6, unsigned int len) { if (hdr != IP_PROTO_FRAGMENT || (p + 2 + sizeof(ip6_ext_data_fragment)) > end) return -1; - frag_header = (struct ip6_ext_data_fragment *)( p + 2 ); + struct ip6_ext_data_fragment frag_header; + memcpy(&frag_header, p + 2, sizeof(frag_header)); - return (ntohl(frag_header->ident)); + return (ntohl(frag_header.ident)); } @@ -183,19 +185,13 @@ static int ipid_proxy_probe(struct idle_proxy_info *proxy, int *probes_sent, struct timeval tv_sent[3], rcvdtime; int ipid = -1; int to_usec; - unsigned int bytes; int base_port; - struct ip *ip; - struct tcp_hdr *tcp = NULL; static u32 seq_base = 0; static u32 ack = 0; static int packet_send_count = 0; /* Total # of probes sent by this program -- to ensure that our sequence # always changes */ u32 packetlen = 0; u8 *ipv6_packet = NULL; const struct sockaddr_storage *ss; - struct ip6_hdr *ip6 = NULL; - const void *ipv6_data; - u8 hdr; int res; if (o.magic_port_set) @@ -248,56 +244,53 @@ static int ipid_proxy_probe(struct idle_proxy_info *proxy, int *probes_sent, to_usec = proxy->host.to.timeout - TIMEVAL_SUBTRACT(tv_end, tv_sent[tries - 1]); if (to_usec < 0) to_usec = 0; // Final no-block poll - ip = (struct ip *) readip_pcap(proxy->pd, &bytes, to_usec, &rcvdtime, NULL, true); + unsigned int bytes = 0; + const u8 *pkt = readip_pcap(proxy->pd, &bytes, to_usec, &rcvdtime, NULL, true); gettimeofday(&tv_end, NULL); - if (ip) { - if (o.af() == AF_INET) { - if (bytes < (4 * ip->ip_hl) + 14U) - continue; - if (ip->ip_p == IPPROTO_TCP) - tcp = ((struct tcp_hdr *) (((char *) ip) + 4 * ip->ip_hl)); - } else if (o.af() == AF_INET6) { - if (ip->ip_v != 6) { - error("IPv6 packet with a version field != 6 received"); - } else { - ip6 = (struct ip6_hdr *) ip; - ipv6_data = ipv6_get_data(ip6, &packetlen, &hdr); - if (hdr == IPPROTO_TCP && ipv6_data != NULL) { - tcp = (struct tcp_hdr *) ipv6_data; - } - } - } - if (tcp) { - if (ntohs(tcp->th_dport) < base_port || ntohs(tcp->th_dport) - base_port >= tries || ntohs(tcp->th_sport) != proxy->probe_port || ((tcp->th_flags & TH_RST) == 0)) { - if (ntohs(tcp->th_dport) > o.magic_port && ntohs(tcp->th_dport) < (o.magic_port + 260)) { - if (o.debugging) { - error("Received IP ID zombie probe response which probably came from an earlier prober instance ... increasing rttvar from %d to %d", - proxy->host.to.rttvar, (int) (proxy->host.to.rttvar * 1.2)); - } - proxy->host.to.rttvar = (int) (proxy->host.to.rttvar * 1.2); - rcvd++; - } else if (o.debugging > 1) { - char straddr[INET6_ADDRSTRLEN]; - if (o.af() == AF_INET) - inet_ntop(AF_INET, &(ip->ip_src), straddr, sizeof(straddr)); - else if (o.af() == AF_INET6) - inet_ntop(AF_INET6, &(ip6->ip6_src), straddr, sizeof(straddr)); - error("Received unexpected response packet from %s during IP ID zombie probing:", straddr); - readtcppacket((unsigned char *) ip, MIN(ntohs(ip->ip_len), bytes)); - } - continue; - } - - trynum = ntohs(tcp->th_dport) - base_port; - rcvd++; - - if (o.af() == AF_INET) - ipid = ntohs(ip->ip_id); - else if (o.af() == AF_INET6) - ipid = ipv6_get_fragment_id(ip6, bytes); - adjust_timeouts2(&(tv_sent[trynum]), &rcvdtime, &(proxy->host.to)); - } + if (!pkt || bytes < 20) { + continue; } + struct abstract_ip_hdr hdr; + + unsigned int tcpbytes = bytes; + const u8 *tcppkt = ip_get_data(pkt, &tcpbytes, &hdr); + if (!tcppkt || hdr.proto != IPPROTO_TCP) { + continue; + } + + if ((o.af() == AF_INET && hdr.version != 4) || + (o.af() == AF_INET6 && hdr.version != 6)) { + continue; + } + struct tcp_hdr tcp; + if (tcpbytes < sizeof(tcp)) + continue; + memcpy(&tcp, tcppkt, sizeof(tcp)); + + if (ntohs(tcp.th_dport) < base_port || ntohs(tcp.th_dport) - base_port >= tries || ntohs(tcp.th_sport) != proxy->probe_port || ((tcp.th_flags & TH_RST) == 0)) { + if (ntohs(tcp.th_dport) > o.magic_port && ntohs(tcp.th_dport) < (o.magic_port + 260)) { + if (o.debugging) { + error("Received IP ID zombie probe response which probably came from an earlier prober instance ... increasing rttvar from %d to %d", + proxy->host.to.rttvar, (int) (proxy->host.to.rttvar * 1.2)); + } + proxy->host.to.rttvar = (int) (proxy->host.to.rttvar * 1.2); + rcvd++; + } else if (o.debugging > 1) { + error("Received unexpected response packet from %s during IP ID zombie probing:", + inet_socktop(&hdr.src)); + readtcppacket(pkt, 0); + } + continue; + } + + trynum = ntohs(tcp.th_dport) - base_port; + rcvd++; + + if (o.af() == AF_INET) + ipid = hdr.ipid; + else if (o.af() == AF_INET6) + ipid = ipv6_get_fragment_id(pkt, bytes); + adjust_timeouts2(&(tv_sent[trynum]), &rcvdtime, &(proxy->host.to)); } } while (ipid == -1 && tries < maxtries); @@ -354,7 +347,7 @@ static void initialize_proxy_struct(struct idle_proxy_info *proxy) { static void ipv6_force_fragmentation(struct idle_proxy_info *proxy, Target *target) { int hardtimeout = 9000000; /* Generally don't wait more than 9 secs total */ char filter[512]; /* Libpcap filter string */ - struct ip *ip; + const u8 *pkt; /* The maximum data size we can create without fragmenting, considering that the headers also need place */ char data[IP6_MTU_MIN - IPv6_HEADER_LEN - ETH_HDR_LEN - ICMPv6_MIN_HEADER_LEN]; unsigned int datalen, bytes; @@ -398,8 +391,8 @@ static void ipv6_force_fragmentation(struct idle_proxy_info *proxy, Target *targ /* Now let's wait for the answer */ while (!response_received) { gettimeofday(&tmptv, NULL); - ip = (struct ip *) readip_pcap(proxy->pd, &bytes, proxy_reply_timeout, &rcvdtime, NULL, true); - if (!ip) { + pkt = readip_pcap(proxy->pd, &bytes, proxy_reply_timeout, &rcvdtime, NULL, true); + if (!pkt) { if (TIMEVAL_SUBTRACT(tmptv, ipv6_packet_send_time) >= hardtimeout) { fatal("Idle scan zombie %s (%s) port %hu cannot be used because it has not returned any of our ICMPv6 Echo Requests -- perhaps it is down or firewalled.", proxy->host.HostName(), proxy->host.targetipstr(), @@ -408,7 +401,7 @@ static void ipv6_force_fragmentation(struct idle_proxy_info *proxy, Target *targ continue; } datalen = bytes; - rdata = ip_get_data(ip, &datalen, &hdr); + rdata = ip_get_data(pkt, &datalen, &hdr); if (hdr.version == 6 && hdr.proto == IPPROTO_ICMPV6) { icmp6_header = (struct icmpv6_hdr *) rdata; if (icmp6_header->icmpv6_type == ICMPV6_ECHOREPLY) { @@ -426,7 +419,7 @@ static void ipv6_force_fragmentation(struct idle_proxy_info *proxy, Target *targ /* Now we can tell the idle host that its reply was too big, we want it smaller than the IPV6 minimum MTU */ /* the data contains first the MTU we want, and then the received IPv6 package */ *(uint32_t *)&data = ntohl(IP6_MTU_MIN - 2); - memcpy(&data[4], ip, sizeof(data)-4); + memcpy(&data[4], pkt, sizeof(data)-4); ipv6_packet = build_icmpv6_raw(proxy->host.v6sourceip(), proxy->host.v6hostip(), 0x00, 0x0000, o.ttl, 0x00 , 0x00, 0x02, 0x00, data, sizeof(data) , &packetlen); res = send_ip_packet(proxy->rawsd, proxy->ethptr, ss, ipv6_packet, packetlen); @@ -487,8 +480,6 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, u32 ack = 0; struct timeval probe_send_times[NUM_IPID_PROBES], tmptv, rcvdtime; u32 lastipid = 0; - struct ip *ip; - struct tcp_hdr *tcp; int distance; u32 ipids[NUM_IPID_PROBES]; u8 probe_returned[NUM_IPID_PROBES]; @@ -496,7 +487,6 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, assert(proxyName); u8 *ipv6_packet = NULL; u32 packetlen = 0; - const struct ip6_hdr *ip6; u8 ip6hdr; const void *ip6data; bool retried_forcing_fragmentation = false; @@ -606,9 +596,7 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, if (proxy->eth.ethsd != NULL) { if (!setTargetNextHopMAC(&proxy->host)) fatal("%s: Failed to determine dst MAC address for Idle proxy", __func__); - memcpy(proxy->eth.srcmac, proxy->host.SrcMACAddress(), 6); - memcpy(proxy->eth.dstmac, proxy->host.NextHopMACAddress(), 6); - proxy->ethptr = &proxy->eth; + proxy->ethptr = proxy->host.FillEthNfo(&proxy->eth, proxy->eth.ethsd); } else { unblock_socket(proxy->rawsd); @@ -682,11 +670,11 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, while (probes_returned < probes_sent && !timedout) { to_usec = (probes_sent == NUM_IPID_PROBES) ? hardtimeout : 1000; - ip = (struct ip *) readip_pcap(proxy->pd, &bytes, to_usec, &rcvdtime, NULL, true); + const u8 *pkt = readip_pcap(proxy->pd, &bytes, to_usec, &rcvdtime, NULL, true); gettimeofday(&tmptv, NULL); - if (!ip) { + if (!pkt || bytes < 20) { if (probes_sent < NUM_IPID_PROBES) break; if (TIMEVAL_SUBTRACT(tmptv, probe_send_times[probes_sent - 1]) >= hardtimeout) { @@ -697,28 +685,37 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, timedout = 1; } + u8 ip_v = pkt[0] >> 4; + if (o.af() == AF_INET) { - if (ip->ip_v != 4) { + if (ip_v != 4) { error("Received a packet with version field != 4"); continue; } - if (lastipid != 0 && ip->ip_id == lastipid) { + + struct ip ip; + if (bytes < sizeof(ip)) + continue; + memcpy(&ip, pkt, sizeof(ip)); + + if (lastipid != 0 && ip.ip_id == lastipid) { continue; /* probably a duplicate */ } - lastipid = ip->ip_id; - if (bytes < (4 * ip->ip_hl) + 14U) + lastipid = ip.ip_id; + if (bytes < (4 * ip.ip_hl) + 14U) continue; - if (ip->ip_p == IPPROTO_TCP) { - tcp = ((struct tcp_hdr *) (((char *) ip) + 4 * ip->ip_hl)); + if (ip.ip_p == IPPROTO_TCP) { + struct tcp_hdr tcp; + memcpy(&tcp, pkt + 4 * ip.ip_hl, sizeof(tcp)); /* Checking now for the source port, which we were not able to do in the libpcap filter */ - if (ntohs(tcp->th_sport) != proxy->probe_port) { + if (ntohs(tcp.th_sport) != proxy->probe_port) { continue; } - if (ntohs(tcp->th_dport) < (o.magic_port + 1) || ntohs(tcp->th_dport) - o.magic_port > NUM_IPID_PROBES || ((tcp->th_flags & TH_RST) == 0)) { + if (ntohs(tcp.th_dport) < (o.magic_port + 1) || ntohs(tcp.th_dport) - o.magic_port > NUM_IPID_PROBES || ((tcp.th_flags & TH_RST) == 0)) { if (o.debugging > 1) - error("Received unexpected response packet from %s during initial IP ID zombie testing", inet_ntoa(ip->ip_src)); + error("Received unexpected response packet from %s during initial IP ID zombie testing", inet_ntoa(ip.ip_src)); continue; } @@ -729,17 +726,19 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, of sneaking through the firewall. Plus SYN|ACK is what they will be receiving back from the target */ probes_returned++; - ipids[seq_response_num] = ntohs(ip->ip_id); + ipids[seq_response_num] = ntohs(ip.ip_id); probe_returned[seq_response_num] = 1; adjust_timeouts2(&probe_send_times[seq_response_num], &rcvdtime, &(proxy->host.to)); } } else if (o.af() == AF_INET6) { - if (ip->ip_v != 6) { + if (ip_v != 6) { error("Received a packet with version field != 6"); continue; } else { - ip6 = (struct ip6_hdr *) ip; - newipid = ipv6_get_fragment_id(ip6, bytes); + struct ip6_hdr ip6; + if (bytes < sizeof(ip6)) + continue; + newipid = ipv6_get_fragment_id(pkt, bytes); if (newipid < 0 ) { /* ok, the idle host does not seem to append the extension header for fragmentation. Let's try this once more, * maybe the idle host just adjusted its Path MTU. If we keep on having the problem, we quit */ @@ -755,22 +754,27 @@ static void initialize_idleproxy(struct idle_proxy_info *proxy, char *proxyName, } lastipid = newipid; - ip6data = ipv6_get_data(ip6, &packetlen, &ip6hdr); - if (ip6hdr == IPPROTO_TCP && ip6data != NULL) { - tcp = (struct tcp_hdr *) ip6data; - /* Checking now for the source port, which we were not able to do in the libpcap filter */ - if (ntohs(tcp->th_sport) != proxy->probe_port) { - continue; - } - }else - { + ip6data = ipv6_get_data(pkt, &packetlen, &ip6hdr); + if (ip6data == NULL || ip6hdr != IPPROTO_TCP) { error("Malformed packet received"); continue; } - if (ntohs(tcp->th_dport) < (o.magic_port + 1) || ntohs(tcp->th_dport) - o.magic_port > NUM_IPID_PROBES || ((tcp->th_flags & TH_RST) == 0)) { - if (o.debugging > 1) - error("Received unexpected response packet from %s during initial IP ID zombie testing", inet_ntoa(ip->ip_src)); + struct tcp_hdr tcp; + if (packetlen < sizeof(tcp)) { + continue; + } + memcpy(&tcp, ip6data, sizeof(tcp)); + /* Checking now for the source port, which we were not able to do in the libpcap filter */ + if (ntohs(tcp.th_sport) != proxy->probe_port) { + continue; + } + + if (ntohs(tcp.th_dport) < (o.magic_port + 1) || ntohs(tcp.th_dport) - o.magic_port > NUM_IPID_PROBES || ((tcp.th_flags & TH_RST) == 0)) { + if (o.debugging > 1) { + memcpy(&ip6, pkt, sizeof(ip6)); + error("Received unexpected response packet from %s during initial IP ID zombie testing", ip6_ntoa(&ip6.ip6_src)); + } continue; } @@ -1000,10 +1004,8 @@ static int idlescan_countopen2(struct idle_proxy_info *proxy, if (proxy->rawsd < 0) { if (!setTargetNextHopMAC(target)) fatal("%s: Failed to determine dst MAC address for Idle proxy", __func__); - memcpy(eth.srcmac, target->SrcMACAddress(), 6); - memcpy(eth.dstmac, target->NextHopMACAddress(), 6); eth.ethsd = eth_open_cached(target->deviceName()); - if (eth.ethsd == NULL) + if (eth.ethsd == NULL || target->FillEthNfo(ð, eth.ethsd) == NULL) fatal("%s: Failed to open ethernet device (%s)", __func__, target->deviceName()); } else eth.ethsd = NULL; diff --git a/idle_scan.h b/idle_scan.h index 13138b93e..47fa3c198 100644 --- a/idle_scan.h +++ b/idle_scan.h @@ -9,7 +9,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libdnet-stripped/configure b/libdnet-stripped/configure index c0d6d9ab7..baae3af1b 100755 --- a/libdnet-stripped/configure +++ b/libdnet-stripped/configure @@ -14475,6 +14475,12 @@ if test "x$ac_cv_header_sys_sockio_h" = xyes then : printf "%s\n" "#define HAVE_SYS_SOCKIO_H 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "sys/ioccom.h" "ac_cv_header_sys_ioccom_h" "$ac_includes_default" +if test "x$ac_cv_header_sys_ioccom_h" = xyes +then : + printf "%s\n" "#define HAVE_SYS_IOCCOM_H 1" >>confdefs.h + fi ac_fn_c_check_header_compile "$LINENO" "sys/sysctl.h" "ac_cv_header_sys_sysctl_h" "$ac_includes_default" if test "x$ac_cv_header_sys_sysctl_h" = xyes @@ -14560,6 +14566,12 @@ if test "x$ac_cv_header_netinet_in6_var_h" = xyes then : printf "%s\n" "#define HAVE_NETINET_IN6_VAR_H 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "linux/netlink.h" "ac_cv_header_linux_netlink_h" "$ac_includes_default" +if test "x$ac_cv_header_linux_netlink_h" = xyes +then : + printf "%s\n" "#define HAVE_LINUX_NETLINK_H 1" >>confdefs.h + fi ac_fn_c_check_header_compile "$LINENO" "net/if_tun.h" "ac_cv_header_net_if_tun_h" "$ac_includes_default" if test "x$ac_cv_header_net_if_tun_h" = xyes @@ -14662,6 +14674,7 @@ then : fi fi + ac_fn_c_check_header_compile "$LINENO" "bsd/string.h" "ac_cv_header_bsd_string_h" "$ac_includes_default" if test "x$ac_cv_header_bsd_string_h" = xyes then : @@ -15137,11 +15150,35 @@ printf %s "checking for Berkeley Packet Filter... " >&6; } then : printf %s "(cached) " >&6 else case e in #( - e) if test -c /dev/bpf -o -c /dev/bpf0 ; then - ac_cv_dnet_bsd_bpf=yes - else - ac_cv_dnet_bsd_bpf=no - fi ;; + e) cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +#include +#include +#include +#include +#ifdef HAVE_SYS_IOCCOM_H +#include +#endif +#include +#include + +int +main (void) +{ +u_int i = BIOCSETIF; + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_dnet_bsd_bpf=yes +else case e in #( + e) ac_cv_dnet_bsd_bpf=no ;; +esac +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext ;; esac fi @@ -15158,7 +15195,7 @@ printf %s "checking for Linux proc filesystem... " >&6; } then : printf %s "(cached) " >&6 else case e in #( - e) if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" ; then + e) if test "$ac_cv_header_linux_netlink_h" = yes ; then ac_cv_dnet_linux_procfs=yes else ac_cv_dnet_linux_procfs=no @@ -15182,7 +15219,7 @@ printf %s "checking for Linux PF_PACKET sockets... " >&6; } int main (void) { -int foo() { return ETH_P_ALL; } +int foo = ETH_P_ALL; ; return 0; } @@ -15459,6 +15496,7 @@ else ;; esac + as_fn_error $? "\"Ethernet support not found for this system.\"" "$LINENO" 5 fi case " $LIBOBJS " in @@ -15542,6 +15580,7 @@ else ;; esac + as_fn_error $? "\"Routing interface not found for this system.\"" "$LINENO" 5 fi if test "$ac_cv_dnet_linux_procfs" = yes ; then diff --git a/libdnet-stripped/configure.ac b/libdnet-stripped/configure.ac index 4597c7d21..71151ba0a 100644 --- a/libdnet-stripped/configure.ac +++ b/libdnet-stripped/configure.ac @@ -109,11 +109,11 @@ else AC_CHECK_HEADERS(fcntl.h unistd.h) AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi.h sys/dlpihdr.h sys/dlpi_ext.h \ sys/ioctl.h sys/mib.h sys/ndd_var.h sys/socket.h sys/sockio.h \ - sys/sysctl.h sys/time.h sys/types.h) + sys/ioccom.h sys/sysctl.h sys/time.h sys/types.h) AC_CHECK_HEADERS(net/bpf.h net/if.h net/if_var.h \ net/if_arp.h net/if_dl.h net/pfilt.h \ net/pfvar.h net/radix.h net/raw.h netinet/in_var.h \ - netinet/in6_var.h \ + netinet/in6_var.h linux/netlink.h \ net/if_tun.h linux/if_tun.h netinet/ip_fw.h linux/ip_fw.h \ linux/ip_fwchains.h linux/netfilter_ipv4/ipchains_core.h) AC_CHECK_HEADERS(ip_fil_compat.h netinet/ip_fil_compat.h ip_compat.h \ @@ -127,6 +127,7 @@ AC_INCLUDES_DEFAULT #endif ]) fi + AC_CHECK_HEADERS(bsd/string.h) if test "$ac_cv_header_bsd_string_h" = yes; then STRLCPY_HEADER="bsd/string.h" @@ -201,6 +202,7 @@ elif test "$ac_cv_header_sys_dlpi_h" = yes || \ AC_LIBOBJ([eth-dlpi]) else AC_LIBOBJ([eth-none]) + AC_MSG_ERROR("Ethernet support not found for this system.") fi AC_LIBOBJ([fw-none]) @@ -232,6 +234,7 @@ elif test "$ac_cv_header_hpsecurity_h" = yes ; then AC_LIBOBJ([route-hpux]) else AC_LIBOBJ([route-none]) + AC_MSG_ERROR("Routing interface not found for this system.") fi dnl Check for ndisc interface. diff --git a/libdnet-stripped/include/dnet/addr.h b/libdnet-stripped/include/dnet/addr.h index 40a97c2a1..fdcbd9af3 100644 --- a/libdnet-stripped/include/dnet/addr.h +++ b/libdnet-stripped/include/dnet/addr.h @@ -28,6 +28,7 @@ struct addr { uint16_t __data16[8]; uint32_t __data32[4]; } __addr_u; + uint32_t scope_id; }; #define addr_eth __addr_u.__eth #define addr_ip __addr_u.__ip diff --git a/libdnet-stripped/m4/acinclude.m4 b/libdnet-stripped/m4/acinclude.m4 index ddbec2326..c84674c2b 100644 --- a/libdnet-stripped/m4/acinclude.m4 +++ b/libdnet-stripped/m4/acinclude.m4 @@ -91,14 +91,25 @@ dnl dnl usage: AC_DNET_BSD_BPF dnl results: HAVE_BSD_BPF dnl +dnl Copied from libpcap's configure.ac AC_DEFUN([AC_DNET_BSD_BPF], [AC_MSG_CHECKING(for Berkeley Packet Filter) AC_CACHE_VAL(ac_cv_dnet_bsd_bpf, - if test -c /dev/bpf -o -c /dev/bpf0 ; then - ac_cv_dnet_bsd_bpf=yes - else - ac_cv_dnet_bsd_bpf=no - fi) + AC_TRY_COMPILE( +[ +#include +#include +#include +#include +#ifdef HAVE_SYS_IOCCOM_H +#include +#endif +#include +#include +], + [u_int i = BIOCSETIF;], + ac_cv_dnet_bsd_bpf=yes, + ac_cv_dnet_bsd_bpf=no)) AC_MSG_RESULT($ac_cv_dnet_bsd_bpf) if test $ac_cv_dnet_bsd_bpf = yes ; then AC_DEFINE(HAVE_BSD_BPF, 1, @@ -114,7 +125,7 @@ dnl AC_DEFUN([AC_DNET_LINUX_PROCFS], [AC_MSG_CHECKING(for Linux proc filesystem) AC_CACHE_VAL(ac_cv_dnet_linux_procfs, - if test "x`cat /proc/sys/kernel/ostype 2>&-`" = "xLinux" ; then + if test "$ac_cv_header_linux_netlink_h" = yes ; then ac_cv_dnet_linux_procfs=yes else ac_cv_dnet_linux_procfs=no @@ -138,7 +149,7 @@ AC_DEFUN([AC_DNET_LINUX_PF_PACKET], [AC_MSG_CHECKING(for Linux PF_PACKET sockets) AC_TRY_COMPILE([#include #include ], - [int foo() { return ETH_P_ALL; }], + [int foo = ETH_P_ALL;], ac_cv_dnet_linux_pf_packet=yes, ac_cv_dnet_linux_pf_packet=no) AC_MSG_RESULT($ac_cv_dnet_linux_pf_packet) diff --git a/libdnet-stripped/src/addr.c b/libdnet-stripped/src/addr.c index d5cd06fcd..292df9375 100644 --- a/libdnet-stripped/src/addr.c +++ b/libdnet-stripped/src/addr.c @@ -60,6 +60,8 @@ addr_cmp(const struct addr *a, const struct addr *b) /* XXX */ if ((i = a->addr_type - b->addr_type) != 0) return (i); + if ((i = a->scope_id - b->scope_id) != 0) + return (i); /* XXX - 10.0.0.1 is "smaller" than 10.0.0.0/8? */ if ((i = a->addr_bits - b->addr_bits) != 0) @@ -274,6 +276,7 @@ addr_ntos(const struct addr *a, struct sockaddr *sa) so->sin6.sin6_len = sizeof(so->sin6); #endif so->sin6.sin6_family = AF_INET6; + so->sin6.sin6_scope_id = a->scope_id; memcpy(&so->sin6.sin6_addr, &a->addr_ip6, IP6_ADDR_LEN); break; #endif @@ -336,6 +339,7 @@ addr_ston(const struct sockaddr *sa, struct addr *a) case AF_INET6: a->addr_type = ADDR_TYPE_IP6; a->addr_bits = IP6_ADDR_BITS; + a->scope_id = so->sin6.sin6_scope_id; memcpy(&a->addr_ip6, &so->sin6.sin6_addr, IP6_ADDR_LEN); break; #endif diff --git a/libdnet-stripped/src/arp-bsd.c b/libdnet-stripped/src/arp-bsd.c index 64d271c62..daa65ca4e 100644 --- a/libdnet-stripped/src/arp-bsd.c +++ b/libdnet-stripped/src/arp-bsd.c @@ -35,6 +35,39 @@ #include "dnet.h" +/* NetBSD 10+ removed RTF_LLINFO */ +#ifndef RTF_LLINFO +#define RTF_LLINFO 0 +#endif + +#if defined(RT_ROUNDUP) && defined(__NetBSD__) +/* NetBSD defines this macro rounding to 64-bit boundaries. + http://fxr.watson.org/fxr/ident?v=NETBSD;i=RT_ROUNDUP */ +#define ROUNDUP(a) RT_ROUNDUP(a) +#else +/* Unix Network Programming, 3rd edition says that sockaddr structures in + rt_msghdr should be padded so their addresses start on a multiple of + sizeof(u_long). But on 64-bit Mac OS X 10.6 at least, this is false. Apple's + netstat code uses 4-byte padding, not 8-byte. This is relevant for IPv6 + addresses, for which sa_len == 28. + http://www.opensource.apple.com/source/network_cmds/network_cmds-329.2.2/netstat.tproj/route.c */ +#ifdef __APPLE__ +#define RT_MSGHDR_ALIGNMENT sizeof(uint32_t) +#else +#define RT_MSGHDR_ALIGNMENT sizeof(unsigned long) +#endif +#define ROUNDUP(a) \ + ((a) > 0 ? (1 + (((a) - 1) | (RT_MSGHDR_ALIGNMENT - 1))) : RT_MSGHDR_ALIGNMENT) +#endif + +#ifdef HAVE_SOCKADDR_SA_LEN +#define SA_LEN(s) ((s)->sa_len) +#else +#define SA_LEN(s) (sizeof(*(s))) +#endif +#define NEXTSA(s) \ + ((struct sockaddr *)((u_char *)(s) + ROUNDUP(SA_LEN(s)))) + struct arp_handle { int fd; int seq; @@ -42,7 +75,7 @@ struct arp_handle { struct arpmsg { struct rt_msghdr rtm; - u_char addrs[256]; + u_char addrs[512]; }; arp_t * @@ -106,45 +139,63 @@ arp_msg(arp_t *arp, struct arpmsg *msg) #endif } +static int sockaddr_equal_addr(const struct sockaddr *sa, const struct addr *b) +{ + if (sa->sa_family == AF_INET) { + return (b->addr_type == ADDR_TYPE_IP && + ((struct sockaddr_in *)sa)->sin_addr.s_addr == b->addr_ip); + } + else if (sa->sa_family == AF_INET6) { + return (b->addr_type == ADDR_TYPE_IP6 && + 0 == memcmp( + ((struct sockaddr_in6 *)sa)->sin6_addr.s6_addr, + b->addr_ip6.data, + IP6_ADDR_LEN)); + } + return 0; +} + int arp_add(arp_t *arp, const struct arp_entry *entry) { struct arpmsg msg; - struct sockaddr_in *sin; + struct sockaddr *sin; struct sockaddr *sa; int index, type; - if (entry->arp_pa.addr_type != ADDR_TYPE_IP || + if ((entry->arp_pa.addr_type != ADDR_TYPE_IP && + entry->arp_pa.addr_type != ADDR_TYPE_IP6) || entry->arp_ha.addr_type != ADDR_TYPE_ETH) { errno = EAFNOSUPPORT; return (-1); } - sin = (struct sockaddr_in *)msg.addrs; - sa = (struct sockaddr *)(sin + 1); + sin = (struct sockaddr *)msg.addrs; if (addr_ntos(&entry->arp_pa, (struct sockaddr *)sin) < 0) return (-1); + sa = NEXTSA(sin); memset(&msg.rtm, 0, sizeof(msg.rtm)); msg.rtm.rtm_type = RTM_GET; msg.rtm.rtm_addrs = RTA_DST; - msg.rtm.rtm_msglen = sizeof(msg.rtm) + sizeof(*sin); + msg.rtm.rtm_msglen = sizeof(msg.rtm) + ROUNDUP(SA_LEN(sin)); + msg.rtm.rtm_msglen = ((char *)sin - (char *)&msg) + ROUNDUP(SA_LEN(sin)); if (arp_msg(arp, &msg) < 0) return (-1); if (msg.rtm.rtm_msglen < (int)sizeof(msg.rtm) + - sizeof(*sin) + sizeof(*sa)) { + ROUNDUP(SA_LEN(sin)) + SA_LEN(sa)) { errno = EADDRNOTAVAIL; return (-1); } - if (sin->sin_addr.s_addr == entry->arp_pa.addr_ip) { - if ((msg.rtm.rtm_flags & RTF_LLINFO) == 0 || - (msg.rtm.rtm_flags & RTF_GATEWAY) != 0) { - errno = EADDRINUSE; - return (-1); - } - } + if (sockaddr_equal_addr(sin, &entry->arp_pa)) { + if ((RTF_LLINFO && ((msg.rtm.rtm_flags & RTF_LLINFO) == 0)) || + (msg.rtm.rtm_flags & RTF_GATEWAY) != 0) { + errno = EADDRINUSE; + return (-1); + } + } if (sa->sa_family != AF_LINK) { errno = EADDRNOTAVAIL; return (-1); @@ -164,11 +215,8 @@ arp_add(arp_t *arp, const struct arp_entry *entry) msg.rtm.rtm_addrs = RTA_DST | RTA_GATEWAY; msg.rtm.rtm_inits = RTV_EXPIRE; msg.rtm.rtm_flags = RTF_HOST | RTF_STATIC; -#ifdef HAVE_SOCKADDR_SA_LEN - msg.rtm.rtm_msglen = sizeof(msg.rtm) + sin->sin_len + sa->sa_len; -#else - msg.rtm.rtm_msglen = sizeof(msg.rtm) + sizeof(*sin) + sizeof(*sa); -#endif + msg.rtm.rtm_msglen = sizeof(msg.rtm) + ROUNDUP(SA_LEN(sin)) + ROUNDUP(SA_LEN(sa)); + return (arp_msg(arp, &msg)); } @@ -176,33 +224,34 @@ int arp_delete(arp_t *arp, const struct arp_entry *entry) { struct arpmsg msg; - struct sockaddr_in *sin; + struct sockaddr *sin; struct sockaddr *sa; - if (entry->arp_pa.addr_type != ADDR_TYPE_IP) { + if (entry->arp_pa.addr_type != ADDR_TYPE_IP && + entry->arp_pa.addr_type != ADDR_TYPE_IP6) { errno = EAFNOSUPPORT; return (-1); } - sin = (struct sockaddr_in *)msg.addrs; - sa = (struct sockaddr *)(sin + 1); + sin = (struct sockaddr *)msg.addrs; if (addr_ntos(&entry->arp_pa, (struct sockaddr *)sin) < 0) return (-1); + sa = NEXTSA(sin); memset(&msg.rtm, 0, sizeof(msg.rtm)); msg.rtm.rtm_type = RTM_GET; msg.rtm.rtm_addrs = RTA_DST; - msg.rtm.rtm_msglen = sizeof(msg.rtm) + sizeof(*sin); + msg.rtm.rtm_msglen = sizeof(msg.rtm) + ROUNDUP(SA_LEN(sin)); if (arp_msg(arp, &msg) < 0) return (-1); if (msg.rtm.rtm_msglen < (int)sizeof(msg.rtm) + - sizeof(*sin) + sizeof(*sa)) { + ROUNDUP(SA_LEN(sin)) + SA_LEN(sa)) { errno = ESRCH; return (-1); } - if (sin->sin_addr.s_addr == entry->arp_pa.addr_ip) { + if (sockaddr_equal_addr(sin, &entry->arp_pa)) { if ((msg.rtm.rtm_flags & RTF_LLINFO) == 0 || (msg.rtm.rtm_flags & RTF_GATEWAY) != 0) { errno = EADDRINUSE; @@ -222,31 +271,31 @@ int arp_get(arp_t *arp, struct arp_entry *entry) { struct arpmsg msg; - struct sockaddr_in *sin; + struct sockaddr *sin; struct sockaddr *sa; - if (entry->arp_pa.addr_type != ADDR_TYPE_IP) { + if (entry->arp_pa.addr_type != ADDR_TYPE_IP && + entry->arp_pa.addr_type != ADDR_TYPE_IP6) { errno = EAFNOSUPPORT; return (-1); } - sin = (struct sockaddr_in *)msg.addrs; - sa = (struct sockaddr *)(sin + 1); + sin = (struct sockaddr *)msg.addrs; if (addr_ntos(&entry->arp_pa, (struct sockaddr *)sin) < 0) return (-1); - + + sa = NEXTSA(sin); memset(&msg.rtm, 0, sizeof(msg.rtm)); msg.rtm.rtm_type = RTM_GET; msg.rtm.rtm_addrs = RTA_DST; msg.rtm.rtm_flags = RTF_LLINFO; - msg.rtm.rtm_msglen = sizeof(msg.rtm) + sizeof(*sin); + msg.rtm.rtm_msglen = sizeof(msg.rtm) + ROUNDUP(SA_LEN(sin)); if (arp_msg(arp, &msg) < 0) return (-1); if (msg.rtm.rtm_msglen < (int)sizeof(msg.rtm) + - sizeof(*sin) + sizeof(*sa) || - sin->sin_addr.s_addr != entry->arp_pa.addr_ip || + ROUNDUP(SA_LEN(sin)) + SA_LEN(sa) || sa->sa_family != AF_LINK) { errno = ESRCH; return (-1); @@ -263,7 +312,7 @@ arp_loop(arp_t *arp, arp_handler callback, void *arg) { struct arp_entry entry; struct rt_msghdr *rtm; - struct sockaddr_in *sin; + struct sockaddr *sin; struct sockaddr *sa; char *buf, *lim, *next; size_t len; @@ -288,8 +337,8 @@ arp_loop(arp_t *arp, arp_handler callback, void *arg) for (next = buf; next < lim; next += rtm->rtm_msglen) { rtm = (struct rt_msghdr *)next; - sin = (struct sockaddr_in *)(rtm + 1); - sa = (struct sockaddr *)(sin + 1); + sin = (struct sockaddr *)(rtm + 1); + sa = NEXTSA(sin); if (addr_ston((struct sockaddr *)sin, &entry.arp_pa) < 0 || addr_ston(sa, &entry.arp_ha) < 0) diff --git a/libdnet-stripped/src/intf.c b/libdnet-stripped/src/intf.c index f50630558..5d8e25df9 100644 --- a/libdnet-stripped/src/intf.c +++ b/libdnet-stripped/src/intf.c @@ -177,9 +177,14 @@ intf_open(void) #if defined(SIOCGLIFCONF) || defined(SIOCGIFNETMASK_IN6) || defined(SIOCGIFNETMASK6) if ((intf->fd6 = socket(AF_INET6, SOCK_DGRAM, 0)) < 0) { + if (1 # ifdef EPROTONOSUPPORT - if (errno != EPROTONOSUPPORT) + && errno != EPROTONOSUPPORT #endif +# ifdef EAFNOSUPPORT + && errno != EAFNOSUPPORT +#endif + ) return (intf_close(intf)); } #endif @@ -904,7 +909,7 @@ intf_get_src(intf_t *intf, struct intf_entry *entry, struct addr *src) int intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst) { - union sockunion sun; + union sockunion su; socklen_t n; int fd; @@ -913,19 +918,19 @@ intf_get_dst(intf_t *intf, struct intf_entry *entry, struct addr *dst) errno = EINVAL; return (-1); } - addr_ntos(dst, (struct sockaddr *)&sun); - sun.sin.sin_port = htons(666); + addr_ntos(dst, (struct sockaddr *)&su); + su.sin.sin_port = htons(666); fd = dst->addr_type == ADDR_TYPE_IP6 ? intf->fd6 : intf->fd; - if (connect(fd, (struct sockaddr *)&sun, sizeof(sun)) < 0) + if (connect(fd, (struct sockaddr *)&su, sizeof(su)) < 0) return (-1); - - n = sizeof(sun); - if (getsockname(fd, (struct sockaddr *)&sun, &n) < 0) + + n = sizeof(su); + if (getsockname(fd, (struct sockaddr *)&su, &n) < 0) return (-1); - - addr_ston((struct sockaddr *)&sun, &entry->intf_addr); - + + addr_ston((struct sockaddr *)&su, &entry->intf_addr); + if (intf_loop(intf, _match_intf_src, entry) != 1) return (-1); diff --git a/liblinear/Makefile b/liblinear/Makefile index 065571e85..78f636bb8 100644 --- a/liblinear/Makefile +++ b/liblinear/Makefile @@ -3,7 +3,7 @@ CC ?= gcc CFLAGS = -Wall -Wconversion -O3 -fPIC LIBS = blas/blas.a #LIBS = -lblas -SHVER = 5 +SHVER = 6 AR = ar RANLIB = ranlib OS = $(shell uname) @@ -35,9 +35,8 @@ linear.o: linear.cpp linear.h $(CXX) $(CFLAGS) -c -o linear.o linear.cpp blas/blas.a: blas/*.c blas/*.h - make -C blas OPTFLAGS='$(CFLAGS)' CC='$(CC)'; + $(MAKE) -C blas OPTFLAGS='$(CFLAGS)' CC='$(CC)'; clean: - make -C blas clean - make -C matlab clean + $(MAKE) -C blas clean rm -f *~ newton.o linear.o train predict liblinear.so.$(SHVER) diff --git a/liblinear/README b/liblinear/README index 0c4338542..a70819999 100644 --- a/liblinear/README +++ b/liblinear/README @@ -81,8 +81,7 @@ On Unix systems, type `make' to build the `train', `predict', and `svm-scale' programs. Run them without arguments to show the usages. On other systems, consult `Makefile' to build them (e.g., see -'Building Windows binaries' in this file) or use the pre-built -binaries (Windows binaries are in the directory `windows'). +'Building Windows binaries' in this file). This software uses some level-1 BLAS subroutines. The needed functions are included in this package. If a BLAS library is available on your @@ -398,6 +397,8 @@ in linear.h, so you can check the version number. double* weight; double p; double *init_sol; + int regularize_bias; + bool w_recalc; /* for -s 1, 3; may be extended to -s 12, 13, 21 */ }; solver_type can be one of L2R_LR, L2R_L2LOSS_SVC_DUAL, L2R_L2LOSS_SVC, L2R_L1LOSS_SVC_DUAL, MCSVM_CS, L1R_L2LOSS_SVC, L1R_LR, L2R_LR_DUAL, L2R_L2LOSS_SVR, L2R_L2LOSS_SVR_DUAL, L2R_L1LOSS_SVR_DUAL, ONECLASS_SVM. @@ -438,6 +439,16 @@ in linear.h, so you can check the version number. solvers). See the explanation of the vector w in the model structure. + regularize_bias is the flag for bias regularization. By default it is set + to be 1. If you don't want to regularize the bias, set it to 0 with + specifying the bias in the problem structure to be 1. (DON'T use it unless + you know what it is.) + + w_recalc is the flag for recalculating w after optimization + with a dual-based solver. This may further reduces the weight density + when the data is sparse. The default value is set as false for time + efficiency. Currently it only takes effect in -s 1 and 3. + *NOTE* To avoid wrong parameters, check_parameter() should be called before train(). @@ -643,11 +654,32 @@ in linear.h, so you can check the version number. set_print_string_function(NULL); for default printing to stdout. + Please note that this function is not thread-safe. When multiple threads load or + use the same dynamic library (for example, liblinear.so.6), they actually share the + same memory space of the dynamic library, which results in all threads modifying + the same static function pointer, liblinear_print_string, in linear.cpp when they + call this function. + + For example, suppose we have threads A and B. They call this function sequentially + and pass their own thread-local print_func into it. After that, they both call (*liblinear_print_string)(str) + once. When the last thread finishes setting it (say B), liblinear_print_string + is set to B.print_func. Now, if thread A wants to access liblinear_print_string, + it is actually accessing B.print_func rather than A.print_func, which is incorrect + since we expect to use the functionality of A.print_func. + + Even if A.print_func and B.print_func have identical functionality, it is still risky. + Suppose liblinear_print_string is now set to B.print_func, and B deletes B.print_func + after finishing its work. Later, thread A calls liblinear_print_string, but the address + points to, which is B.print_func, has already been deleted. This invalid memory access + will crash the program. To mitigate this issue, in this example, you should ensure that + A.print_func and B.print_func remain valid after threads finish their work. For example, + in Python, you can assign them as global variables. + Building Windows Binaries ========================= -Windows binaries are available in the directory `windows'. To re-build -them via Visual C++, use the following steps: +Starting from version 2.48, we no longer provide pre-built Windows binaries, +to build them via Visual C++, use the following steps: 1. Open a dos command box and change to liblinear directory. If environment variables of VC++ have not been set, type diff --git a/liblinear/linear.cpp b/liblinear/linear.cpp index 70b79270a..2b67b02a1 100644 --- a/liblinear/linear.cpp +++ b/liblinear/linear.cpp @@ -1064,6 +1064,21 @@ static int solve_l2r_l1l2_svc(const problem *prob, const parameter *param, doubl info("Objective value = %lf\n",v/2); info("nSV = %d\n",nSV); + // Reconstruct w from the primal-dual relationship w=sum(\alpha_i y_i x_i) + // This may reduce the weight density. Some zero weights become non-zeros + // due to the numerical update w <- w + (alpha[i] - alpha_old) y_i x_i. + if (param->w_recalc) + { + for(i=0; ix[i]; + if(alpha[i] > 0) + sparse_operator::axpy(y[i]*alpha[i], xi, w); + } + } + delete [] QD; delete [] alpha; delete [] y; @@ -2194,11 +2209,14 @@ static int partition(feature_node *nodes, int low, int high) return index; } -// rearrange nodes so that nodes[:k] contains nodes with the k smallest values. +// rearrange nodes so that +// nodes[i] <= nodes[k] for all i < k +// nodes[k] <= nodes[j] for all j > k +// low and high are the bounds of the index range during the rearranging process static void quick_select_min_k(feature_node *nodes, int low, int high, int k) { int pivot; - if(low == high) + if(low == high || high < k) return; pivot = partition(nodes, low, high); if(pivot == k) @@ -3718,6 +3736,11 @@ const char *check_parameter(const problem *prob, const parameter *param) && param->solver_type != L2R_L2LOSS_SVR) return "Initial-solution specification supported only for solvers L2R_LR, L2R_L2LOSS_SVC, and L2R_L2LOSS_SVR"; + if(param->w_recalc == true + && param->solver_type != L2R_L2LOSS_SVC_DUAL + && param->solver_type != L2R_L1LOSS_SVC_DUAL) + return "Recalculating w in the end is only for dual solvers for L2-regularized L1/L2-loss SVM"; + return NULL; } diff --git a/liblinear/linear.h b/liblinear/linear.h index 966ac4c55..513db5560 100644 --- a/liblinear/linear.h +++ b/liblinear/linear.h @@ -1,7 +1,8 @@ +#include #ifndef _LIBLINEAR_H #define _LIBLINEAR_H -#define LIBLINEAR_VERSION 247 +#define LIBLINEAR_VERSION 250 #ifdef __cplusplus extern "C" { @@ -39,6 +40,7 @@ struct parameter double nu; double *init_sol; int regularize_bias; + bool w_recalc; /* for -s 1, 3; may be extended to -s 12, 13, 21 */ }; struct model diff --git a/liblinear/train.c b/liblinear/train.c index 7923a8d31..70d5ad69e 100644 --- a/liblinear/train.c +++ b/liblinear/train.c @@ -224,6 +224,7 @@ void parse_command_line(int argc, char **argv, char *input_file_name, char *mode param.weight_label = NULL; param.weight = NULL; param.init_sol = NULL; + param.w_recalc = false; flag_cross_validation = 0; flag_C_specified = 0; flag_p_specified = 0; diff --git a/libnetutil/ARPHeader.cc b/libnetutil/ARPHeader.cc index f9f345d80..09e989972 100644 --- a/libnetutil/ARPHeader.cc +++ b/libnetutil/ARPHeader.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ARPHeader.h b/libnetutil/ARPHeader.h index 9307b9ec5..90b9681cc 100644 --- a/libnetutil/ARPHeader.h +++ b/libnetutil/ARPHeader.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ApplicationLayerElement.h b/libnetutil/ApplicationLayerElement.h index 7f9d395a3..e388c8244 100644 --- a/libnetutil/ApplicationLayerElement.h +++ b/libnetutil/ApplicationLayerElement.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/DataLinkLayerElement.h b/libnetutil/DataLinkLayerElement.h index ed95ecf10..884774c00 100644 --- a/libnetutil/DataLinkLayerElement.h +++ b/libnetutil/DataLinkLayerElement.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/DestOptsHeader.cc b/libnetutil/DestOptsHeader.cc index 40f7bb637..16a2ff088 100644 --- a/libnetutil/DestOptsHeader.cc +++ b/libnetutil/DestOptsHeader.cc @@ -3,7 +3,7 @@ * Destination Options extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/DestOptsHeader.h b/libnetutil/DestOptsHeader.h index 1310d4423..66e14fe26 100644 --- a/libnetutil/DestOptsHeader.h +++ b/libnetutil/DestOptsHeader.h @@ -3,7 +3,7 @@ * Destination Options extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/EthernetHeader.cc b/libnetutil/EthernetHeader.cc index 6ebf679eb..4dcda66cb 100644 --- a/libnetutil/EthernetHeader.cc +++ b/libnetutil/EthernetHeader.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/EthernetHeader.h b/libnetutil/EthernetHeader.h index b7cdd50fe..6ad293475 100644 --- a/libnetutil/EthernetHeader.h +++ b/libnetutil/EthernetHeader.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/FragmentHeader.cc b/libnetutil/FragmentHeader.cc index 139ef0b3b..cfc2f83ce 100644 --- a/libnetutil/FragmentHeader.cc +++ b/libnetutil/FragmentHeader.cc @@ -3,7 +3,7 @@ * Hop-by-Hop extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/FragmentHeader.h b/libnetutil/FragmentHeader.h index 2bf5fc9ee..67c0f8a54 100644 --- a/libnetutil/FragmentHeader.h +++ b/libnetutil/FragmentHeader.h @@ -3,7 +3,7 @@ * Hop-by-Hop extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/HopByHopHeader.cc b/libnetutil/HopByHopHeader.cc index 211bdbe7a..974490f45 100644 --- a/libnetutil/HopByHopHeader.cc +++ b/libnetutil/HopByHopHeader.cc @@ -3,7 +3,7 @@ * Hop-by-Hop extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/HopByHopHeader.h b/libnetutil/HopByHopHeader.h index 9bf3f23a7..183c40b95 100644 --- a/libnetutil/HopByHopHeader.h +++ b/libnetutil/HopByHopHeader.h @@ -3,7 +3,7 @@ * Hop-by-Hop extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPHeader.h b/libnetutil/ICMPHeader.h index 97fb2c849..fd2ced558 100644 --- a/libnetutil/ICMPHeader.h +++ b/libnetutil/ICMPHeader.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv4Header.cc b/libnetutil/ICMPv4Header.cc index b66fbec48..384cd4618 100644 --- a/libnetutil/ICMPv4Header.cc +++ b/libnetutil/ICMPv4Header.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv4Header.h b/libnetutil/ICMPv4Header.h index 389e3d71e..3158fe36a 100644 --- a/libnetutil/ICMPv4Header.h +++ b/libnetutil/ICMPv4Header.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6Header.cc b/libnetutil/ICMPv6Header.cc index e31fceedf..71525501d 100644 --- a/libnetutil/ICMPv6Header.cc +++ b/libnetutil/ICMPv6Header.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6Header.h b/libnetutil/ICMPv6Header.h index 476a32053..e4f5a3d8f 100644 --- a/libnetutil/ICMPv6Header.h +++ b/libnetutil/ICMPv6Header.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6Option.cc b/libnetutil/ICMPv6Option.cc index c09170bf4..a7a395be0 100644 --- a/libnetutil/ICMPv6Option.cc +++ b/libnetutil/ICMPv6Option.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6Option.h b/libnetutil/ICMPv6Option.h index db2146a60..3ad9a5b26 100644 --- a/libnetutil/ICMPv6Option.h +++ b/libnetutil/ICMPv6Option.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6RRBody.cc b/libnetutil/ICMPv6RRBody.cc index 1e354d6f2..ff1ba2523 100644 --- a/libnetutil/ICMPv6RRBody.cc +++ b/libnetutil/ICMPv6RRBody.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/ICMPv6RRBody.h b/libnetutil/ICMPv6RRBody.h index 151a66f40..bed4a1c3c 100644 --- a/libnetutil/ICMPv6RRBody.h +++ b/libnetutil/ICMPv6RRBody.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/IPv4Header.cc b/libnetutil/IPv4Header.cc index 511911277..292232029 100644 --- a/libnetutil/IPv4Header.cc +++ b/libnetutil/IPv4Header.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/IPv4Header.h b/libnetutil/IPv4Header.h index e6b9bb3a7..f4f31b705 100644 --- a/libnetutil/IPv4Header.h +++ b/libnetutil/IPv4Header.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/IPv6ExtensionHeader.h b/libnetutil/IPv6ExtensionHeader.h index 354f8eb1e..8159237d2 100644 --- a/libnetutil/IPv6ExtensionHeader.h +++ b/libnetutil/IPv6ExtensionHeader.h @@ -4,7 +4,7 @@ * Hop-by-Hop or Routing) inherit from this class. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/IPv6Header.cc b/libnetutil/IPv6Header.cc index 2ffa346ea..d4a4e1de8 100644 --- a/libnetutil/IPv6Header.cc +++ b/libnetutil/IPv6Header.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/IPv6Header.h b/libnetutil/IPv6Header.h index 80faa0fb5..cca50e178 100644 --- a/libnetutil/IPv6Header.h +++ b/libnetutil/IPv6Header.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/NetworkLayerElement.cc b/libnetutil/NetworkLayerElement.cc index 568ea33bf..b1b9a1e8b 100644 --- a/libnetutil/NetworkLayerElement.cc +++ b/libnetutil/NetworkLayerElement.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/NetworkLayerElement.h b/libnetutil/NetworkLayerElement.h index 692b5a118..eccc8dcab 100644 --- a/libnetutil/NetworkLayerElement.h +++ b/libnetutil/NetworkLayerElement.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/PacketElement.cc b/libnetutil/PacketElement.cc index fa938152e..f47c5adf3 100644 --- a/libnetutil/PacketElement.cc +++ b/libnetutil/PacketElement.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/PacketElement.h b/libnetutil/PacketElement.h index db07d25ae..d6ec0219a 100644 --- a/libnetutil/PacketElement.h +++ b/libnetutil/PacketElement.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/PacketParser.cc b/libnetutil/PacketParser.cc index a38001ba1..dab015a71 100644 --- a/libnetutil/PacketParser.cc +++ b/libnetutil/PacketParser.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -1126,24 +1126,28 @@ bool PacketParser::is_response(PacketElement *sent, PacketElement *rcvd){ /* So far we've verified that the ICMP error contains an IP datagram that matches * what we sent. Now, let's find the upper layer ICMP header (skip extension * headers until we find ICMP) */ - ICMPHeader *inner_icmp=(ICMPHeader *)iperror->getNextElement(); - while(inner_icmp!=NULL){ - if(inner_icmp->protocol_id()==HEADER_TYPE_ICMPv4 || inner_icmp->protocol_id()==HEADER_TYPE_ICMPv6 ){ + + iperror = dynamic_cast(iperror->getNextElement()); + while(iperror!=NULL){ + if(iperror->protocol_id()==HEADER_TYPE_ICMPv4 || iperror->protocol_id()==HEADER_TYPE_ICMPv6 ){ break; }else{ - inner_icmp=(ICMPHeader *)inner_icmp->getNextElement(); + iperror = dynamic_cast(iperror->getNextElement()); } } - if(inner_icmp==NULL) + if(iperror==NULL) return false; /* If we get here it means that we've found an ICMP header inside the * ICMP error message that we received. First of all, check that the * ICMP version matches what we sent. */ - if(sent_layer4->protocol_id() != inner_icmp->protocol_id()) + if(sent_layer4->protocol_id() != iperror->protocol_id()) return false; /* Make sure ICMP type and code match */ + ICMPHeader *inner_icmp = dynamic_cast(iperror); + if (inner_icmp == NULL) + return false; if( ((ICMPHeader*)sent_layer4)->getType() != inner_icmp->getType() ) return false; if( ((ICMPHeader*)sent_layer4)->getCode() != inner_icmp->getCode() ) @@ -1706,18 +1710,21 @@ bool PacketParser::is_response(PacketElement *sent, PacketElement *rcvd){ /* So far we've verified that the ICMP error contains an IP datagram that matches * what we sent. Now, let's find the upper layer protocol (skip extension * headers and the like until we find some transport protocol). */ - TransportLayerElement *layer4error=(TransportLayerElement *)iperror->getNextElement(); - while(layer4error!=NULL){ - if(layer4error->protocol_id()==HEADER_TYPE_UDP || layer4error->protocol_id()==HEADER_TYPE_TCP ){ + iperror = dynamic_cast(iperror->getNextElement()); + while(iperror!=NULL){ + if(iperror->protocol_id()==HEADER_TYPE_UDP || iperror->protocol_id()==HEADER_TYPE_TCP ){ break; }else{ - layer4error=(TransportLayerElement *)layer4error->getNextElement(); + iperror = dynamic_cast(iperror->getNextElement()); } } - if(layer4error==NULL) + if(iperror==NULL) return false; /* Now make sure we see the same port numbers */ + TransportLayerElement *layer4error = dynamic_cast(iperror); + if (layer4error == NULL) + return false; if( layer4error->getSourcePort() != ((TransportLayerElement *)sent_layer4)->getSourcePort() ) return false; if( layer4error->getDestinationPort() != ((TransportLayerElement *)sent_layer4)->getDestinationPort() ) diff --git a/libnetutil/PacketParser.h b/libnetutil/PacketParser.h index 41fd577a8..004294d9e 100644 --- a/libnetutil/PacketParser.h +++ b/libnetutil/PacketParser.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/RawData.cc b/libnetutil/RawData.cc index a5784595f..333a5388a 100644 --- a/libnetutil/RawData.cc +++ b/libnetutil/RawData.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/RawData.h b/libnetutil/RawData.h index 4f902ea2a..6e0dcb594 100644 --- a/libnetutil/RawData.h +++ b/libnetutil/RawData.h @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/RoutingHeader.cc b/libnetutil/RoutingHeader.cc index fd5b61d1d..4c87c3e19 100644 --- a/libnetutil/RoutingHeader.cc +++ b/libnetutil/RoutingHeader.cc @@ -3,7 +3,7 @@ * extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/RoutingHeader.h b/libnetutil/RoutingHeader.h index 422bbdb8a..b507ad5e9 100644 --- a/libnetutil/RoutingHeader.h +++ b/libnetutil/RoutingHeader.h @@ -3,7 +3,7 @@ * extension header. * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/TCPHeader.cc b/libnetutil/TCPHeader.cc index 489ac2d09..c1946b345 100644 --- a/libnetutil/TCPHeader.cc +++ b/libnetutil/TCPHeader.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/TCPHeader.h b/libnetutil/TCPHeader.h index 12babd6c0..54002dd71 100644 --- a/libnetutil/TCPHeader.h +++ b/libnetutil/TCPHeader.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/TransportLayerElement.cc b/libnetutil/TransportLayerElement.cc index 459b49284..394b150c9 100644 --- a/libnetutil/TransportLayerElement.cc +++ b/libnetutil/TransportLayerElement.cc @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/TransportLayerElement.h b/libnetutil/TransportLayerElement.h index 5ef2a4bf7..561358369 100644 --- a/libnetutil/TransportLayerElement.h +++ b/libnetutil/TransportLayerElement.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/UDPHeader.cc b/libnetutil/UDPHeader.cc index 5394a5347..35e2962e4 100644 --- a/libnetutil/UDPHeader.cc +++ b/libnetutil/UDPHeader.cc @@ -6,7 +6,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/UDPHeader.h b/libnetutil/UDPHeader.h index dc889c82a..b0a0ee8f7 100644 --- a/libnetutil/UDPHeader.h +++ b/libnetutil/UDPHeader.h @@ -5,7 +5,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libnetutil/netutil.cc b/libnetutil/netutil.cc index 830bf4c92..46c80b7e0 100644 --- a/libnetutil/netutil.cc +++ b/libnetutil/netutil.cc @@ -3,7 +3,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -548,7 +548,7 @@ int mac_cache_set(const struct sockaddr_storage *ss, u8 *mac){ } /* Standard BSD internet checksum routine. Uses libdnet helper functions. */ -unsigned short in_cksum(u16 *ptr,int nbytes) { +unsigned short in_cksum(const u16 *ptr,int nbytes) { int sum; sum = ip_cksum_add(ptr, nbytes, 0); @@ -558,6 +558,9 @@ unsigned short in_cksum(u16 *ptr,int nbytes) { return 0; } +const u8 *ipv4_get_data(const struct ip *ip, const u8 *p, unsigned int *len); +const u8 *ipv6_get_data(const struct ip6_hdr *ip6, const u8 *p, unsigned int *len, u8 *nxt); +const u8 *ipv6_get_data_any(const struct ip6_hdr *ip6, const u8 *p, unsigned int *len, u8 *nxt); /* Return true iff this Next Header type is an extension header we must skip to get to the upper-layer header. Types for which neither this function nor @@ -601,15 +604,15 @@ static int ipv6_is_upperlayer(u8 type) /* upperlayer_only controls whether we require a known upper-layer protocol at the end of the chain, or return the last readable header even if it is not an upper-layer protocol (may even be another extension header). */ -static const void *ipv6_get_data_primitive(const struct ip6_hdr *ip6, +static const u8 *ipv6_get_data_primitive(const struct ip6_hdr *ip6, const u8 *packet, unsigned int *len, u8 *nxt, bool upperlayer_only) { - const unsigned char *p, *end; + const u8 *p, *end; if (*len < sizeof(*ip6)) return NULL; - p = (unsigned char *) ip6; + p = packet; end = p + *len; *nxt = ip6->ip6_nxt; @@ -625,15 +628,19 @@ static const void *ipv6_get_data_primitive(const struct ip6_hdr *ip6, if (upperlayer_only && !ipv6_is_upperlayer(*nxt)) return NULL; - return (char *) p; + return p; } -static const void *ip_get_data_primitive(const void *packet, unsigned int *len, +static const u8 *ip_get_data_primitive(const u8 *packet, unsigned int *len, struct abstract_ip_hdr *hdr, bool upperlayer_only) { - const struct ip *ip; + if (*len < 20) + return NULL; - ip = (struct ip *) packet; - if (*len >= 20 && ip->ip_v == 4) { + u8 ip_v = packet[0] >> 4; + + if (ip_v == 4) { + struct ip ip; + memcpy(&ip, packet, sizeof(ip)); struct sockaddr_in *sin; hdr->version = 4; @@ -641,19 +648,20 @@ static const void *ip_get_data_primitive(const void *packet, unsigned int *len, sin = (struct sockaddr_in *) &hdr->src; memset(&hdr->src, 0, sizeof(hdr->src)); sin->sin_family = AF_INET; - sin->sin_addr.s_addr = ip->ip_src.s_addr; + sin->sin_addr.s_addr = ip.ip_src.s_addr; sin = (struct sockaddr_in *) &hdr->dst; memset(&hdr->dst, 0, sizeof(hdr->dst)); sin->sin_family = AF_INET; - sin->sin_addr.s_addr = ip->ip_dst.s_addr; + sin->sin_addr.s_addr = ip.ip_dst.s_addr; - hdr->proto = ip->ip_p; - hdr->ttl = ip->ip_ttl; - hdr->ipid = ntohs(ip->ip_id); - return ipv4_get_data(ip, len); - } else if (*len >= 40 && ip->ip_v == 6) { - const struct ip6_hdr *ip6 = (struct ip6_hdr *) ip; + hdr->proto = ip.ip_p; + hdr->ttl = ip.ip_ttl; + hdr->ipid = ntohs(ip.ip_id); + return ipv4_get_data(&ip, packet, len); + } else if (*len >= 40 && ip_v == 6) { + struct ip6_hdr ip6; + memcpy(&ip6, packet, sizeof(ip6)); struct sockaddr_in6 *sin6; hdr->version = 6; @@ -661,16 +669,16 @@ static const void *ip_get_data_primitive(const void *packet, unsigned int *len, sin6 = (struct sockaddr_in6 *) &hdr->src; memset(&hdr->src, 0, sizeof(hdr->src)); sin6->sin6_family = AF_INET6; - memcpy(&sin6->sin6_addr, &ip6->ip6_src, IP6_ADDR_LEN); + memcpy(&sin6->sin6_addr, &ip6.ip6_src, IP6_ADDR_LEN); sin6 = (struct sockaddr_in6 *) &hdr->dst; memset(&hdr->dst, 0, sizeof(hdr->dst)); sin6->sin6_family = AF_INET6; - memcpy(&sin6->sin6_addr, &ip6->ip6_dst, IP6_ADDR_LEN); + memcpy(&sin6->sin6_addr, &ip6.ip6_dst, IP6_ADDR_LEN); - hdr->ttl = ip6->ip6_hlim; - hdr->ipid = ntohl(ip6->ip6_flow & IP6_FLOWLABEL_MASK); - return ipv6_get_data_primitive(ip6, len, &hdr->proto, upperlayer_only); + hdr->ttl = ip6.ip6_hlim; + hdr->ipid = ntohl(ip6.ip6_flow & IP6_FLOWLABEL_MASK); + return ipv6_get_data_primitive(&ip6, packet, len, &hdr->proto, upperlayer_only); } return NULL; @@ -680,7 +688,7 @@ static const void *ip_get_data_primitive(const void *packet, unsigned int *len, Returns the beginning of the payload, updates *len to be the length of the payload, and fills in hdr if successful. Otherwise returns NULL and *hdr is undefined. */ -const void *ip_get_data(const void *packet, unsigned int *len, +const u8 *ip_get_data(const u8 *packet, unsigned int *len, struct abstract_ip_hdr *hdr) { return ip_get_data_primitive(packet, len, hdr, true); } @@ -688,13 +696,13 @@ const void *ip_get_data(const void *packet, unsigned int *len, /* As ip_get_data, except that it doesn't insist that the payload be a known upper-layer protocol. This can matter in IPv6 where the last element of a nh chain may be a protocol we don't know about. */ -const void *ip_get_data_any(const void *packet, unsigned int *len, +const u8 *ip_get_data_any(const u8 *packet, unsigned int *len, struct abstract_ip_hdr *hdr) { return ip_get_data_primitive(packet, len, hdr, false); } /* Get the upper-layer protocol from an IPv4 packet. */ -const void *ipv4_get_data(const struct ip *ip, unsigned int *len) +const u8 *ipv4_get_data(const struct ip *ip, const u8 *p, unsigned int *len) { unsigned int header_len; @@ -707,53 +715,88 @@ const void *ipv4_get_data(const struct ip *ip, unsigned int *len) return NULL; *len -= header_len; - return (char *) ip + header_len; + return p + header_len; +} + +const u8 *ipv4_get_data(const u8 *p, unsigned int *len) +{ + struct ip ip; + if (*len < sizeof(ip)) + return NULL; + memcpy(&ip, p, sizeof(ip)); + return ipv4_get_data(&ip, p, len); } /* Get the upper-layer protocol from an IPv6 packet. This skips over known extension headers. The length of the upper-layer payload is stored in *len. The protocol is stored in *nxt. Returns NULL in case of error. */ -const void *ipv6_get_data(const struct ip6_hdr *ip6, unsigned int *len, u8 *nxt) +const u8 *ipv6_get_data(const struct ip6_hdr *ip6, const u8 *p, unsigned int *len, u8 *nxt) { - return ipv6_get_data_primitive(ip6, len, nxt, true); + return ipv6_get_data_primitive(ip6, p, len, nxt, true); +} + +const u8 *ipv6_get_data(const u8 *p, unsigned int *len, u8 *nxt) +{ + struct ip6_hdr ip6; + if (*len < sizeof(ip6)) + return NULL; + memcpy(&ip6, p, sizeof(ip6)); + return ipv6_get_data(&ip6, p, len, nxt); } /* Get the protocol payload from an IPv6 packet. This skips over known extension headers. It differs from ipv6_get_data in that it will return a result even if the final header is not a known upper-layer protocol. */ -const void *ipv6_get_data_any(const struct ip6_hdr *ip6, unsigned int *len, u8 *nxt) +const u8 *ipv6_get_data_any(const struct ip6_hdr *ip6, const u8 *p, unsigned int *len, u8 *nxt) { - return ipv6_get_data_primitive(ip6, len, nxt, false); + return ipv6_get_data_primitive(ip6, p, len, nxt, false); } -const void *icmp_get_data(const struct icmp_hdr *icmp, unsigned int *len) +const u8 *ipv6_get_data_any(const u8 *p, unsigned int *len, u8 *nxt) +{ + struct ip6_hdr ip6; + if (*len < sizeof(ip6)) + return NULL; + memcpy(&ip6, p, sizeof(ip6)); + return ipv6_get_data_any(&ip6, p, len, nxt); +} + +const u8 *icmp_get_data(const u8 *icmp, unsigned int *len) { unsigned int header_len; + struct icmp_hdr hdr; + if (*len < sizeof(hdr)) + return NULL; + memcpy(&hdr, icmp, sizeof(hdr)); - if (icmp->icmp_type == ICMP_TIMEXCEED || icmp->icmp_type == ICMP_UNREACH) + if (hdr.icmp_type == ICMP_TIMEXCEED || hdr.icmp_type == ICMP_UNREACH) header_len = 8; else - netutil_fatal("%s passed ICMP packet with unhandled type %d", __func__, icmp->icmp_type); + netutil_fatal("%s passed ICMP packet with unhandled type %d", __func__, hdr.icmp_type); if (header_len > *len) return NULL; *len -= header_len; - return (char *) icmp + header_len; + return icmp + header_len; } -const void *icmpv6_get_data(const struct icmpv6_hdr *icmpv6, unsigned int *len) +const u8 *icmpv6_get_data(const u8 *icmpv6, unsigned int *len) { unsigned int header_len; + struct icmpv6_hdr hdr; + if (*len < sizeof(hdr)) + return NULL; + memcpy(&hdr, icmpv6, sizeof(hdr)); - if (icmpv6->icmpv6_type == ICMPV6_TIMEXCEED || icmpv6->icmpv6_type == ICMPV6_UNREACH) + if (hdr.icmpv6_type == ICMPV6_TIMEXCEED || hdr.icmpv6_type == ICMPV6_UNREACH) header_len = 8; else - netutil_fatal("%s passed ICMPv6 packet with unhandled type %d", __func__, icmpv6->icmpv6_type); + netutil_fatal("%s passed ICMPv6 packet with unhandled type %d", __func__, hdr.icmpv6_type); if (header_len > *len) return NULL; *len -= header_len; - return (char *) icmpv6 + header_len; + return icmpv6 + header_len; } @@ -1168,7 +1211,6 @@ int raw_socket_or_eth(int sendpref, const char *ifname, devtype iftype, try_ip = may_try_ip; netutil_eth_t *e = eth_open_cached(ifname); - *ethsd = e; if (e == NULL) { netutil_error("dnet: failed to open device %s", ifname); } @@ -1177,6 +1219,7 @@ int raw_socket_or_eth(int sendpref, const char *ifname, devtype iftype, e = NULL; } else { + *ethsd = e; break; } } @@ -1194,8 +1237,8 @@ int raw_socket_or_eth(int sendpref, const char *ifname, devtype iftype, } #endif int sd = netutil_raw_socket(ifname); - *rawsd = sd; if (sd >= 0) { + *rawsd = sd; break; } } @@ -1522,7 +1565,8 @@ static int collect_dnet_interfaces(const struct intf_entry *entry, void *arg) { sizeof(dcrn->ifaces[dcrn->numifaces].devfullname)); /* Interface type */ - if (entry->intf_type == INTF_TYPE_ETH && (entry->intf_flags & INTF_FLAG_NOARP) == 0) { + if ((entry->intf_type == INTF_TYPE_ETH || entry->intf_link_addr.addr_type == ADDR_TYPE_ETH) + && (entry->intf_flags & INTF_FLAG_NOARP) == 0) { dcrn->ifaces[dcrn->numifaces].device_type = devt_ethernet; /* Collect the MAC address since this is ethernet */ memcpy(dcrn->ifaces[dcrn->numifaces].mac, &entry->intf_link_addr.addr_eth.data, 6); @@ -2351,9 +2395,6 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { const u8 *data; unsigned int datalen; - struct tcp_hdr *tcp = NULL; /* TCP header structure. */ - struct udp_hdr *udp = NULL; /* UDP header structure. */ - struct sctp_hdr *sctp = NULL; /* SCTP header structure. */ static char protoinfo[1024] = ""; /* Stores final info string. */ char ipinfo[512] = ""; /* Temp info about IP. */ char icmpinfo[512] = ""; /* Temp info about ICMP. */ @@ -2380,11 +2421,10 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* IP INFORMATION ************************************************************/ if (hdr.version == 4) { /* IPv4 */ - const struct ip *ip; + struct ip ip; + memcpy(&ip, packet, sizeof(ip)); const struct sockaddr_in *sin; - ip = (struct ip *) packet; - /* Obtain IP source and destination info */ sin = (struct sockaddr_in *) &hdr.src; inet_ntop(AF_INET, (void *)&sin->sin_addr.s_addr, srchost, sizeof(srchost)); @@ -2392,10 +2432,10 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { inet_ntop(AF_INET, (void *)&sin->sin_addr.s_addr, dsthost, sizeof(dsthost)); /* Compute fragment offset and check if flags are set */ - frag_off = 8 * (ntohs(ip->ip_off) & 8191) /* 2^13 - 1 */; - more_fragments = ntohs(ip->ip_off) & IP_MF; - dont_fragment = ntohs(ip->ip_off) & IP_DF; - reserved_flag = ntohs(ip->ip_off) & IP_RF; + frag_off = 8 * (ntohs(ip.ip_off) & 8191) /* 2^13 - 1 */; + more_fragments = ntohs(ip.ip_off) & IP_MF; + dont_fragment = ntohs(ip.ip_off) & IP_DF; + reserved_flag = ntohs(ip.ip_off) & IP_RF; /* Is this a fragmented packet? is it the last fragment? */ if (frag_off || more_fragments) { @@ -2405,40 +2445,39 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Create a string with information relevant to the specified level of detail */ if (detail == LOW_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "ttl=%d id=%hu iplen=%hu%s %s%s%s", - ip->ip_ttl, (unsigned short) ntohs(ip->ip_id), (unsigned short) ntohs(ip->ip_len), fragnfo, - ip->ip_hl==5?"":"ipopts={", - ip->ip_hl==5?"":format_ip_options((u8*) ip + sizeof(struct ip), MIN((unsigned)(ip->ip_hl-5)*4,len-sizeof(struct ip))), - ip->ip_hl==5?"":"}"); + ip.ip_ttl, (unsigned short) ntohs(ip.ip_id), (unsigned short) ntohs(ip.ip_len), fragnfo, + ip.ip_hl==5?"":"ipopts={", + ip.ip_hl==5?"":format_ip_options((u8*) packet + sizeof(struct ip), MIN((unsigned)(ip.ip_hl-5)*4,len-sizeof(struct ip))), + ip.ip_hl==5?"":"}"); } else if (detail == MEDIUM_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "ttl=%d id=%hu proto=%d csum=0x%04x iplen=%hu%s %s%s%s", - ip->ip_ttl, (unsigned short) ntohs(ip->ip_id), - ip->ip_p, ntohs(ip->ip_sum), - (unsigned short) ntohs(ip->ip_len), fragnfo, - ip->ip_hl==5?"":"ipopts={", - ip->ip_hl==5?"":format_ip_options((u8*) ip + sizeof(struct ip), MIN((unsigned)(ip->ip_hl-5)*4,len-sizeof(struct ip))), - ip->ip_hl==5?"":"}"); + ip.ip_ttl, (unsigned short) ntohs(ip.ip_id), + ip.ip_p, ntohs(ip.ip_sum), + (unsigned short) ntohs(ip.ip_len), fragnfo, + ip.ip_hl==5?"":"ipopts={", + ip.ip_hl==5?"":format_ip_options((u8*) packet + sizeof(struct ip), MIN((unsigned)(ip.ip_hl-5)*4,len-sizeof(struct ip))), + ip.ip_hl==5?"":"}"); } else if (detail == HIGH_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "ver=%d ihl=%d tos=0x%02x iplen=%hu id=%hu%s%s%s%s foff=%d%s ttl=%d proto=%d csum=0x%04x%s%s%s", - ip->ip_v, ip->ip_hl, - ip->ip_tos, (unsigned short) ntohs(ip->ip_len), - (unsigned short) ntohs(ip->ip_id), + ip.ip_v, ip.ip_hl, + ip.ip_tos, (unsigned short) ntohs(ip.ip_len), + (unsigned short) ntohs(ip.ip_id), (reserved_flag||dont_fragment||more_fragments) ? " flg=" : "", (reserved_flag)? "x" : "", (dont_fragment)? "D" : "", (more_fragments)? "M": "", frag_off, (more_fragments) ? "+" : "", - ip->ip_ttl, ip->ip_p, - ntohs(ip->ip_sum), - ip->ip_hl==5?"":" ipopts={", - ip->ip_hl==5?"":format_ip_options((u8*) ip + sizeof(struct ip), MIN((unsigned)(ip->ip_hl-5)*4,len-sizeof(struct ip))), - ip->ip_hl==5?"":"}"); + ip.ip_ttl, ip.ip_p, + ntohs(ip.ip_sum), + ip.ip_hl==5?"":" ipopts={", + ip.ip_hl==5?"":format_ip_options((u8*) packet + sizeof(struct ip), MIN((unsigned)(ip.ip_hl-5)*4,len-sizeof(struct ip))), + ip.ip_hl==5?"":"}"); } } else { /* IPv6 */ - const struct ip6_hdr *ip6; + struct ip6_hdr ip6; + memcpy(&ip6, packet, sizeof(ip6)); const struct sockaddr_in6 *sin6; - ip6 = (struct ip6_hdr *) packet; - /* Obtain IP source and destination info */ sin6 = (struct sockaddr_in6 *) &hdr.src; inet_ntop(AF_INET6, (void *)sin6->sin6_addr.s6_addr, srchost, sizeof(srchost)); @@ -2446,21 +2485,21 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { inet_ntop(AF_INET6, (void *)sin6->sin6_addr.s6_addr, dsthost, sizeof(dsthost)); /* Obtain flow label and traffic class */ - u32 flow = ntohl(ip6->ip6_flow); + u32 flow = ntohl(ip6.ip6_flow); u32 ip6_fl = flow & 0x000fffff; u32 ip6_tc = (flow & 0x0ff00000) >> 20; /* Create a string with information relevant to the specified level of detail */ if (detail == LOW_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "hopl=%d flow=%x payloadlen=%hu", - ip6->ip6_hlim, ip6_fl, (unsigned short) ntohs(ip6->ip6_plen)); + ip6.ip6_hlim, ip6_fl, (unsigned short) ntohs(ip6.ip6_plen)); } else if (detail == MEDIUM_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "hopl=%d tclass=%d flow=%x payloadlen=%hu", - ip6->ip6_hlim, ip6_tc, ip6_fl, (unsigned short) ntohs(ip6->ip6_plen)); + ip6.ip6_hlim, ip6_tc, ip6_fl, (unsigned short) ntohs(ip6.ip6_plen)); } else if (detail==HIGH_DETAIL) { Snprintf(ipinfo, sizeof(ipinfo), "ver=6, tclass=%x flow=%x payloadlen=%hu nh=%s hopl=%d ", - ip6_tc, ip6_fl, (unsigned short) ntohs(ip6->ip6_plen), - nexthdrtoa(ip6->ip6_nxt, 1), ip6->ip6_hlim); + ip6_tc, ip6_fl, (unsigned short) ntohs(ip6.ip6_plen), + nexthdrtoa(ip6.ip6_nxt, 1), ip6.ip6_hlim); } } @@ -2471,7 +2510,7 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { char tcpinfo[64] = ""; char buf[32]; char tcpoptinfo[256] = ""; - tcp = (struct tcp_hdr *) data; + struct tcp_hdr tcp; /* Let's parse the TCP header. The following code is very ugly because we * have to deal with a lot of different situations. We don't want to @@ -2510,39 +2549,39 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { else if (frag_off > 0) { /* Fragmentation is on 8-byte boundaries, so 8 is the only legal value here. */ assert(frag_off == 8); - tcp = (struct tcp_hdr *)((u8 *) tcp - frag_off); // ugly? + memcpy((u8 *)&tcp + frag_off, data - frag_off, sizeof(tcp) - frag_off); /* TCP Flags */ p = tflags; /* These are basically in tcpdump order */ - if (tcp->th_flags & TH_SYN) + if (tcp.th_flags & TH_SYN) *p++ = 'S'; - if (tcp->th_flags & TH_FIN) + if (tcp.th_flags & TH_FIN) *p++ = 'F'; - if (tcp->th_flags & TH_RST) + if (tcp.th_flags & TH_RST) *p++ = 'R'; - if (tcp->th_flags & TH_PUSH) + if (tcp.th_flags & TH_PUSH) *p++ = 'P'; - if (tcp->th_flags & TH_ACK) { + if (tcp.th_flags & TH_ACK) { *p++ = 'A'; Snprintf(tcpinfo, sizeof(tcpinfo), " ack=%lu", - (unsigned long) ntohl(tcp->th_ack)); + (unsigned long) ntohl(tcp.th_ack)); } - if (tcp->th_flags & TH_URG) + if (tcp.th_flags & TH_URG) *p++ = 'U'; - if (tcp->th_flags & TH_ECE) + if (tcp.th_flags & TH_ECE) *p++ = 'E'; /* rfc 2481/3168 */ - if (tcp->th_flags & TH_CWR) + if (tcp.th_flags & TH_CWR) *p++ = 'C'; /* rfc 2481/3168 */ *p++ = '\0'; /* TCP Options */ - if ((u32) tcp->th_off * 4 > sizeof(struct tcp_hdr)) { - if (datalen < (u32) tcp->th_off * 4 - frag_off) { + if ((u32) tcp.th_off * 4 > sizeof(struct tcp_hdr)) { + if (datalen < (u32) tcp.th_off * 4 - frag_off) { Snprintf(tcpoptinfo, sizeof(tcpoptinfo), "option incomplete"); } else { - tcppacketoptinfo((u8*) tcp + sizeof(struct tcp_hdr), - tcp->th_off*4 - sizeof(struct tcp_hdr), + tcppacketoptinfo((u8*) data + sizeof(struct tcp_hdr), + tcp.th_off*4 - sizeof(struct tcp_hdr), tcpoptinfo, sizeof(tcpoptinfo)); } } @@ -2553,22 +2592,22 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { } else if (detail == MEDIUM_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP %s:?? > %s:?? %s ack=%lu win=%hu %s IP [%s]", srchost, dsthost, tflags, - (unsigned long) ntohl(tcp->th_ack), (unsigned short) ntohs(tcp->th_win), + (unsigned long) ntohl(tcp.th_ack), (unsigned short) ntohs(tcp.th_win), tcpoptinfo, ipinfo); } else if (detail == HIGH_DETAIL) { if (datalen >= 12) { /* We have at least bytes 8-20 */ Snprintf(protoinfo, sizeof(protoinfo), "TCP [%s:?? > %s:?? %s seq=%lu ack=%lu off=%d res=%d win=%hu csum=0x%04X urp=%hu%s%s] IP [%s]", srchost, dsthost, tflags, - (unsigned long) ntohl(tcp->th_seq), - (unsigned long) ntohl(tcp->th_ack), - (u8)tcp->th_off, (u8)tcp->th_x2, (unsigned short) ntohs(tcp->th_win), - ntohs(tcp->th_sum), (unsigned short) ntohs(tcp->th_urp), + (unsigned long) ntohl(tcp.th_seq), + (unsigned long) ntohl(tcp.th_ack), + (u8)tcp.th_off, (u8)tcp.th_x2, (unsigned short) ntohs(tcp.th_win), + ntohs(tcp.th_sum), (unsigned short) ntohs(tcp.th_urp), (tcpoptinfo[0]!='\0') ? " " : "", tcpoptinfo, ipinfo); } else { /* We only have bytes 8-16 */ Snprintf(protoinfo, sizeof(protoinfo), "TCP %s:?? > %s:?? %s ack=%lu win=%hu %s IP [%s]", srchost, dsthost, tflags, - (unsigned long) ntohl(tcp->th_ack), (unsigned short) ntohs(tcp->th_win), + (unsigned long) ntohl(tcp.th_ack), (unsigned short) ntohs(tcp.th_win), tcpoptinfo, ipinfo); } } @@ -2578,25 +2617,26 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* CASE 3: where the IP packet is not a fragment but for some reason, we * don't have the entire TCP header, just part of it.*/ else if (datalen < 20) { + memcpy(&tcp, data, MIN(datalen, sizeof(tcp))); /* We know we have the first 8 bytes, so what's left? */ /* We only have the first 64 bits: ports and seq number */ if (datalen < 12) { Snprintf(tcpinfo, sizeof(tcpinfo), "TCP %s:%hu > %s:%hu ?? seq=%lu (incomplete) %s", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, - (unsigned short) ntohs(tcp->th_dport), (unsigned long) ntohl(tcp->th_seq), ipinfo); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, + (unsigned short) ntohs(tcp.th_dport), (unsigned long) ntohl(tcp.th_seq), ipinfo); } /* We only have the first 96 bits: ports, seq and ack number */ else if (datalen < 16) { if (detail == LOW_DETAIL) { /* We don't print ACK in low detail */ Snprintf(tcpinfo, sizeof(tcpinfo), "TCP %s:%hu > %s:%hu seq=%lu (incomplete), %s", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, - (unsigned short) ntohs(tcp->th_dport), (unsigned long) ntohl(tcp->th_seq), ipinfo); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, + (unsigned short) ntohs(tcp.th_dport), (unsigned long) ntohl(tcp.th_seq), ipinfo); } else { Snprintf(tcpinfo, sizeof(tcpinfo), "TCP [%s:%hu > %s:%hu seq=%lu ack=%lu (incomplete)] IP [%s]", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, - (unsigned short) ntohs(tcp->th_dport), (unsigned long) ntohl(tcp->th_seq), - (unsigned long) ntohl(tcp->th_ack), ipinfo); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, + (unsigned short) ntohs(tcp.th_dport), (unsigned long) ntohl(tcp.th_seq), + (unsigned long) ntohl(tcp.th_ack), ipinfo); } } @@ -2604,25 +2644,25 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { else { p = tflags; /* These are basically in tcpdump order */ - if (tcp->th_flags & TH_SYN) + if (tcp.th_flags & TH_SYN) *p++ = 'S'; - if (tcp->th_flags & TH_FIN) + if (tcp.th_flags & TH_FIN) *p++ = 'F'; - if (tcp->th_flags & TH_RST) + if (tcp.th_flags & TH_RST) *p++ = 'R'; - if (tcp->th_flags & TH_PUSH) + if (tcp.th_flags & TH_PUSH) *p++ = 'P'; - if (tcp->th_flags & TH_ACK) { + if (tcp.th_flags & TH_ACK) { *p++ = 'A'; Snprintf(buf, sizeof(buf), " ack=%lu", - (unsigned long) ntohl(tcp->th_ack)); + (unsigned long) ntohl(tcp.th_ack)); strncat(tcpinfo, buf, sizeof(tcpinfo) - strlen(tcpinfo) - 1); } - if (tcp->th_flags & TH_URG) + if (tcp.th_flags & TH_URG) *p++ = 'U'; - if (tcp->th_flags & TH_ECE) + if (tcp.th_flags & TH_ECE) *p++ = 'E'; /* rfc 2481/3168 */ - if (tcp->th_flags & TH_CWR) + if (tcp.th_flags & TH_CWR) *p++ = 'C'; /* rfc 2481/3168 */ *p++ = '\0'; @@ -2630,22 +2670,22 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Create a string with TCP information relevant to the specified level of detail */ if (detail == LOW_DETAIL) { /* We don't print ACK in low detail */ Snprintf(protoinfo, sizeof(protoinfo), "TCP %s:%hu > %s:%hu %s %s seq=%lu win=%hu (incomplete)", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, ipinfo, (unsigned long) ntohl(tcp->th_seq), - (unsigned short) ntohs(tcp->th_win)); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, ipinfo, (unsigned long) ntohl(tcp.th_seq), + (unsigned short) ntohs(tcp.th_win)); } else if (detail == MEDIUM_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP [%s:%hu > %s:%hu %s seq=%lu ack=%lu win=%hu (incomplete)] IP [%s]", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, (unsigned long) ntohl(tcp->th_seq), - (unsigned long) ntohl(tcp->th_ack), - (unsigned short) ntohs(tcp->th_win), ipinfo); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, (unsigned long) ntohl(tcp.th_seq), + (unsigned long) ntohl(tcp.th_ack), + (unsigned short) ntohs(tcp.th_win), ipinfo); } else if (detail == HIGH_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP [%s:%hu > %s:%hu %s seq=%lu ack=%lu off=%d res=%d win=%hu (incomplete)] IP [%s]", - srchost, (unsigned short) ntohs(tcp->th_sport), - dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, (unsigned long) ntohl(tcp->th_seq), - (unsigned long) ntohl(tcp->th_ack), - (u8)tcp->th_off, (u8)tcp->th_x2, (unsigned short) ntohs(tcp->th_win), + srchost, (unsigned short) ntohs(tcp.th_sport), + dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, (unsigned long) ntohl(tcp.th_seq), + (unsigned long) ntohl(tcp.th_ack), + (u8)tcp.th_off, (u8)tcp.th_x2, (unsigned short) ntohs(tcp.th_win), ipinfo); } } @@ -2654,39 +2694,40 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* CASE 4: where we (finally!) have a full 20 byte TCP header so we can * safely print all fields */ else { /* if (datalen >= 20) */ + memcpy(&tcp, data, MIN(datalen, sizeof(tcp))); /* TCP Flags */ p = tflags; /* These are basically in tcpdump order */ - if (tcp->th_flags & TH_SYN) + if (tcp.th_flags & TH_SYN) *p++ = 'S'; - if (tcp->th_flags & TH_FIN) + if (tcp.th_flags & TH_FIN) *p++ = 'F'; - if (tcp->th_flags & TH_RST) + if (tcp.th_flags & TH_RST) *p++ = 'R'; - if (tcp->th_flags & TH_PUSH) + if (tcp.th_flags & TH_PUSH) *p++ = 'P'; - if (tcp->th_flags & TH_ACK) { + if (tcp.th_flags & TH_ACK) { *p++ = 'A'; Snprintf(buf, sizeof(buf), " ack=%lu", - (unsigned long) ntohl(tcp->th_ack)); + (unsigned long) ntohl(tcp.th_ack)); strncat(tcpinfo, buf, sizeof(tcpinfo) - strlen(tcpinfo) - 1); } - if (tcp->th_flags & TH_URG) + if (tcp.th_flags & TH_URG) *p++ = 'U'; - if (tcp->th_flags & TH_ECE) + if (tcp.th_flags & TH_ECE) *p++ = 'E'; /* rfc 2481/3168 */ - if (tcp->th_flags & TH_CWR) + if (tcp.th_flags & TH_CWR) *p++ = 'C'; /* rfc 2481/3168 */ *p++ = '\0'; /* TCP Options */ - if ((u32) tcp->th_off * 4 > sizeof(struct tcp_hdr)) { - if (datalen < (unsigned int) tcp->th_off * 4) { + if ((u32) tcp.th_off * 4 > sizeof(struct tcp_hdr)) { + if (datalen < (unsigned int) tcp.th_off * 4) { Snprintf(tcpoptinfo, sizeof(tcpoptinfo), "option incomplete"); } else { - tcppacketoptinfo((u8*) tcp + sizeof(struct tcp_hdr), - tcp->th_off*4 - sizeof(struct tcp_hdr), + tcppacketoptinfo((u8*) data + sizeof(struct tcp_hdr), + tcp.th_off*4 - sizeof(struct tcp_hdr), tcpoptinfo, sizeof(tcpoptinfo)); } } @@ -2694,71 +2735,74 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Rest of header fields */ if (detail == LOW_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP %s:%hu > %s:%hu %s %s seq=%lu win=%hu %s", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, ipinfo, (unsigned long) ntohl(tcp->th_seq), - (unsigned short) ntohs(tcp->th_win), tcpoptinfo); + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, ipinfo, (unsigned long) ntohl(tcp.th_seq), + (unsigned short) ntohs(tcp.th_win), tcpoptinfo); } else if (detail == MEDIUM_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP [%s:%hu > %s:%hu %s seq=%lu win=%hu csum=0x%04X%s%s] IP [%s]", - srchost, (unsigned short) ntohs(tcp->th_sport), dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, (unsigned long) ntohl(tcp->th_seq), - (unsigned short) ntohs(tcp->th_win), (unsigned short) ntohs(tcp->th_sum), + srchost, (unsigned short) ntohs(tcp.th_sport), dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, (unsigned long) ntohl(tcp.th_seq), + (unsigned short) ntohs(tcp.th_win), (unsigned short) ntohs(tcp.th_sum), (tcpoptinfo[0]!='\0') ? " " : "", tcpoptinfo, ipinfo); } else if (detail == HIGH_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "TCP [%s:%hu > %s:%hu %s seq=%lu ack=%lu off=%d res=%d win=%hu csum=0x%04X urp=%hu%s%s] IP [%s]", - srchost, (unsigned short) ntohs(tcp->th_sport), - dsthost, (unsigned short) ntohs(tcp->th_dport), - tflags, (unsigned long) ntohl(tcp->th_seq), - (unsigned long) ntohl(tcp->th_ack), - (u8)tcp->th_off, (u8)tcp->th_x2, (unsigned short) ntohs(tcp->th_win), - ntohs(tcp->th_sum), (unsigned short) ntohs(tcp->th_urp), + srchost, (unsigned short) ntohs(tcp.th_sport), + dsthost, (unsigned short) ntohs(tcp.th_dport), + tflags, (unsigned long) ntohl(tcp.th_seq), + (unsigned long) ntohl(tcp.th_ack), + (u8)tcp.th_off, (u8)tcp.th_x2, (unsigned short) ntohs(tcp.th_win), + ntohs(tcp.th_sum), (unsigned short) ntohs(tcp.th_urp), (tcpoptinfo[0]!='\0') ? " " : "", tcpoptinfo, ipinfo); } } /* UDP INFORMATION ***********************************************************/ - } else if (hdr.proto == IPPROTO_UDP && frag_off) { + } else if (hdr.proto == IPPROTO_UDP && + (frag_off || datalen < sizeof(struct udp_hdr))) { Snprintf(protoinfo, sizeof(protoinfo), "UDP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo); } else if (hdr.proto == IPPROTO_UDP) { - udp = (struct udp_hdr *) data; - /* TODO: See if we can segfault if we receive a fragmented packet whose IP packet does not say a thing about fragmentation */ + struct udp_hdr udp; + memcpy(&udp, data, sizeof(udp)); if (detail == LOW_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "UDP %s:%hu > %s:%hu %s", - srchost, (unsigned short) ntohs(udp->uh_sport), dsthost, (unsigned short) ntohs(udp->uh_dport), + srchost, (unsigned short) ntohs(udp.uh_sport), dsthost, (unsigned short) ntohs(udp.uh_dport), ipinfo); } else if (detail == MEDIUM_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "UDP [%s:%hu > %s:%hu csum=0x%04X] IP [%s]", - srchost, (unsigned short) ntohs(udp->uh_sport), dsthost, (unsigned short) ntohs(udp->uh_dport), ntohs(udp->uh_sum), + srchost, (unsigned short) ntohs(udp.uh_sport), dsthost, (unsigned short) ntohs(udp.uh_dport), ntohs(udp.uh_sum), ipinfo); } else if (detail == HIGH_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "UDP [%s:%hu > %s:%hu len=%hu csum=0x%04X] IP [%s]", - srchost, (unsigned short) ntohs(udp->uh_sport), dsthost, (unsigned short) ntohs(udp->uh_dport), - (unsigned short) ntohs(udp->uh_ulen), ntohs(udp->uh_sum), + srchost, (unsigned short) ntohs(udp.uh_sport), dsthost, (unsigned short) ntohs(udp.uh_dport), + (unsigned short) ntohs(udp.uh_ulen), ntohs(udp.uh_sum), ipinfo); } /* SCTP INFORMATION **********************************************************/ - } else if (hdr.proto == IPPROTO_SCTP && frag_off) { + } else if (hdr.proto == IPPROTO_SCTP && + (frag_off || datalen < sizeof(struct sctp_hdr))) { Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:?? > %s:?? fragment %s (incomplete)", srchost, dsthost, ipinfo); } else if (hdr.proto == IPPROTO_SCTP) { - sctp = (struct sctp_hdr *) data; + struct sctp_hdr sctp; + memcpy(&sctp, data, sizeof(sctp)); if (detail == LOW_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "SCTP %s:%hu > %s:%hu %s", - srchost, (unsigned short) ntohs(sctp->sh_sport), dsthost, (unsigned short) ntohs(sctp->sh_dport), + srchost, (unsigned short) ntohs(sctp.sh_sport), dsthost, (unsigned short) ntohs(sctp.sh_dport), ipinfo); } else if (detail == MEDIUM_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "SCTP [%s:%hu > %s:%hu csum=0x%08x] IP [%s]", - srchost, (unsigned short) ntohs(sctp->sh_sport), dsthost, (unsigned short) ntohs(sctp->sh_dport), ntohl(sctp->sh_sum), + srchost, (unsigned short) ntohs(sctp.sh_sport), dsthost, (unsigned short) ntohs(sctp.sh_dport), ntohl(sctp.sh_sum), ipinfo); } else if (detail == HIGH_DETAIL) { Snprintf(protoinfo, sizeof(protoinfo), "SCTP [%s:%hu > %s:%hu vtag=%lu csum=0x%08x] IP [%s]", - srchost, (unsigned short) ntohs(sctp->sh_sport), dsthost, (unsigned short) ntohs(sctp->sh_dport), - (unsigned long) ntohl(sctp->sh_vtag), ntohl(sctp->sh_sum), + srchost, (unsigned short) ntohs(sctp.sh_sport), dsthost, (unsigned short) ntohs(sctp.sh_dport), + (unsigned long) ntohl(sctp.sh_vtag), ntohl(sctp.sh_sum), ipinfo); } @@ -2767,87 +2811,40 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { Snprintf(protoinfo, sizeof(protoinfo), "ICMP %s > %s fragment %s (incomplete)", srchost, dsthost, ipinfo); } else if (hdr.proto == IPPROTO_ICMP) { - struct ip *ip2; /* Points to the IP datagram carried by some ICMP messages */ + struct ip ip2; /* Points to the IP datagram carried by some ICMP messages */ char *ip2dst; /* Dest IP in caried IP datagram */ char auxbuff[128]; /* Aux buffer */ - struct icmp_packet{ /* Generic ICMP struct */ - u8 type; - u8 code; - u16 checksum; - u8 data[128]; - }*icmppkt; - struct ppkt { /* Beginning of ICMP Echo/Timestamp header */ - u8 type; - u8 code; - u16 checksum; - u16 id; - u16 seq; - } *ping = NULL; - struct icmp_redir{ - u8 type; - u8 code; - u16 checksum; - u32 addr; - } *icmpredir = NULL; - struct icmp_router{ - u8 type; - u8 code; - u16 checksum; - u8 addrs; - u8 addrlen; - u16 lifetime; - } *icmprouter = NULL; - struct icmp_param{ - u8 type; - u8 code; - u16 checksum; - u8 pnt; - u8 unused; - u16 unused2; - } *icmpparam = NULL; - struct icmp_tstamp{ - u8 type; - u8 code; - u16 checksum; - u16 id; - u16 seq; - u32 orig; - u32 recv; - u32 trans; - } *icmptstamp = NULL; - struct icmp_amask{ - u8 type; - u8 code; - u16 checksum; - u16 id; - u16 seq; - u32 mask; - } *icmpmask = NULL; - - /* Compute the ICMP minimum length. */ - unsigned pktlen = 8; + struct icmp_hdr icmp; + unsigned pktlen = sizeof(icmp); /* We need the ICMP packet to be at least 8 bytes long */ - if (pktlen > datalen) + if (ICMP_LEN_MIN > datalen) goto icmpbad; - ping = (struct ppkt *) data; - icmppkt = (struct icmp_packet *) data; + memcpy(&icmp, data, sizeof(icmp)); - switch(icmppkt->type) { + union icmp_msg msg; + memcpy(&msg, data + pktlen, MIN(datalen - pktlen, sizeof(msg))); + + switch(icmp.icmp_type) { /* Echo Reply **************************/ case 0: strcpy(icmptype, "Echo reply"); - Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(ping->id), (unsigned short) ntohs(ping->seq)); + Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(msg.echo.icmp_id), (unsigned short) ntohs(msg.echo.icmp_seq)); break; /* Destination Unreachable *************/ case 3: /* Point to the start of the original datagram */ - ip2 = (struct ip *) (data + 8); + pktlen += offsetof(struct icmp_msg_quote, icmp_ip); + if (datalen >= pktlen + sizeof(ip2)) { + memcpy(&ip2, data + pktlen, sizeof(ip2)); + pktlen += ip2.ip_hl * 4; + } else { + pktlen += sizeof(ip2); + } /* Check we have a full IP datagram included in the ICMP message */ - pktlen += MAX( (ip2->ip_hl * 4), 20); if (pktlen > datalen) { if (datalen == 8) { Snprintf(icmptype, sizeof icmptype, "Destination unreachable%s", @@ -2864,24 +2861,16 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { * see if it validates because just checking the version number * is not enough. On average, if we get random data 1 out of * 16 (2^4bits) times we will have value 4. */ - if ((ip2->ip_v != 4) || ((ip2->ip_hl * 4) < 20) || ((ip2->ip_hl * 4) > 60)) { + if ((ip2.ip_v != 4) || ((ip2.ip_hl * 4) < 20) || ((ip2.ip_hl * 4) > 60)) { Snprintf(icmptype, sizeof icmptype, "Destination unreachable (bogus original datagram)"); goto icmpbad; - } else { - /* We have the original datagram + the first 8 bytes of the - * transport layer header */ - if (pktlen + 8 < datalen) { - tcp = (struct tcp_hdr *) ((char *) ip2 + (ip2->ip_hl * 4)); - udp = (struct udp_hdr *) ((char *) ip2 + (ip2->ip_hl * 4)); - sctp = (struct sctp_hdr *) ((char *) ip2 + (ip2->ip_hl * 4)); - } } /* Determine the IP the original datagram was sent to */ - ip2dst = inet_ntoa(ip2->ip_dst); + ip2dst = inet_ntoa(ip2.ip_dst); /* Determine type of Destination unreachable from the code value */ - switch (icmppkt->code) { + switch (icmp.icmp_code) { case 0: Snprintf(icmptype, sizeof icmptype, "Network %s unreachable", ip2dst); break; @@ -2891,19 +2880,28 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { break; case 2: - Snprintf(icmptype, sizeof icmptype, "Protocol %u unreachable", ip2->ip_p); + Snprintf(icmptype, sizeof icmptype, "Protocol %u unreachable", ip2.ip_p); break; case 3: if (pktlen + 8 < datalen) { - if (ip2->ip_p == IPPROTO_UDP && udp) - Snprintf(icmptype, sizeof icmptype, "Port %hu unreachable", (unsigned short) ntohs(udp->uh_dport)); - else if (ip2->ip_p == IPPROTO_TCP && tcp) - Snprintf(icmptype, sizeof icmptype, "Port %hu unreachable", (unsigned short) ntohs(tcp->th_dport)); - else if (ip2->ip_p == IPPROTO_SCTP && sctp) - Snprintf(icmptype, sizeof icmptype, "Port %hu unreachable", (unsigned short) ntohs(sctp->sh_dport)); + /* We have the original datagram + the first 8 bytes of the + * transport layer header */ + const u8 *pp = data + pktlen; + int offset = -1; + if (ip2.ip_p == IPPROTO_UDP) + offset = offsetof(struct udp_hdr, uh_dport); + else if (ip2.ip_p == IPPROTO_TCP) + offset = offsetof(struct tcp_hdr, th_dport); + else if (ip2.ip_p == IPPROTO_SCTP) + offset = offsetof(struct sctp_hdr, sh_dport); + + if (offset >= 0) { + pp += offset; + Snprintf(icmptype, sizeof icmptype, "Port %hu unreachable", (u16)((pp[0] << 8) + pp[1])); + } else - Snprintf(icmptype, sizeof icmptype, "Port unreachable (unknown protocol %u)", ip2->ip_p); + Snprintf(icmptype, sizeof icmptype, "Port unreachable (unknown protocol %u)", ip2.ip_p); } else strcpy(icmptype, "Port unreachable"); @@ -2911,7 +2909,7 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { case 4: strcpy(icmptype, "Fragmentation required"); - Snprintf(icmpfields, sizeof(icmpfields), "Next-Hop-MTU=%d", icmppkt->data[2]<<8 | icmppkt->data[3]); + Snprintf(icmpfields, sizeof(icmpfields), "Next-Hop-MTU=%d", ntohs(msg.needfrag.icmp_mtu)); break; case 5: @@ -2972,34 +2970,32 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Redirect ****************************/ case 5: - if (ping->code == 0) + if (icmp.icmp_code == 0) strcpy(icmptype, "Network redirect"); - else if (ping->code == 1) + else if (icmp.icmp_code == 1) strcpy(icmptype, "Host redirect"); else strcpy(icmptype, "Redirect (unknown code)"); - icmpredir = (struct icmp_redir *) icmppkt; - inet_ntop(AF_INET, &icmpredir->addr, auxbuff, sizeof(auxbuff)); + inet_ntop(AF_INET, &msg.redirect.icmp_void, auxbuff, sizeof(auxbuff)); Snprintf(icmpfields, sizeof(icmpfields), "addr=%s", auxbuff); break; /* Echo Request ************************/ case 8: strcpy(icmptype, "Echo request"); - Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(ping->id), (unsigned short) ntohs(ping->seq)); + Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(msg.echo.icmp_id), (unsigned short) ntohs(msg.echo.icmp_seq)); break; /* Router Advertisement ****************/ case 9: - if (icmppkt->code == 16) + if (icmp.icmp_code == 16) strcpy(icmptype, "Router advertisement (Mobile Agent Only)"); else strcpy(icmptype, "Router advertisement"); - icmprouter = (struct icmp_router *) icmppkt; Snprintf(icmpfields, sizeof(icmpfields), "addrs=%u addrlen=%u lifetime=%hu", - icmprouter->addrs, - icmprouter->addrlen, - (unsigned short) ntohs(icmprouter->lifetime)); + msg.rtradvert.icmp_num_addrs, + msg.rtradvert.icmp_wpa, + (unsigned short) ntohs(msg.rtradvert.icmp_lifetime)); break; /* Router Solicitation *****************/ @@ -3009,9 +3005,9 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Time Exceeded ***********************/ case 11: - if (icmppkt->code == 0) + if (icmp.icmp_code == 0) strcpy(icmptype, "TTL=0 during transit"); - else if (icmppkt->code == 1) + else if (icmp.icmp_code == 1) strcpy(icmptype, "TTL=0 during reassembly"); else strcpy(icmptype, "TTL exceeded (unknown code)"); @@ -3019,50 +3015,47 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { /* Parameter Problem *******************/ case 12: - if (ping->code == 0) + if (icmp.icmp_code == 0) strcpy(icmptype, "Parameter problem (pointer indicates error)"); - else if (ping->code == 1) + else if (icmp.icmp_code == 1) strcpy(icmptype, "Parameter problem (option missing)"); - else if (ping->code == 2) + else if (icmp.icmp_code == 2) strcpy(icmptype, "Parameter problem (bad length)"); else strcpy(icmptype, "Parameter problem (unknown code)"); - icmpparam = (struct icmp_param *) icmppkt; - Snprintf(icmpfields, sizeof(icmpfields), "pointer=%d", icmpparam->pnt); + Snprintf(icmpfields, sizeof(icmpfields), "pointer=%hhu", *((u8 *)(&msg.paramprob.icmp_void))); break; /* Timestamp Request/Reply *************/ case 13: case 14: - Snprintf(icmptype, sizeof(icmptype), "Timestamp %s", (icmppkt->type == 13)? "request" : "reply"); - icmptstamp = (struct icmp_tstamp *) icmppkt; + Snprintf(icmptype, sizeof(icmptype), "Timestamp %s", (icmp.icmp_type == 13)? "request" : "reply"); Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu orig=%lu recv=%lu trans=%lu", - (unsigned short) ntohs(icmptstamp->id), (unsigned short) ntohs(icmptstamp->seq), - (unsigned long) ntohl(icmptstamp->orig), - (unsigned long) ntohl(icmptstamp->recv), - (unsigned long) ntohl(icmptstamp->trans)); + (unsigned short) ntohs(msg.tstamp.icmp_id), (unsigned short) ntohs(msg.tstamp.icmp_seq), + (unsigned long) ntohl(msg.tstamp.icmp_ts_orig), + (unsigned long) ntohl(msg.tstamp.icmp_ts_rx), + (unsigned long) ntohl(msg.tstamp.icmp_ts_tx)); break; /* Information Request *****************/ case 15: strcpy(icmptype, "Information request"); - Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(ping->id), (unsigned short) ntohs(ping->seq)); + Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(msg.info.icmp_id), (unsigned short) ntohs(msg.info.icmp_seq)); break; /* Information Reply *******************/ case 16: strcpy(icmptype, "Information reply"); - Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(ping->id), (unsigned short) ntohs(ping->seq)); + Snprintf(icmpfields, sizeof(icmpfields), "id=%hu seq=%hu", (unsigned short) ntohs(msg.info.icmp_id), (unsigned short) ntohs(msg.info.icmp_seq)); break; /* Netmask Request/Reply ***************/ case 17: case 18: - Snprintf(icmptype, sizeof(icmptype), "Address mask %s", (icmppkt->type == 17)? "request" : "reply"); - icmpmask = (struct icmp_amask *) icmppkt; - inet_ntop(AF_INET, &icmpmask->mask, auxbuff, sizeof(auxbuff)); + Snprintf(icmptype, sizeof(icmptype), "Address mask %s", (icmp.icmp_type == 17)? "request" : "reply"); + inet_ntop(AF_INET, &msg.mask.icmp_mask, auxbuff, sizeof(auxbuff)); Snprintf(icmpfields, sizeof(icmpfields), "id=%u seq=%u mask=%s", - (unsigned short) ntohs(ping->id), (unsigned short) ntohs(ping->seq), auxbuff); + (unsigned short) ntohs(msg.mask.icmp_id), (unsigned short) ntohs(msg.mask.icmp_seq), auxbuff); break; /* Traceroute **************************/ @@ -3092,19 +3085,16 @@ const char *ippackethdrinfo(const u8 *packet, u32 len, int detail) { if (pktlen > datalen) { icmpbad: - if (ping) { + if (icmptype[0] != '\0') { /* We still have this information */ Snprintf(protoinfo, sizeof(protoinfo), "ICMP %s > %s %s (type=%d/code=%d) %s", - srchost, dsthost, icmptype, ping->type, ping->code, ipinfo); + srchost, dsthost, icmptype, icmp.icmp_type, icmp.icmp_code, ipinfo); } else { Snprintf(protoinfo, sizeof(protoinfo), "ICMP %s > %s [??] %s", srchost, dsthost, ipinfo); } } else { - if (ping) - sprintf(icmpinfo,"type=%d/code=%d", ping->type, ping->code); - else - strncpy(icmpinfo,"type=?/code=?", sizeof(icmpinfo)); + sprintf(icmpinfo,"type=%d/code=%d", icmp.icmp_type, icmp.icmp_code); Snprintf(protoinfo, sizeof(protoinfo), "ICMP [%s > %s %s (%s) %s] IP [%s]", srchost, dsthost, icmptype, icmpinfo, icmpfields, ipinfo); @@ -3381,7 +3371,7 @@ static struct interface_info *find_loopback_iface(struct interface_info *ifaces, /* Get the source address for routing to dst by creating a socket and asking the operating system for the local address. */ static int get_srcaddr(const struct sockaddr_storage *dst, - struct sockaddr_storage *src) + struct sockaddr_storage *src, const char *device) { static const unsigned short DUMMY_PORT = 1234; struct sockaddr_storage dst_dummy; @@ -3406,6 +3396,10 @@ static int get_srcaddr(const struct sockaddr_storage *dst, goto bail; } + if (device) { + socket_bindtodevice(fd, device); + } + rc = connect(fd, (struct sockaddr *) &dst_dummy, dst_dummy_len); if (rc == -1) { netutil_error("%s: can't connect socket: %s", __func__, socket_strerror(socket_errno())); @@ -3523,7 +3517,7 @@ static int route_dst_generic(const struct sockaddr_storage *dst, rnfo->direct_connect = 1; /* But the source address we want to use is the target address. */ if (!spoofss) { - if (get_srcaddr(dst, &rnfo->srcaddr) == -1) + if (get_srcaddr(dst, &rnfo->srcaddr, device) == -1) rnfo->srcaddr = rnfo->ii.addr; } @@ -3551,7 +3545,9 @@ static int route_dst_generic(const struct sockaddr_storage *dst, sockaddr_equal(&routes[i].gw, &routes[i].device->addr) || sockaddr_equal(&routes[i].gw, dst)); if (!spoofss) { - if (get_srcaddr(dst, &rnfo->srcaddr) == -1) +#ifdef SO_BINDTODEVICE + if (get_srcaddr(dst, &rnfo->srcaddr, device) == -1) +#endif rnfo->srcaddr = rnfo->ii.addr; } rnfo->nexthop = routes[i].gw; @@ -3572,7 +3568,9 @@ static int route_dst_generic(const struct sockaddr_storage *dst, rnfo->ii = ifaces[i]; rnfo->direct_connect = 1; if (!spoofss) { - if (get_srcaddr(dst, &rnfo->srcaddr) == -1) +#ifdef SO_BINDTODEVICE + if (get_srcaddr(dst, &rnfo->srcaddr, device) == -1) +#endif rnfo->srcaddr = rnfo->ii.addr; } diff --git a/libnetutil/netutil.h b/libnetutil/netutil.h index e338d269a..187400145 100644 --- a/libnetutil/netutil.h +++ b/libnetutil/netutil.h @@ -7,7 +7,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source @@ -179,22 +179,22 @@ int ip_is_reserved(const struct sockaddr_storage *addr); int mac_cache_get(const struct sockaddr_storage *ss, u8 *mac); int mac_cache_set(const struct sockaddr_storage *ss, u8 *mac); -const void *ip_get_data(const void *packet, unsigned int *len, +const u8 *ip_get_data(const u8 *packet, unsigned int *len, struct abstract_ip_hdr *hdr); -const void *ip_get_data_any(const void *packet, unsigned int *len, +const u8 *ip_get_data_any(const u8 *packet, unsigned int *len, struct abstract_ip_hdr *hdr); /* Get the upper-layer protocol from an IPv4 packet. */ -const void *ipv4_get_data(const struct ip *ip, unsigned int *len); +const u8 *ipv4_get_data(const u8 *ip, unsigned int *len); /* Get the upper-layer protocol from an IPv6 packet. This skips over known extension headers. The length of the upper-layer payload is stored in *len. The protocol is stored in *nxt. Returns NULL in case of error. */ -const void *ipv6_get_data(const struct ip6_hdr *ip6, unsigned int *len, u8 *nxt); -const void *ipv6_get_data_any(const struct ip6_hdr *ip6, unsigned int *len, u8 *nxt); -const void *icmp_get_data(const struct icmp_hdr *icmp, unsigned int *len); -const void *icmpv6_get_data(const struct icmpv6_hdr *icmpv6, unsigned int *len); +const u8 *ipv6_get_data(const u8 *ip6, unsigned int *len, u8 *nxt); +const u8 *ipv6_get_data_any(const u8 *ip6, unsigned int *len, u8 *nxt); +const u8 *icmp_get_data(const u8 *icmp, unsigned int *len); +const u8 *icmpv6_get_data(const u8 *icmpv6, unsigned int *len); /* Standard BSD internet checksum routine. */ -unsigned short in_cksum(u16 *ptr, int nbytes); +unsigned short in_cksum(const u16 *ptr, int nbytes); /* Calculate the Internet checksum of some given data concatentated with the IPv4 pseudo-header. See RFC 1071 and TCP/IP Illustrated sections 3.2, 11.3, diff --git a/libnetutil/npacket.h b/libnetutil/npacket.h index 188223ab3..dcb0509c9 100644 --- a/libnetutil/npacket.h +++ b/libnetutil/npacket.h @@ -7,7 +7,7 @@ * * ***********************IMPORTANT NMAP LICENSE TERMS************************ * - * The Nmap Security Scanner is (C) 1996-2025 Nmap Software LLC ("The Nmap + * The Nmap Security Scanner is (C) 1996-2026 Nmap Software LLC ("The Nmap * Project"). Nmap is also a registered trademark of the Nmap Project. * * This program is distributed under the terms of the Nmap Public Source diff --git a/libpcap/CHANGES b/libpcap/CHANGES index bf8701c82..cb603f8fe 100644 --- a/libpcap/CHANGES +++ b/libpcap/CHANGES @@ -1,3 +1,110 @@ +Tuesday, December 30, 2025 / The Tcpdump Group + Summary for 1.10.6 libpcap release + General: + Fix "tcpdump -i " for something-only libpcap builds. + gencode: Fix an undefined behavior in gen_mcode(). + gencode: Add a missing free() in gen_scode(). + Remove "DLT_" from the descriptions of two dlt_choices[] entries. + Report the size of time_t in the version string. + Validate remote capture source strings better. + CVE-2025-11961: Fix OOBR and OOBW in pcap_ether_aton(). + Source code: + Remove some unneeded includes. + pcapint_find_function() changed to return "void *" to avoid + warnings. + Clean up code that computes the length of a netmask. + Mind netmap support in pcap_lib_version(). + Link-layer types: + Add LINKTYPE_ETW/DLT_ETW. + Add LINKTYPE_NETANALYZER_NG/DLT_NETANALYZER_NG (pull request + #1008). + Add LINKTYPE_ZBOSS_NCP/DLT_ZBOSS_NCP. + Add LINKTYPE_USB_2_0_LOW_SPEED/DLT_USB_2_0_LOW_SPEED, + LINKTYPE_USB_2_0_FULL_SPEED/DLT_USB_2_0_FULL_SPEED, + LINKTYPE_USB_2_0_HIGH_SPEED/DLT_USB_2_0_HIGH_SPEED + Add LINKTYPE_AUERSWALD_LOG/DLT_AUERSWALD_LOG. + Add LINKTYPE_ZWAVE_TAP/DLT_ZWAVE_TAP. + Add LINKTYPE_SILABS_DEBUG_CHANNEL/DLT_SILABS_DEBUG_CHANNEL. + Add LINKTYPE_FIRA_UCI/DLT_FIRA_UCI. + Rename LINKTYPE_IPMB_LINUX/DLT_IPMB_LINUX to + LINKTYPE_I2C_LINUX/DLT_I2C_LINUX, as it's really just an + encapsulation of I2C, and is also being used for HDMI DDC. + Keep DLT_IPMB_LINUX around as a #define for backwards + compatibility. + Add LINKTYPE_MDB/DLT_MDB. + Add LINKTYPE_DECT_NR/DLT_DECT_NR. + Add LINKTYPE_EDK2_MM/DLT_EDK2_MM. + Add LINKTYPE_DEBUG_ONLY/DLT_DEBUG_ONLY. + Packet filtering: + Make the chunk allocator's alignment more general and + platform-independent. + IEEE 802.11: Fix three undefined behaviors in grammar.y. + Fix IPv4 multicast filtering to only include 224.0.0.0/4. + Fix "(arp|rarp) host NAME" to ignore IPv6 quietly. + Fix ARCnet address parsing. + Linux: + Fix check for mac80211 phydev. + Don't create monitor-mode interface if we're capturing on one. + Expand the table of DSA tag types to include all current types. + Fix an error message when deleting a monN interface. + Fix returning PCAP_ERROR_RFMON_NOTSUP with libnl. + Fix the error message when capure permission is denied. + Fix the error message if PF_PACKET sockets aren't supported. + Fix a file descriptor leak in an error case (pull request #1537). + Handle errors better when checking for a DSA-tagged interface. + Use DLT_DEBUG_ONLY for DSA tags that do not [yet] have a better support. + FreeBSD: + Fix detection and enabling of zero-copy support. + Fix errors in the zero-copy code. + Solaris: + Fix not to ignore logical interfaces in fad-gifc.c and + fad-glifc.c. + Fix attempts to open all-numeric device names with DLPI to + return "no such device". + Fix error returns and messages when an interface has no DLPI + device. + Return all interfaces in pcap_findalldevs() even if they can't be + opened. + HP-UX: + Fix attempts to open all-numeric device names to return + "no such device". + Fix error message if there's no /dev/dlpi device. + Return all interfaces in pcap_findalldevs() even if they can't be + opened. + Windows: + Fix filtering for VLAN-tagged frames. + Add support for Npcap's nanosecond-resolution time stamps in + captures. + CVE-2025-11964: Fix a bug in error message character encoding mapping + from UTF-16 to UTF-8. + Check at create time whether the NPF driver supports nanosecond + precision. + D-Bus: + Fix message leak. + Capture file writing: + Don't close the output stream if it's stdout, just flush it. + Documentation: + Explicitly document that closing a pcap_t for a savefile opened + with pcap_fopen_offline() will close the standard I/O stream. + Building and testing: + Makefile.in: Include instrument-functions.c in the release tarball. + CMake: Fix libnl usage with pkg-config. + CMake: Fix build with CMake 3.31. + CI: Report CMake version in builds. + CI: Visual Studio 2022 builds added, including ARM64 builds; + Visual Studio 2015 builds dropped. + Don't build with sslutils.c if we don't have a TLS library. + Build on Windows with a newer version of OpenSSL. + CMake: generalize handling of non-x86 Windows architectures. + CI: use the -A flag for all Visual Studio generators. + Remove the fuzzing props from the release tarball. + Autoconf: Use AC_SYS_YEAR2038_RECOMMENDED when possible if the + environment variable BUILD_YEAR2038 = yes (via autogen.sh) + DPDK: don't enable it by default. + Update Npcap SDK to 1.15. + autogen.sh: Allow to configure Autoconf warnings. + autogen.sh: Delete all trailing blank lines at end of configure. + Friday, August 30, 2024 / The Tcpdump Group Summary for 1.10.5 libpcap release Source code: diff --git a/libpcap/CMakeLists.txt b/libpcap/CMakeLists.txt index 9012ef417..eb5479409 100644 --- a/libpcap/CMakeLists.txt +++ b/libpcap/CMakeLists.txt @@ -13,14 +13,21 @@ else(WIN32) # on a "long-term support" version # of some OS and that # version supplies an older version of CMake; # - # otherwise, require 3.5, so we don't get messages warning - # that support for versions of CMake lower than 3.5 is + # otherwise, if it's a version less than 3.10, require only + # 3.5, just in case somebody is configuring with CMake + # on a "long-term support" version # of some OS and that + # version supplies an older version of CMake; + # + # otherwise, require 3.10, so we don't get messages warning + # that support for versions of CMake lower than 3.10 is # deprecated. # if(CMAKE_VERSION VERSION_LESS "3.5") cmake_minimum_required(VERSION 2.8.12) - else() + elseif(CMAKE_VERSION VERSION_LESS "3.10") cmake_minimum_required(VERSION 3.5) + else() + cmake_minimum_required(VERSION 3.10) endif() endif(WIN32) @@ -506,7 +513,13 @@ if(CMAKE_SYSTEM_NAME STREQUAL "Linux") endif() option(DISABLE_BLUETOOTH "Disable Bluetooth sniffing support" OFF) option(DISABLE_NETMAP "Disable netmap support" OFF) -option(DISABLE_DPDK "Disable DPDK support" OFF) + +# +# Require that DPDK support be explicitly enabled, as the code is +# immensely hard to keep compiling for every random API change +# the DPDK folks make. +# +set(DISABLE_DPDK ON) # # We don't support D-Bus sniffing on macOS; see @@ -539,11 +552,11 @@ option(YYDEBUG "Build parser debugging code" OFF) # Versioning ################################################################### -# Get, parse, format and set pcap's version string from [pcap_root]/VERSION +# Get, parse, format and set pcap's version string from [pcap_root]/VERSION.txt # for later use. # Get MAJOR, MINOR, PATCH & SUFFIX -file(STRINGS ${pcap_SOURCE_DIR}/VERSION +file(STRINGS ${pcap_SOURCE_DIR}/VERSION.txt PACKAGE_VERSION LIMIT_COUNT 1 # Read only the first line ) @@ -578,6 +591,7 @@ include_directories( include(CheckFunctionExists) include(CMakePushCheckState) include(CheckSymbolExists) +include(CheckIncludeFile) if(WIN32) @@ -595,8 +609,11 @@ if(WIN32) # cmake_push_check_state() set(CMAKE_REQUIRED_LIBRARIES ${Packet_LIBRARIES}) + set(CMAKE_REQUIRED_INCLUDES ${Packet_INCLUDE_DIRS}) check_function_exists(PacketIsLoopbackAdapter HAVE_PACKET_IS_LOOPBACK_ADAPTER) check_function_exists(PacketGetTimestampModes HAVE_PACKET_GET_TIMESTAMP_MODES) + check_function_exists(PacketGetInfo HAVE_PACKET_GET_INFO) + check_include_file(npcap-bpf.h HAVE_NPCAP_BPF_H) cmake_pop_check_state() endif(Packet_FOUND) @@ -634,7 +651,6 @@ endif(USE_STATIC_RT) # Detect available platform features ################################################################### -include(CheckIncludeFile) include(CheckIncludeFiles) include(CheckStructHasMember) include(CheckTypeSize) @@ -1244,6 +1260,19 @@ if(NOT WIN32) endif() endif() +# +# Find and print the size of time_t. +# +cmake_push_check_state() +set(CMAKE_EXTRA_INCLUDE_FILES time.h) +check_type_size("time_t" SIZEOF_TIME_T) +if(SIZEOF_TIME_T EQUAL 4) + message(STATUS "32-bit time_t") +elseif(SIZEOF_TIME_T EQUAL 8) + message(STATUS "64-bit time_t") +endif() +cmake_pop_check_state() + if(INET6) message(STATUS "Support IPv6") endif(INET6) @@ -1984,6 +2013,7 @@ else(WIN32) # check_include_file(sys/bufmod.h HAVE_SYS_BUFMOD_H) check_include_file(sys/dlpi_ext.h HAVE_SYS_DLPI_EXT_H) + check_include_file(zone.h HAVE_ZONE_H) # # Checks to see if Solaris has the public libdlpi(3LIB) library. @@ -2025,12 +2055,6 @@ else(WIN32) check_type_size(dl_passive_req_t DL_PASSIVE_REQ_T) cmake_pop_check_state() elseif(PCAP_TYPE STREQUAL "linux") - # - # Do we have the wireless extensions? - # linux/wireless.h requires sys/socket.h. - # - check_include_files("sys/socket.h;linux/wireless.h" HAVE_LINUX_WIRELESS_H) - # # Do we have libnl? # We only want version 3. Version 2 was, apparently, @@ -2043,6 +2067,8 @@ else(WIN32) if(BUILD_WITH_LIBNL) pkg_check_modules(LIBNL libnl-genl-3.0) if(LIBNL_FOUND) + set(HAVE_LIBNL TRUE) + include_directories(${LIBNL_INCLUDE_DIRS}) set(PCAP_LINK_LIBRARIES ${LIBNL_LIBRARIES} ${PCAP_LINK_LIBRARIES}) # @@ -2698,7 +2724,10 @@ if(ENABLE_REMOTE) check_struct_has_member("struct msghdr" msg_flags "ftmacros.h;sys/socket.h" HAVE_STRUCT_MSGHDR_MSG_FLAGS) cmake_pop_check_state() set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} - pcap-new.c pcap-rpcap.c rpcap-protocol.c sockutils.c sslutils.c) + pcap-new.c pcap-rpcap.c rpcap-protocol.c sockutils.c) + if(OPENSSL_FOUND) + set(PROJECT_SOURCE_LIST_C ${PROJECT_SOURCE_LIST_C} sslutils.c) + endif() endif(ENABLE_REMOTE) ################################################################### @@ -2917,7 +2946,6 @@ endif() add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/scanner.c ${CMAKE_CURRENT_BINARY_DIR}/scanner.h - SOURCE ${pcap_SOURCE_DIR}/scanner.l COMMAND ${LEX_EXECUTABLE} -P pcap_ --header-file=scanner.h --nounput -o${CMAKE_CURRENT_BINARY_DIR}/scanner.c ${pcap_SOURCE_DIR}/scanner.l DEPENDS ${pcap_SOURCE_DIR}/scanner.l ) @@ -2992,7 +3020,6 @@ message(STATUS "Parser generator: ${YACC_EXECUTABLE}") # add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/grammar.c ${CMAKE_CURRENT_BINARY_DIR}/grammar.h - SOURCE ${pcap_BINARY_DIR}/grammar.y COMMAND ${YACC_EXECUTABLE} -p pcap_ -o ${CMAKE_CURRENT_BINARY_DIR}/grammar.c -d ${pcap_BINARY_DIR}/grammar.y DEPENDS ${pcap_BINARY_DIR}/grammar.y ) diff --git a/libpcap/CREDITS b/libpcap/CREDITS index 78ce6a102..809bcec71 100644 --- a/libpcap/CREDITS +++ b/libpcap/CREDITS @@ -14,6 +14,7 @@ Additional people who have contributed patches (in alphabetical order): Alexander Galanin Alexander 'Leo' Bergolth Alexey Kuznetsov + Alexey Vishnyakov Alex Smith <44322503+MadAlexUK at users dot noreply dot github dot com> Alfredo Alvarez Fernandez Ali Abdulkadir @@ -34,6 +35,7 @@ Additional people who have contributed patches (in alphabetical order): Assar Westerlund Atzm Watanabe Baptiste Peugnez + Barnabás PÅ‘cze Baruch Siach Bill Parker Biswapriyo Nath @@ -78,6 +80,7 @@ Additional people who have contributed patches (in alphabetical order): Eli Schwartz Eric Anderson Erik de Castro Lopo + Eugene Exarevsky Fedor Sakharov Felix Janda Felix Obenhuber @@ -85,6 +88,7 @@ Additional people who have contributed patches (in alphabetical order): Florent Drouin Florian Fainelli François Revol + Frank Gorgas-Waller Franz Schaefer frederich Fulko Hew @@ -95,6 +99,7 @@ Additional people who have contributed patches (in alphabetical order): George Neville-Neil Gerald Combs Gerard Garcia + Gerd Hoffmann Gianluca Varenni Gilbert Hoyek Gisle Vanem @@ -106,14 +111,17 @@ Additional people who have contributed patches (in alphabetical order): Gustavo Zacarias Hagen Paul Pfeifer headshog + Henri Chataing Henri Doreau Hiroaki KAWAI hopper-vul Hyung Sik Yoon + Ido Yariv Igor Khristophorov Jakub Sitnicki Jakub Zawadzki James Ko + Jan Adam Jan-Philip Velders Jason R. Thorpe Javier Achirica @@ -124,6 +132,7 @@ Additional people who have contributed patches (in alphabetical order): Jesper Dangaard Brouer Jesper Peterson Jesse Gross + Jessica Clarke JHA jingyu yang Jiri Slaby @@ -131,6 +140,7 @@ Additional people who have contributed patches (in alphabetical order): Joel <82591719+joelg989 at users dot noreply dot github dot com> Joerg Mayer John Bankier + John Thacker Jon Lindgren Jon Smirl Jorge Boncompte [DTI2] @@ -165,6 +175,7 @@ Additional people who have contributed patches (in alphabetical order): Mark Pizzolato Markus Mayer Martin Husemann + Martin Kaiser Márton Németh Matias Karhumaa Matt Eaton @@ -183,6 +194,7 @@ Additional people who have contributed patches (in alphabetical order): Milosz Kaniewski Miroslav Lichvar Monroe Williams + mooon04 Myricom Help Nan Xiao nic-kaczinsky <68271784+nic-kaczinsky at users dot noreply dot github dot com> @@ -240,6 +252,7 @@ Additional people who have contributed patches (in alphabetical order): Stefan Hudson Stephen Donnelly Steve Karg + Stig Bjørlykke stubbfel Takashi Yamamoto Tanaka Shin-ya diff --git a/libpcap/INSTALL.md b/libpcap/INSTALL.md index 278758076..9d47aa126 100644 --- a/libpcap/INSTALL.md +++ b/libpcap/INSTALL.md @@ -8,6 +8,10 @@ To build libpcap with the configure script and `make`: run `./autogen.sh` (a shell script). The autogen.sh script will build the `configure` and `config.h.in` files. +* If you build on a Linux 32-bit system, with Autoconf version >= 2.72 +and GNU C Library version >= 2.34, run `export BUILD_YEAR2038=yes` +before running `./autogen.sh` to build with 64-bit time_t (Y2038-safe). + On some system, you may need to set the `AUTORECONF` variable, like: `AUTORECONF=autoreconf-2.69 ./autogen.sh` to select the `autoreconf` version you want to use. @@ -211,7 +215,7 @@ in `/usr/include/sys/dlpi.h`, and find the corresponding value. doc/README.sita - notes on using libpcap to capture on SITA devices doc/README.solaris.md - notes on using libpcap on Solaris doc/README.windows.md - notes on using libpcap on Windows systems (with Npcap) - VERSION - version of this release + VERSION.txt - version of this release aclocal.m4 - autoconf macros arcnet.h - ARCNET definitions atmuni31.h - ATM Q.2931 definitions diff --git a/libpcap/Makefile.in b/libpcap/Makefile.in index 3ce34aef8..56d312b56 100644 --- a/libpcap/Makefile.in +++ b/libpcap/Makefile.in @@ -160,8 +160,8 @@ GENHDR = \ TAGFILES = \ $(SRC) $(HDR) -CLEANFILES = $(OBJ) libpcap.a libpcap.so.`cat $(srcdir)/VERSION` \ - $(PROG)-`cat $(srcdir)/VERSION`.tar.gz \ +CLEANFILES = $(OBJ) libpcap.a libpcap.so.`cat $(srcdir)/VERSION.txt` \ + $(PROG)-`cat $(srcdir)/VERSION.txt`.tar.gz \ lex.yy.c pcap-config libpcap.pc libpcap.$(DYEXT) MAN1 = pcap-config.1 @@ -261,7 +261,7 @@ EXTRA_DIST = \ doc/README.windows.md \ CONTRIBUTING.md \ TODO \ - VERSION \ + VERSION.txt \ aclocal.m4 \ autogen.sh \ charconv.c \ @@ -288,6 +288,7 @@ EXTRA_DIST = \ fad-glifc.c \ grammar.y.in \ install-sh \ + instrument-functions.c \ lbl/os-aix4.h \ lbl/os-aix7.h \ lbl/os-hpux11.h \ @@ -399,14 +400,6 @@ EXTRA_DIST = \ testprogs/filtertest.c \ testprogs/findalldevstest.c \ testprogs/findalldevstest-perf.c \ - testprogs/fuzz/CMakeLists.txt \ - testprogs/fuzz/fuzz_both.c \ - testprogs/fuzz/fuzz_both.options \ - testprogs/fuzz/fuzz_filter.c \ - testprogs/fuzz/fuzz_filter.options \ - testprogs/fuzz/fuzz_pcap.c \ - testprogs/fuzz/fuzz_pcap.options \ - testprogs/fuzz/onefile.c \ testprogs/nonblocktest.c \ testprogs/opentest.c \ testprogs/reactivatetest.c \ @@ -414,6 +407,7 @@ EXTRA_DIST = \ testprogs/threadsignaltest.c \ testprogs/unix.h \ testprogs/valgrindtest.c \ + testprogs/versiontest.c \ testprogs/visopts.py \ testprogs/writecaptest.c @@ -443,8 +437,8 @@ shared: libpcap.$(DYEXT) libpcap.so: $(OBJ) @rm -f $@ - VER=`cat $(srcdir)/VERSION`; \ - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ @V_SHLIB_CMD@ $(LDFLAGS) @V_SHLIB_OPT@ @V_SONAME_OPT@$@.$$MAJOR_VER \ -o $@.$$VER $(OBJ) $(ADDLOBJS) $(LIBS) @@ -459,17 +453,17 @@ libpcap.so: $(OBJ) # but not in the older version. # # We also use "A" as the major version, and 1 as the compatibility version, -# but set the current version to the value in VERSION, with any non-numeric +# but set the current version to the value in VERSION.txt, with any non-numeric # stuff stripped off (the compatibility and current version must be of the # form X[.Y[.Z]], with Y and Z possibly absent, and with all components # numeric). # libpcap.dylib: $(OBJ) rm -f libpcap*.dylib - VER=`cat $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ MAJOR_VER=A; \ COMPAT_VER=1; \ - CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION`; \ + CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION.txt`; \ $(CC) -dynamiclib -undefined error $(LDFLAGS) @V_LIB_LDFLAGS_FAT@ \ -o libpcap.$$VER.dylib $(OBJ) $(ADDLOBJS) $(LIBS) \ -install_name $(libdir)/libpcap.$$MAJOR_VER.dylib \ @@ -489,9 +483,9 @@ libpcap.dylib: $(OBJ) # linker, even with GCC. # libpcap.sl: $(OBJ) - @MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + @MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ rm -f libpcap.$$MAJOR_VER - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ ld -b $(LDFLAGS) -o libpcap.$$MAJOR_VER +h libpcap.$$MAJOR_VER \ $(OBJ) $(ADDLOBJS) $(LIBS) @@ -682,15 +676,15 @@ install-shared: install-shared-$(DYEXT) install-shared-so: libpcap.so [ -d $(DESTDIR)$(libdir) ] || \ (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) - VER=`cat $(srcdir)/VERSION`; \ - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ $(INSTALL_PROGRAM) libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ ln -sf libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ ln -sf libpcap.so.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.so install-shared-dylib: libpcap.dylib [ -d $(DESTDIR)$(libdir) ] || \ (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) - VER=`cat $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ MAJOR_VER=A; \ $(INSTALL_PROGRAM) libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ ln -sf libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ @@ -698,7 +692,7 @@ install-shared-dylib: libpcap.dylib install-shared-sl: libpcap.sl [ -d $(DESTDIR)$(libdir) ] || \ (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ $(INSTALL_PROGRAM) libpcap.$$MAJOR_VER $(DESTDIR)$(libdir) ln -sf libpcap.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.sl # @@ -765,19 +759,19 @@ uninstall: uninstall-shared uninstall-rpcapd uninstall-shared: uninstall-shared-$(DYEXT) uninstall-shared-so: - VER=`cat $(srcdir)/VERSION`; \ - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ rm -f $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ rm -f $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ rm -f $(DESTDIR)$(libdir)/libpcap.so uninstall-shared-dylib: - VER=`cat $(srcdir)/VERSION`; \ + VER=`cat $(srcdir)/VERSION.txt`; \ MAJOR_VER=A; \ rm -f $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ rm -f $(DESTDIR)$(libdir)/libpcap.dylib uninstall-shared-sl: - MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ + MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER; \ rm -f $(DESTDIR)$(libdir)/libpcap.sl uninstall-shared-shareda: @@ -824,7 +818,7 @@ tags: $(TAGFILES) # git archive doesn't write one.) # releasetar: - @TAG=$(PROG)-`cat VERSION` && \ + @TAG=$(PROG)-`cat VERSION.txt` && \ if [ ! -d .git ]; then echo 'Not in a git clone, stop.'; exit 1; fi && \ TMPTESTFILE=`mktemp -t tmptestfile_XXXXXXXX` && \ rm -f "$$TMPTESTFILE" && \ @@ -842,7 +836,7 @@ releasetar: tar xf -) && \ echo "No $$TAG tag. Archive build from HEAD."; \ fi && \ - (cd "$$TAG" && "$${AUTORECONF:-autoreconf}" && rm -rf autom4te.cache) && \ + (cd "$$TAG" && ./autogen.sh && rm -rf autom4te.cache) && \ tar cf "$$DIR/$$TAG".tar "$$TAG" && \ rm -f "$$DIR/$$TAG".tar.gz && \ gzip --best "$$DIR/$$TAG".tar && \ @@ -850,7 +844,7 @@ releasetar: rm -rf "$$AUTORECONF_DIR" releasecheck: releasetar - @TAG=$(PROG)-`cat VERSION` && \ + @TAG=$(PROG)-`cat VERSION.txt` && \ INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \ DIR=`pwd` && \ cd /tmp && \ diff --git a/libpcap/NMAP_MODIFICATIONS/0003-Rename-VERSION-file.patch b/libpcap/NMAP_MODIFICATIONS/0003-Rename-VERSION-file.patch new file mode 100644 index 000000000..0ec5b7af4 --- /dev/null +++ b/libpcap/NMAP_MODIFICATIONS/0003-Rename-VERSION-file.patch @@ -0,0 +1,200 @@ +--- a/libpcap/CMakeLists.txt ++++ b/libpcap/CMakeLists.txt +@@ -552,11 +552,11 @@ option(YYDEBUG "Build parser debugging code" OFF) + # Versioning + ################################################################### + +-# Get, parse, format and set pcap's version string from [pcap_root]/VERSION ++# Get, parse, format and set pcap's version string from [pcap_root]/VERSION.txt + # for later use. + + # Get MAJOR, MINOR, PATCH & SUFFIX +-file(STRINGS ${pcap_SOURCE_DIR}/VERSION ++file(STRINGS ${pcap_SOURCE_DIR}/VERSION.txt + PACKAGE_VERSION + LIMIT_COUNT 1 # Read only the first line + ) +--- a/libpcap/INSTALL.md ++++ b/libpcap/INSTALL.md +@@ -215,7 +215,7 @@ in `/usr/include/sys/dlpi.h`, and find the corresponding value. + doc/README.sita - notes on using libpcap to capture on SITA devices + doc/README.solaris.md - notes on using libpcap on Solaris + doc/README.windows.md - notes on using libpcap on Windows systems (with Npcap) +- VERSION - version of this release ++ VERSION.txt - version of this release + aclocal.m4 - autoconf macros + arcnet.h - ARCNET definitions + atmuni31.h - ATM Q.2931 definitions +--- a/libpcap/Makefile.in ++++ b/libpcap/Makefile.in +@@ -160,8 +160,8 @@ GENHDR = \ + TAGFILES = \ + $(SRC) $(HDR) + +-CLEANFILES = $(OBJ) libpcap.a libpcap.so.`cat $(srcdir)/VERSION` \ +- $(PROG)-`cat $(srcdir)/VERSION`.tar.gz \ ++CLEANFILES = $(OBJ) libpcap.a libpcap.so.`cat $(srcdir)/VERSION.txt` \ ++ $(PROG)-`cat $(srcdir)/VERSION.txt`.tar.gz \ + lex.yy.c pcap-config libpcap.pc libpcap.$(DYEXT) + + MAN1 = pcap-config.1 +@@ -261,7 +261,7 @@ EXTRA_DIST = \ + doc/README.windows.md \ + CONTRIBUTING.md \ + TODO \ +- VERSION \ ++ VERSION.txt \ + aclocal.m4 \ + autogen.sh \ + charconv.c \ +@@ -437,8 +437,8 @@ shared: libpcap.$(DYEXT) + + libpcap.so: $(OBJ) + @rm -f $@ +- VER=`cat $(srcdir)/VERSION`; \ +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + @V_SHLIB_CMD@ $(LDFLAGS) @V_SHLIB_OPT@ @V_SONAME_OPT@$@.$$MAJOR_VER \ + -o $@.$$VER $(OBJ) $(ADDLOBJS) $(LIBS) + +@@ -453,17 +453,17 @@ libpcap.so: $(OBJ) + # but not in the older version. + # + # We also use "A" as the major version, and 1 as the compatibility version, +-# but set the current version to the value in VERSION, with any non-numeric ++# but set the current version to the value in VERSION.txt, with any non-numeric + # stuff stripped off (the compatibility and current version must be of the + # form X[.Y[.Z]], with Y and Z possibly absent, and with all components + # numeric). + # + libpcap.dylib: $(OBJ) + rm -f libpcap*.dylib +- VER=`cat $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=A; \ + COMPAT_VER=1; \ +- CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION`; \ ++ CURRENT_VER=`sed 's/[^0-9.].*$$//' $(srcdir)/VERSION.txt`; \ + $(CC) -dynamiclib -undefined error $(LDFLAGS) @V_LIB_LDFLAGS_FAT@ \ + -o libpcap.$$VER.dylib $(OBJ) $(ADDLOBJS) $(LIBS) \ + -install_name $(libdir)/libpcap.$$MAJOR_VER.dylib \ +@@ -483,9 +483,9 @@ libpcap.dylib: $(OBJ) + # linker, even with GCC. + # + libpcap.sl: $(OBJ) +- @MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ @MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + rm -f libpcap.$$MAJOR_VER +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + ld -b $(LDFLAGS) -o libpcap.$$MAJOR_VER +h libpcap.$$MAJOR_VER \ + $(OBJ) $(ADDLOBJS) $(LIBS) + +@@ -676,15 +676,15 @@ install-shared: install-shared-$(DYEXT) + install-shared-so: libpcap.so + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) +- VER=`cat $(srcdir)/VERSION`; \ +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + $(INSTALL_PROGRAM) libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ + ln -sf libpcap.so.$$VER $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ + ln -sf libpcap.so.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.so + install-shared-dylib: libpcap.dylib + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) +- VER=`cat $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=A; \ + $(INSTALL_PROGRAM) libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ + ln -sf libpcap.$$VER.dylib $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ +@@ -692,7 +692,7 @@ install-shared-dylib: libpcap.dylib + install-shared-sl: libpcap.sl + [ -d $(DESTDIR)$(libdir) ] || \ + (mkdir -p $(DESTDIR)$(libdir); chmod 755 $(DESTDIR)$(libdir)) +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + $(INSTALL_PROGRAM) libpcap.$$MAJOR_VER $(DESTDIR)$(libdir) + ln -sf libpcap.$$MAJOR_VER $(DESTDIR)$(libdir)/libpcap.sl + # +@@ -759,19 +759,19 @@ uninstall: uninstall-shared uninstall-rpcapd + + uninstall-shared: uninstall-shared-$(DYEXT) + uninstall-shared-so: +- VER=`cat $(srcdir)/VERSION`; \ +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + rm -f $(DESTDIR)$(libdir)/libpcap.so.$$VER; \ + rm -f $(DESTDIR)$(libdir)/libpcap.so.$$MAJOR_VER; \ + rm -f $(DESTDIR)$(libdir)/libpcap.so + uninstall-shared-dylib: +- VER=`cat $(srcdir)/VERSION`; \ ++ VER=`cat $(srcdir)/VERSION.txt`; \ + MAJOR_VER=A; \ + rm -f $(DESTDIR)$(libdir)/libpcap.$$VER.dylib; \ + rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER.dylib; \ + rm -f $(DESTDIR)$(libdir)/libpcap.dylib + uninstall-shared-sl: +- MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION`; \ ++ MAJOR_VER=`sed 's/\([0-9][0-9]*\)\..*/\1/' $(srcdir)/VERSION.txt`; \ + rm -f $(DESTDIR)$(libdir)/libpcap.$$MAJOR_VER; \ + rm -f $(DESTDIR)$(libdir)/libpcap.sl + uninstall-shared-shareda: +@@ -818,7 +818,7 @@ tags: $(TAGFILES) + # git archive doesn't write one.) + # + releasetar: +- @TAG=$(PROG)-`cat VERSION` && \ ++ @TAG=$(PROG)-`cat VERSION.txt` && \ + if [ ! -d .git ]; then echo 'Not in a git clone, stop.'; exit 1; fi && \ + TMPTESTFILE=`mktemp -t tmptestfile_XXXXXXXX` && \ + rm -f "$$TMPTESTFILE" && \ +@@ -844,7 +844,7 @@ releasetar: + rm -rf "$$AUTORECONF_DIR" + + releasecheck: releasetar +- @TAG=$(PROG)-`cat VERSION` && \ ++ @TAG=$(PROG)-`cat VERSION.txt` && \ + INSTALL_DIR=/tmp/install_"$$TAG"_$$$$ && \ + DIR=`pwd` && \ + cd /tmp && \ +--- a/libpcap/configure.ac ++++ b/libpcap/configure.ac +@@ -16,7 +16,7 @@ dnl + + AC_PREREQ(2.69) + +-AC_INIT(pcap, m4_esyscmd_s([cat VERSION])) ++AC_INIT(pcap, m4_esyscmd_s([cat VERSION.txt])) + AC_CONFIG_SRCDIR(pcap.c) + AC_SUBST(PACKAGE_NAME) + +--- a/libpcap/msdos/makefile.dj ++++ b/libpcap/msdos/makefile.dj +@@ -86,9 +86,9 @@ grammar.c tokdefs.h: grammar.y + mv -f y.tab.c grammar.c + mv -f y.tab.h tokdefs.h + +-version.h: ./VERSION +- @echo '/* Generated from VERSION. Do not edit */' > $@ +- sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION >> $@ ++version.h: ./VERSION.txt ++ @echo '/* Generated from VERSION.txt. Do not edit */' > $@ ++ sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION.txt >> $@ + + scanner.c: scanner.l + $(LEX) -Ppcap_ -7 -t $^ > $@ +--- a/libpcap/pcap-config.1 ++++ b/libpcap/pcap-config.1 +@@ -64,7 +64,7 @@ Produce a help message and exit. + .TP + .B \-\-version + Produce libpcap version and exit. The version is the contents of +-.I VERSION ++.I VERSION.txt + file in libpcap source tree rather than the result of + .BR \%pcap_lib_version (3PCAP). + diff --git a/libpcap/NMAP_MODIFICATIONS/HOWTO-UPGRADE b/libpcap/NMAP_MODIFICATIONS/HOWTO-UPGRADE index 81fc3768e..0df26f205 100644 --- a/libpcap/NMAP_MODIFICATIONS/HOWTO-UPGRADE +++ b/libpcap/NMAP_MODIFICATIONS/HOWTO-UPGRADE @@ -4,7 +4,7 @@ and verify the signature. cd # Make a copy of this directory. cp -r ~/nmap/libpcap/NMAP_MODIFICATIONS . -tar xzvf libpcap-X.Y.tar.gz +tar xzvf libpcap-X.Y.tar.xz cd nmap rsync -rv --delete ~/libpcap-X.Y/ ~/nmap/libpcap/ # Remove some things we don't want to ship @@ -20,6 +20,7 @@ git add grammar.[ch] scanner.[ch] cd .. # Apply remaining patches. git apply ~/NMAP_MODIFICATIONS/0001-Don-t-autogenerate-Lex-Yacc-files.patch +git apply ~/NMAP_MODIFICATIONS/0003-Rename-VERSION-file.patch # Make changes as necessary and update the patch files cd libpcap autoconf diff --git a/libpcap/VERSION.txt b/libpcap/VERSION.txt index db77e0ee9..7b4d9a4ff 100644 --- a/libpcap/VERSION.txt +++ b/libpcap/VERSION.txt @@ -1 +1 @@ -1.10.5 +1.10.6 diff --git a/libpcap/aclocal.m4 b/libpcap/aclocal.m4 index 374a68db2..1ad668080 100644 --- a/libpcap/aclocal.m4 +++ b/libpcap/aclocal.m4 @@ -825,6 +825,11 @@ dnl os-proto.h (symlinked) dnl AC_DEFUN(AC_LBL_DEVEL, [rm -f os-proto.h + # + # MKDEP defaults to no-op (":") if we don't test whether the compiler + # supports generating dependencies + # + MKDEP=: if test "${LBL_CFLAGS+set}" = set; then $1="$$1 ${LBL_CFLAGS}" fi @@ -901,14 +906,16 @@ testme(unsigned short a) # .devel file; why should the ABI for which we produce code # depend on .devel? # + AC_MSG_CHECKING([whether to use an os-proto.h header]) os=`echo $host_os | sed -e 's/\([[0-9]][[0-9]]*\)[[^0-9]].*$/\1/'` name="lbl/os-$os.h" if test -f $name ; then + AC_MSG_RESULT([yes, at "$name"]) ln -s $name os-proto.h AC_DEFINE(HAVE_OS_PROTO_H, 1, - [if there's an os_proto.h for this platform, to use additional prototypes]) + [if there's an os-proto.h for this platform, to use additional prototypes]) else - AC_MSG_WARN(can't find $name) + AC_MSG_RESULT([no]) fi fi]) diff --git a/libpcap/autogen.sh b/libpcap/autogen.sh index c84a6b5c5..ee72627ff 100755 --- a/libpcap/autogen.sh +++ b/libpcap/autogen.sh @@ -1,6 +1,7 @@ #!/bin/sh -e : "${AUTORECONF:=autoreconf}" +: "${BUILD_YEAR2038:=no}" AUTORECONFVERSION=`$AUTORECONF --version 2>&1 | grep "^autoreconf" | sed 's/.*) *//'` @@ -21,5 +22,43 @@ if [ "$maj" = "" ] || [ "$min" = "" ] || \ exit 1 fi +# On Linux, if Autoconf version >= 2.72 and GNU C Library version >= 2.34, +# s/AC_SYS_LARGEFILE/AC_SYS_YEAR2038_RECOMMENDED/ to ensure time_t +# is Y2038-safe. +if [ "$BUILD_YEAR2038" = yes ] && [ "`uname -s`" = Linux ]; then + if [ "$maj" -gt 2 ] || { [ "$maj" -eq 2 ] && [ "$min" -ge 72 ]; }; then + GLIBC_VERSION=`ldd --version|head -1|grep GLIBC|sed 's/.* //'` + maj_glibc=`echo "$GLIBC_VERSION" | cut -d. -f1` + min_glibc=`echo "$GLIBC_VERSION" | cut -d. -f2` + echo "GNU C Library identification: $GLIBC_VERSION" + if [ "$maj_glibc" -gt 2 ] || { [ "$maj_glibc" -eq 2 ] && \ + [ "$min_glibc" -ge 34 ]; }; then + CONFIGURE_AC_NEW="configure.ac.new$$" + sed 's/^AC_SYS_LARGEFILE/AC_SYS_YEAR2038_RECOMMENDED/' \ + "$CONFIGURE_AC_NEW" + cmp -s configure.ac "$CONFIGURE_AC_NEW" || \ + cat "$CONFIGURE_AC_NEW" >configure.ac + rm -f "$CONFIGURE_AC_NEW" + echo 'Setup to ensure time_t is Y2038-safe.' + fi + fi +fi + echo "$AUTORECONF identification: $AUTORECONFVERSION" -"$AUTORECONF" -f + +# configure.ac is an Autoconf 2.69 file, but it works as expected even with +# Autoconf 2.72. However, in Autoconf versions 2.70 and later obsolete +# construct warnings are enabled by default, which adds varying (depending on +# the branch) amount of noise to the build matrix output, so provide a means +# to silence that. +env ${AUTOCONF_WARNINGS:+WARNINGS="$AUTOCONF_WARNINGS"} "$AUTORECONF" -f + +# Autoconf 2.71 adds a blank line after the final "exit 0" on Linux, but not +# on OpenBSD. Remove this difference to make it easier to compare the result +# of "make releasetar" across different platforms. From sed one-liners: +# "delete all trailing blank lines at end of file (works on all seds)". Don't +# use mktemp(1) because AIX does not have it. +CONFIGURE_NEW="configure.new$$" +sed -e :a -e '/^\n*$/{$d;N;ba' -e '}' "$CONFIGURE_NEW" +cmp -s configure "$CONFIGURE_NEW" || cat "$CONFIGURE_NEW" >configure +rm -f "$CONFIGURE_NEW" diff --git a/libpcap/cmake/Modules/FindPacket.cmake b/libpcap/cmake/Modules/FindPacket.cmake index 8224cd3f3..3d31cba83 100644 --- a/libpcap/cmake/Modules/FindPacket.cmake +++ b/libpcap/cmake/Modules/FindPacket.cmake @@ -47,42 +47,27 @@ # (e.g cmake -DPacket_ROOT=C:\path\to\packet [...]) # -# The 64-bit Packet.lib is located under /x64 -if(CMAKE_SIZEOF_VOID_P EQUAL 8) +if(CMAKE_GENERATOR_PLATFORM STREQUAL "Win32") + # + # 32-bit x86; no need to look in subdirectories of the SDK's + # Lib directory for the libraries, as the libraries are in + # the Lib directory + # +else() + # + # Platform other than 32-bit x86. # # For the WinPcap and Npcap SDKs, the Lib subdirectory of the top-level - # directory contains 32-bit libraries; the 64-bit libraries are in the - # Lib/x64 directory. + # directory contains 32-bit x86 libraries; the libraries for other + # platforms are in subdirectories of the Lib directory whose names + # are the names of the supported platforms. # - # The only way to *FORCE* CMake to look in the Lib/x64 directory - # without searching in the Lib directory first appears to be to set - # CMAKE_LIBRARY_ARCHITECTURE to "x64". + # The only way to *FORCE* CMake to look in the appropriate + # subdirectory of Lib for libraries without searching in the + # Lib directory first appears to be to set + # CMAKE_LIBRARY_ARCHITECTURE to the name of the subdirectory. # - # In newer versions of CMake, CMAKE_LIBRARY_ARCHITECTURE is set according to - # the language, e.g., CMAKE__LIBRARY_ARCHITECTURE. So, set the new - # variable, CMAKE_C_LIBRARY_ARCHITECTURE, so that CMAKE_LIBRARY_ARCHITECTURE - # inherits the correct value. - # - set(archdetect_c_code " - #ifndef _M_ARM64 - #error Not ARM64 - #endif - int main() { return 0; } - ") - - file(WRITE "${CMAKE_BINARY_DIR}/archdetect.c" "${archdetect_c_code}") - try_compile( - IsArm64 - "${CMAKE_BINARY_DIR}/archdetect" - "${CMAKE_BINARY_DIR}/archdetect.c" - ) - if(IsArm64) - set(CMAKE_C_LIBRARY_ARCHITECTURE "ARM64") - set(CMAKE_LIBRARY_ARCHITECTURE "ARM64") - else() - set(CMAKE_C_LIBRARY_ARCHITECTURE "x64") - set(CMAKE_LIBRARY_ARCHITECTURE "x64") - endif() + set(CMAKE_LIBRARY_ARCHITECTURE "${CMAKE_GENERATOR_PLATFORM}") endif() # Find the header diff --git a/libpcap/cmakeconfig.h.in b/libpcap/cmakeconfig.h.in index ae7cf5252..b7b20fc4d 100644 --- a/libpcap/cmakeconfig.h.in +++ b/libpcap/cmakeconfig.h.in @@ -93,9 +93,6 @@ /* Define to 1 if you have the header file. */ #cmakedefine HAVE_LINUX_USBDEVICE_FS_H 1 -/* Define to 1 if you have the header file. */ -#cmakedefine HAVE_LINUX_WIRELESS_H 1 - /* Define to 1 if you have the header file. */ #cmakedefine HAVE_MEMORY_H 1 @@ -129,6 +126,9 @@ /* Define to 1 if Packet32 API (Npcap driver) is available */ #cmakedefine HAVE_PACKET32 1 +/* Define to 1 if Npcap BPF extension definitions are available */ +#cmakedefine HAVE_NPCAP_BPF_H 1 + /* Define to 1 if NPcap's version.h is available */ #cmakedefine HAVE_VERSION_H 1 @@ -265,6 +265,9 @@ /* Define to 1 if you have the `PacketIsLoopbackAdapter' function. */ #cmakedefine HAVE_PACKET_IS_LOOPBACK_ADAPTER 1 +/* Define to 1 if you have the `PacketGetInfo' function. */ +#cmakedefine HAVE_PACKET_GET_INFO 1 + /* IPv6 */ #cmakedefine INET6 1 @@ -325,6 +328,9 @@ /* target host supports RDMA sniffing */ #cmakedefine PCAP_SUPPORT_RDMASNIFF 1 +/* The size of `time_t', as computed by sizeof. */ +#cmakedefine SIZEOF_TIME_T @SIZEOF_TIME_T@ + /* Define to 1 if you have the ANSI C header files. */ #cmakedefine STDC_HEADERS 1 diff --git a/libpcap/config.h.in b/libpcap/config.h.in index fbc49c1d1..e3cad6190 100644 --- a/libpcap/config.h.in +++ b/libpcap/config.h.in @@ -102,9 +102,6 @@ /* Define to 1 if you have the header file. */ #undef HAVE_LINUX_USBDEVICE_FS_H -/* Define to 1 if you have the header file. */ -#undef HAVE_LINUX_WIRELESS_H - /* Define to 1 if you have the header file. */ #undef HAVE_NETPACKET_PACKET_H @@ -138,7 +135,7 @@ /* Use OpenSSL */ #undef HAVE_OPENSSL -/* if there's an os_proto.h for this platform, to use additional prototypes */ +/* if there's an os-proto.h for this platform, to use additional prototypes */ #undef HAVE_OS_PROTO_H /* Define to 1 if you have a POSIX-style `strerror_r' function. */ @@ -256,6 +253,9 @@ /* Define to 1 if you have the `vsyslog' function. */ #undef HAVE_VSYSLOG +/* Define to 1 if you have the header file. */ +#undef HAVE_ZONE_H + /* Define to 1 if you have the `_wcserror_s' function. */ #undef HAVE__WCSERROR_S diff --git a/libpcap/configure b/libpcap/configure index 1c881aa52..b56da5646 100755 --- a/libpcap/configure +++ b/libpcap/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71. +# Generated by GNU Autoconf 2.71 for pcap 1.10.6. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -606,14 +606,13 @@ MFLAGS= MAKEFLAGS= # Identity of this package. -PACKAGE_NAME='' -PACKAGE_TARNAME='' -PACKAGE_VERSION='' -PACKAGE_STRING='' +PACKAGE_NAME='pcap' +PACKAGE_TARNAME='pcap' +PACKAGE_VERSION='1.10.6' +PACKAGE_STRING='pcap 1.10.6' PACKAGE_BUGREPORT='' PACKAGE_URL='' -ac_unique_file="pcap" ac_unique_file="pcap.c" # Factoring default headers for most tests. ac_includes_default="\ @@ -869,7 +868,7 @@ localstatedir='${prefix}/var' runstatedir='${localstatedir}/run' includedir='${prefix}/include' oldincludedir='/usr/include' -docdir='${datarootdir}/doc/${PACKAGE}' +docdir='${datarootdir}/doc/${PACKAGE_TARNAME}' infodir='${datarootdir}/info' htmldir='${docdir}' dvidir='${docdir}' @@ -1376,7 +1375,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures this package to adapt to many kinds of systems. +\`configure' configures pcap 1.10.6 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1425,7 +1424,7 @@ Fine tuning of the installation directories: --infodir=DIR info documentation [DATAROOTDIR/info] --localedir=DIR locale-dependent data [DATAROOTDIR/locale] --mandir=DIR man documentation [DATAROOTDIR/man] - --docdir=DIR documentation root [DATAROOTDIR/doc/PACKAGE] + --docdir=DIR documentation root [DATAROOTDIR/doc/pcap] --htmldir=DIR html documentation [DOCDIR] --dvidir=DIR dvi documentation [DOCDIR] --pdfdir=DIR pdf documentation [DOCDIR] @@ -1442,7 +1441,9 @@ _ACEOF fi if test -n "$ac_init_help"; then - + case $ac_init_help in + short | recursive ) echo "Configuration of pcap 1.10.6:";; + esac cat <<\_ACEOF Optional Features: @@ -1458,16 +1459,12 @@ Optional Features: --enable-optimizer-dbg build optimizer debugging code --enable-yydebug build parser debugging code --disable-universal don't build universal on macOS - --enable-shared build shared libraries [default=yes, if support - available] - --enable-usb enable Linux usbmon USB capture support - [default=yes, if support available] + --enable-shared build shared libraries [default=no] + --enable-usb enable USB capture support [default=no] --enable-netmap enable netmap support [default=yes, if support available] - --enable-bluetooth enable Bluetooth support [default=yes, if support - available] - --enable-dbus enable D-Bus capture support [default=yes, if - support available] + --enable-bluetooth enable Bluetooth support [default=no] + --enable-dbus enable D-Bus capture support [default=no] --enable-rdma enable RDMA capture support [default=yes, if support available] @@ -1476,8 +1473,7 @@ Optional Packages: --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --without-gcc don't use gcc --with-pcap=TYPE use packet capture TYPE - --without-libnl disable libnl support [default=yes, on Linux, if - present] + --without-libnl disable libnl support [default=disabled] --with-dag[=DIR] include Endace DAG support (located in directory DIR, if supplied). [default=yes, if present] --with-dag-includes=IDIR @@ -1496,7 +1492,7 @@ Optional Packages: directory DIR, if supplied). [default=yes, if present] --with-dpdk[=DIR] include DPDK support (located in directory DIR, if - supplied). [default=yes, if present] + supplied). [default=no] Some influential environment variables: CC C compiler command @@ -1605,7 +1601,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -configure +pcap configure 1.10.6 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -1658,6 +1654,53 @@ fi } # ac_fn_c_try_compile +# ac_fn_c_try_link LINENO +# ----------------------- +# Try to link conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_link () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext + if { { ac_try="$ac_link" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_link") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } && { + test -z "$ac_c_werror_flag" || + test ! -s conftest.err + } && test -s conftest$ac_exeext && { + test "$cross_compiling" = yes || + test -x conftest$ac_exeext + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information + # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would + # interfere with the next link command; also delete a directory that is + # left behind by Apple's compiler. We do this before executing the actions. + rm -rf conftest.dSYM conftest_ipa8_conftest.oo + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_link + # ac_fn_c_try_run LINENO # ---------------------- # Try to run conftest.$ac_ext, and return whether this succeeded. Assumes that @@ -2177,7 +2220,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by $as_me, which was +It was created by pcap $as_me 1.10.6, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -4214,11 +4257,288 @@ if test "$ac_cv_prog_cc_c99" = "no"; then as_fn_error $? "The C compiler does not support C99" "$LINENO" 5 fi +# +# Try to arrange for large file support. +# + +# Check whether --enable-largefile was given. +if test ${enable_largefile+y} +then : + enableval=$enable_largefile; +fi + +if test "$enable_largefile" != no; then + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 +printf %s "checking for special C compiler options needed for large files... " >&6; } +if test ${ac_cv_sys_largefile_CC+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ac_cv_sys_largefile_CC=no + if test "$GCC" != yes; then + ac_save_CC=$CC + while :; do + # IRIX 6.2 and later do not support large files by default, + # so use the C compiler's -n32 option if that helps. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF + if ac_fn_c_try_compile "$LINENO" +then : + break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + CC="$CC -n32" + if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_largefile_CC=' -n32'; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam + break + done + CC=$ac_save_CC + rm -f conftest.$ac_ext + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 +printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; } + if test "$ac_cv_sys_largefile_CC" != no; then + CC=$CC$ac_cv_sys_largefile_CC + fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 +printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } +if test ${ac_cv_sys_file_offset_bits+y} +then : + printf %s "(cached) " >&6 +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_file_offset_bits=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _FILE_OFFSET_BITS 64 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_file_offset_bits=64; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_sys_file_offset_bits=unknown + break +done +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 +printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; } +case $ac_cv_sys_file_offset_bits in #( + no | unknown) ;; + *) +printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h +;; +esac +rm -rf conftest* + if test $ac_cv_sys_file_offset_bits = unknown; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 +printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } +if test ${ac_cv_sys_large_files+y} +then : + printf %s "(cached) " >&6 +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_large_files=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGE_FILES 1 +#include + /* Check that off_t can represent 2**63 - 1 correctly. + We can't simply define LARGE_OFF_T to be 9223372036854775807, + since some C++ compilers masquerading as C compilers + incorrectly reject 9223372036854775807. */ +#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) + int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 + && LARGE_OFF_T % 2147483647 == 1) + ? 1 : -1]; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + ac_cv_sys_large_files=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + ac_cv_sys_large_files=unknown + break +done +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 +printf "%s\n" "$ac_cv_sys_large_files" >&6; } +case $ac_cv_sys_large_files in #( + no | unknown) ;; + *) +printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h +;; +esac +rm -rf conftest* + fi +fi + +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 +printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } +if test ${ac_cv_sys_largefile_source+y} +then : + printf %s "(cached) " >&6 +else $as_nop + while :; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include /* for off_t */ + #include +int +main (void) +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_sys_largefile_source=no; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#define _LARGEFILE_SOURCE 1 +#include /* for off_t */ + #include +int +main (void) +{ +int (*fp) (FILE *, off_t, int) = fseeko; + return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_cv_sys_largefile_source=1; break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + ac_cv_sys_largefile_source=unknown + break +done +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 +printf "%s\n" "$ac_cv_sys_largefile_source" >&6; } +case $ac_cv_sys_largefile_source in #( + no | unknown) ;; + *) +printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h +;; +esac +rm -rf conftest* + +# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug +# in glibc 2.1.3, but that breaks too many other things. +# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. +if test $ac_cv_sys_largefile_source != unknown; then + +printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h + +fi + + # # Get the size of a void *, to determine whether this is a 32-bit # or 64-bit build. # - ac_header= ac_cache= for ac_item in $ac_header_c_list do @@ -4980,54 +5300,7 @@ printf %s "checking for __atomic_load_n... " >&6; } then : printf %s "(cached) " >&6 else $as_nop - -# ac_fn_c_try_link LINENO -# ----------------------- -# Try to link conftest.$ac_ext, and return whether this succeeded. -ac_fn_c_try_link () -{ - as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack - rm -f conftest.$ac_objext conftest.beam conftest$ac_exeext - if { { ac_try="$ac_link" -case "(($ac_try" in - *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; - *) ac_try_echo=$ac_try;; -esac -eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" -printf "%s\n" "$ac_try_echo"; } >&5 - (eval "$ac_link") 2>conftest.err - ac_status=$? - if test -s conftest.err; then - grep -v '^ *+' conftest.err >conftest.er1 - cat conftest.er1 >&5 - mv -f conftest.er1 conftest.err - fi - printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 - test $ac_status = 0; } && { - test -z "$ac_c_werror_flag" || - test ! -s conftest.err - } && test -s conftest$ac_exeext && { - test "$cross_compiling" = yes || - test -x conftest$ac_exeext - } -then : - ac_retval=0 -else $as_nop - printf "%s\n" "$as_me: failed program was:" >&5 -sed 's/^/| /' conftest.$ac_ext >&5 - - ac_retval=1 -fi - # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information - # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would - # interfere with the next link command; also delete a directory that is - # left behind by Apple's compiler. We do this before executing the actions. - rm -rf conftest.dSYM conftest_ipa8_conftest.oo - eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno - as_fn_set_status $ac_retval - -} # ac_fn_c_try_link -cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -5098,283 +5371,6 @@ printf "%s\n" "#define HAVE___ATOMIC_STORE_N 1" >>confdefs.h fi -# -# Try to arrange for large file support. -# -# Check whether --enable-largefile was given. -if test ${enable_largefile+y} -then : - enableval=$enable_largefile; -fi - -if test "$enable_largefile" != no; then - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for special C compiler options needed for large files" >&5 -printf %s "checking for special C compiler options needed for large files... " >&6; } -if test ${ac_cv_sys_largefile_CC+y} -then : - printf %s "(cached) " >&6 -else $as_nop - ac_cv_sys_largefile_CC=no - if test "$GCC" != yes; then - ac_save_CC=$CC - while :; do - # IRIX 6.2 and later do not support large files by default, - # so use the C compiler's -n32 option if that helps. - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF - if ac_fn_c_try_compile "$LINENO" -then : - break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - CC="$CC -n32" - if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_sys_largefile_CC=' -n32'; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam - break - done - CC=$ac_save_CC - rm -f conftest.$ac_ext - fi -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_CC" >&5 -printf "%s\n" "$ac_cv_sys_largefile_CC" >&6; } - if test "$ac_cv_sys_largefile_CC" != no; then - CC=$CC$ac_cv_sys_largefile_CC - fi - - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _FILE_OFFSET_BITS value needed for large files" >&5 -printf %s "checking for _FILE_OFFSET_BITS value needed for large files... " >&6; } -if test ${ac_cv_sys_file_offset_bits+y} -then : - printf %s "(cached) " >&6 -else $as_nop - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_sys_file_offset_bits=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _FILE_OFFSET_BITS 64 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_sys_file_offset_bits=64; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_cv_sys_file_offset_bits=unknown - break -done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_file_offset_bits" >&5 -printf "%s\n" "$ac_cv_sys_file_offset_bits" >&6; } -case $ac_cv_sys_file_offset_bits in #( - no | unknown) ;; - *) -printf "%s\n" "#define _FILE_OFFSET_BITS $ac_cv_sys_file_offset_bits" >>confdefs.h -;; -esac -rm -rf conftest* - if test $ac_cv_sys_file_offset_bits = unknown; then - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGE_FILES value needed for large files" >&5 -printf %s "checking for _LARGE_FILES value needed for large files... " >&6; } -if test ${ac_cv_sys_large_files+y} -then : - printf %s "(cached) " >&6 -else $as_nop - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_sys_large_files=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGE_FILES 1 -#include - /* Check that off_t can represent 2**63 - 1 correctly. - We can't simply define LARGE_OFF_T to be 9223372036854775807, - since some C++ compilers masquerading as C compilers - incorrectly reject 9223372036854775807. */ -#define LARGE_OFF_T (((off_t) 1 << 31 << 31) - 1 + ((off_t) 1 << 31 << 31)) - int off_t_is_large[(LARGE_OFF_T % 2147483629 == 721 - && LARGE_OFF_T % 2147483647 == 1) - ? 1 : -1]; -int -main (void) -{ - - ; - return 0; -} -_ACEOF -if ac_fn_c_try_compile "$LINENO" -then : - ac_cv_sys_large_files=1; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext - ac_cv_sys_large_files=unknown - break -done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_large_files" >&5 -printf "%s\n" "$ac_cv_sys_large_files" >&6; } -case $ac_cv_sys_large_files in #( - no | unknown) ;; - *) -printf "%s\n" "#define _LARGE_FILES $ac_cv_sys_large_files" >>confdefs.h -;; -esac -rm -rf conftest* - fi -fi - -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for _LARGEFILE_SOURCE value needed for large files" >&5 -printf %s "checking for _LARGEFILE_SOURCE value needed for large files... " >&6; } -if test ${ac_cv_sys_largefile_source+y} -then : - printf %s "(cached) " >&6 -else $as_nop - while :; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#include /* for off_t */ - #include -int -main (void) -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_sys_largefile_source=no; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - cat confdefs.h - <<_ACEOF >conftest.$ac_ext -/* end confdefs.h. */ -#define _LARGEFILE_SOURCE 1 -#include /* for off_t */ - #include -int -main (void) -{ -int (*fp) (FILE *, off_t, int) = fseeko; - return fseeko (stdin, 0, 0) && fp (stdin, 0, 0); - ; - return 0; -} -_ACEOF -if ac_fn_c_try_link "$LINENO" -then : - ac_cv_sys_largefile_source=1; break -fi -rm -f core conftest.err conftest.$ac_objext conftest.beam \ - conftest$ac_exeext conftest.$ac_ext - ac_cv_sys_largefile_source=unknown - break -done -fi -{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_sys_largefile_source" >&5 -printf "%s\n" "$ac_cv_sys_largefile_source" >&6; } -case $ac_cv_sys_largefile_source in #( - no | unknown) ;; - *) -printf "%s\n" "#define _LARGEFILE_SOURCE $ac_cv_sys_largefile_source" >>confdefs.h -;; -esac -rm -rf conftest* - -# We used to try defining _XOPEN_SOURCE=500 too, to work around a bug -# in glibc 2.1.3, but that breaks too many other things. -# If you want fseeko and ftello with glibc, upgrade to a fixed glibc. -if test $ac_cv_sys_largefile_source != unknown; then - -printf "%s\n" "#define HAVE_FSEEKO 1" >>confdefs.h - -fi - - ac_fn_c_check_header_compile "$LINENO" "sys/ioccom.h" "ac_cv_header_sys_ioccom_h" "$ac_includes_default" if test "x$ac_cv_header_sys_ioccom_h" = xyes then : @@ -7226,6 +7222,12 @@ if test "x$ac_cv_header_sys_dlpi_ext_h" = xyes then : printf "%s\n" "#define HAVE_SYS_DLPI_EXT_H 1" >>confdefs.h +fi +ac_fn_c_check_header_compile "$LINENO" "zone.h" "ac_cv_header_zone_h" "$ac_includes_default" +if test "x$ac_cv_header_zone_h" = xyes +then : + printf "%s\n" "#define HAVE_ZONE_H 1" >>confdefs.h + fi @@ -7412,22 +7414,6 @@ linux) # PLATFORM_C_SRC="pcap-linux.c" - # - # Do we have the wireless extensions? - # - ac_fn_c_check_header_compile "$LINENO" "linux/wireless.h" "ac_cv_header_linux_wireless_h" " -#include -#include -#include - -" -if test "x$ac_cv_header_linux_wireless_h" = xyes -then : - printf "%s\n" "#define HAVE_LINUX_WIRELESS_H 1" >>confdefs.h - -fi - - # # Do we have libnl? # We only want version 3. Version 2 was, apparently, @@ -7447,7 +7433,7 @@ else $as_nop fi - if test x$with_libnl != xno ; then + if test x$with_libnl = xyes ; then # # Check for libnl-genl-3.0 with pkg-config. # @@ -9725,7 +9711,7 @@ then : enableval=$enable_shared; fi -test "x$enable_shared" = "xno" && DYEXT="none" +test "x$enable_shared" != "xyes" && DYEXT="none" if test -n "$ac_tool_prefix"; then # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. @@ -9946,6 +9932,11 @@ fi rm -f os-proto.h + # + # MKDEP defaults to no-op (":") if we don't test whether the compiler + # supports generating dependencies + # + MKDEP=: if test "${LBL_CFLAGS+set}" = set; then V_CCOPT="$V_CCOPT ${LBL_CFLAGS}" fi @@ -12052,16 +12043,20 @@ printf "%s\n" "no" >&6; } # .devel file; why should the ABI for which we produce code # depend on .devel? # + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether to use an os-proto.h header" >&5 +printf %s "checking whether to use an os-proto.h header... " >&6; } os=`echo $host_os | sed -e 's/\([0-9][0-9]*\)[^0-9].*$/\1/'` name="lbl/os-$os.h" if test -f $name ; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes, at \"$name\"" >&5 +printf "%s\n" "yes, at \"$name\"" >&6; } ln -s $name os-proto.h printf "%s\n" "#define HAVE_OS_PROTO_H 1" >>confdefs.h else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: can't find $name" >&5 -printf "%s\n" "$as_me: WARNING: can't find $name" >&2;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } fi fi @@ -12133,7 +12128,7 @@ if test ${enable_usb+y} then : enableval=$enable_usb; else $as_nop - enable_usb=yes + enable_usb=no fi @@ -12372,9 +12367,12 @@ else $as_nop want_dpdk=no else # - # Use DPDK API if present, otherwise don't + # User didn't explicitly request DPDK; don't give it + # to them without their consent, as the code is + # immensely hard to keep compiling for every random + # API change the DPDK folks make. # - want_dpdk=ifpresent + want_dpdk=no fi fi @@ -12685,7 +12683,7 @@ if test ${enable_bluetooth+y} then : enableval=$enable_bluetooth; else $as_nop - enable_bluetooth=ifsupportavailable + enable_bluetooth=no fi @@ -12784,10 +12782,10 @@ else $as_nop # Bluetooth sniffing. # if test "x$enable_bluetooth" = "xyes" ; then - as_fn_error $? "Bluetooth sniffing is not supported; install bluez-lib devel to enable it" "$LINENO" 5 + as_fn_error $? "Bluetooth sniffing is not supported; install a Bluetooth devel library (libbluetooth-dev|bluez-libs-devel|bluez-dev|libbluetooth-devel|...) to enable it" "$LINENO" 5 else - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Bluetooth sniffing is not supported; install bluez-lib devel to enable it" >&5 -printf "%s\n" "$as_me: Bluetooth sniffing is not supported; install bluez-lib devel to enable it" >&6;} + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: Bluetooth sniffing is not supported; install a Bluetooth devel library (libbluetooth-dev|bluez-libs-devel|bluez-dev|libbluetooth-devel|...) to enable it" >&5 +printf "%s\n" "$as_me: Bluetooth sniffing is not supported; install a Bluetooth devel library (libbluetooth-dev|bluez-libs-devel|bluez-dev|libbluetooth-devel|...) to enable it" >&6;} fi fi @@ -12810,7 +12808,7 @@ if test ${enable_dbus+y} then : enableval=$enable_dbus; else $as_nop - enable_dbus=ifavailable + enable_dbus=no fi @@ -13962,7 +13960,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by $as_me, which was +This file was extended by pcap $as_me 1.10.6, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -14030,7 +14028,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -config.status +pcap config.status 1.10.6 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" diff --git a/libpcap/configure.ac b/libpcap/configure.ac index 049555406..80829c766 100644 --- a/libpcap/configure.ac +++ b/libpcap/configure.ac @@ -16,7 +16,7 @@ dnl AC_PREREQ(2.69) -AC_INIT(pcap, m4_esyscmd_s([cat VERSION])) +AC_INIT(pcap, m4_esyscmd_s([cat VERSION.txt])) AC_CONFIG_SRCDIR(pcap.c) AC_SUBST(PACKAGE_NAME) @@ -111,6 +111,12 @@ if test "$ac_cv_prog_cc_c99" = "no"; then AC_MSG_ERROR([The C compiler does not support C99]) fi +# +# Try to arrange for large file support. +# +AC_SYS_LARGEFILE +AC_FUNC_FSEEKO + # # Get the size of a void *, to determine whether this is a 32-bit # or 64-bit build. @@ -128,12 +134,6 @@ AC_LBL_SHLIBS_INIT AC_LBL_C_INLINE AC_PCAP_C___ATOMICS -# -# Try to arrange for large file support. -# -AC_SYS_LARGEFILE -AC_FUNC_FSEEKO - dnl dnl Even if were, on all OSes that support BPF, fixed to dnl include , and we were to drop support for older @@ -905,7 +905,7 @@ dlpi) # # Checks for some header files. # - AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h) + AC_CHECK_HEADERS(sys/bufmod.h sys/dlpi_ext.h zone.h) # # Checks to see if Solaris has the public libdlpi(3LIB) library. @@ -1003,16 +1003,6 @@ linux) # PLATFORM_C_SRC="pcap-linux.c" - # - # Do we have the wireless extensions? - # - AC_CHECK_HEADERS(linux/wireless.h, [], [], - [ -#include -#include -#include - ]) - # # Do we have libnl? # We only want version 3. Version 2 was, apparently, @@ -1023,10 +1013,10 @@ linux) # let's drop support for older versions of libnl, too. # AC_ARG_WITH(libnl, - AS_HELP_STRING([--without-libnl],[disable libnl support @<:@default=yes, on Linux, if present@:>@]), + AS_HELP_STRING([--without-libnl],[disable libnl support @<:@default=disabled@:>@]), with_libnl=$withval,with_libnl=if_available) - if test x$with_libnl != xno ; then + if test x$with_libnl = xyes ; then # # Check for libnl-genl-3.0 with pkg-config. # @@ -2396,8 +2386,8 @@ AC_SUBST(MAN_MISC_INFO) AC_SUBST(MAN_ADMIN_COMMANDS) AC_ARG_ENABLE(shared, -AS_HELP_STRING([--enable-shared],[build shared libraries @<:@default=yes, if support available@:>@])) -test "x$enable_shared" = "xno" && DYEXT="none" +AS_HELP_STRING([--enable-shared],[build shared libraries @<:@default=no@:>@])) +test "x$enable_shared" != "xyes" && DYEXT="none" AC_PROG_RANLIB AC_CHECK_TOOL([AR], [ar]) @@ -2447,9 +2437,9 @@ AC_CHECK_MEMBERS([dl_hp_ppa_info_t.dl_module_id_1],,, # Various Linux-specific mechanisms. # AC_ARG_ENABLE([usb], -[AS_HELP_STRING([--enable-usb],[enable Linux usbmon USB capture support @<:@default=yes, if support available@:>@])], +[AS_HELP_STRING([--enable-usb],[enable USB capture support @<:@default=no@:>@])], [], - [enable_usb=yes]) + [enable_usb=no]) # # If somebody requested an XXX-only pcap, that doesn't include @@ -2576,7 +2566,7 @@ fi # Check for DPDK support. AC_ARG_WITH([dpdk], -AS_HELP_STRING([--with-dpdk@<:@=DIR@:>@],[include DPDK support (located in directory DIR, if supplied). @<:@default=yes, if present@:>@]), +AS_HELP_STRING([--with-dpdk@<:@=DIR@:>@],[include DPDK support (located in directory DIR, if supplied). @<:@default=no@:>@]), [ if test "$withval" = no then @@ -2603,9 +2593,12 @@ AS_HELP_STRING([--with-dpdk@<:@=DIR@:>@],[include DPDK support (located in direc want_dpdk=no else # - # Use DPDK API if present, otherwise don't + # User didn't explicitly request DPDK; don't give it + # to them without their consent, as the code is + # immensely hard to keep compiling for every random + # API change the DPDK folks make. # - want_dpdk=ifpresent + want_dpdk=no fi ]) @@ -2780,9 +2773,9 @@ fi AC_SUBST(PCAP_SUPPORT_DPDK) AC_ARG_ENABLE([bluetooth], -[AS_HELP_STRING([--enable-bluetooth],[enable Bluetooth support @<:@default=yes, if support available@:>@])], +[AS_HELP_STRING([--enable-bluetooth],[enable Bluetooth support @<:@default=no@:>@])], [], - [enable_bluetooth=ifsupportavailable]) + [enable_bluetooth=no]) if test "xxx_only" = yes; then # User requested something-else-only pcap, so they don't @@ -2845,9 +2838,9 @@ if test "x$enable_bluetooth" != "xno" ; then # Bluetooth sniffing. # if test "x$enable_bluetooth" = "xyes" ; then - AC_MSG_ERROR(Bluetooth sniffing is not supported; install bluez-lib devel to enable it) + AC_MSG_ERROR(Bluetooth sniffing is not supported; install a Bluetooth devel library (libbluetooth-dev|bluez-libs-devel|bluez-dev|libbluetooth-devel|...) to enable it) else - AC_MSG_NOTICE(Bluetooth sniffing is not supported; install bluez-lib devel to enable it) + AC_MSG_NOTICE(Bluetooth sniffing is not supported; install a Bluetooth devel library (libbluetooth-dev|bluez-libs-devel|bluez-dev|libbluetooth-devel|...) to enable it) fi ]) ;; @@ -2863,9 +2856,9 @@ if test "x$enable_bluetooth" != "xno" ; then fi AC_ARG_ENABLE([dbus], -[AS_HELP_STRING([--enable-dbus],[enable D-Bus capture support @<:@default=yes, if support available@:>@])], +[AS_HELP_STRING([--enable-dbus],[enable D-Bus capture support @<:@default=no@:>@])], [], - [enable_dbus=ifavailable]) + [enable_dbus=no]) if test "xxx_only" = yes; then # User requested something-else-only pcap, so they don't diff --git a/libpcap/dlpisubs.c b/libpcap/dlpisubs.c index e1a64492d..d4310de58 100644 --- a/libpcap/dlpisubs.c +++ b/libpcap/dlpisubs.c @@ -60,10 +60,20 @@ #include #include +#include +#include +#include + +#include + #ifdef HAVE_LIBDLPI #include #endif +#ifdef HAVE_ZONE_H +#include +#endif + #include "pcap-int.h" #include "dlpisubs.h" @@ -413,3 +423,117 @@ pcap_stream_err(const char *func, int err, char *errbuf) pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, err, "%s", func); } #endif + +int +handle_nonexistent_dlpi_device(const char *ifname, char *errbuf) +{ + int fd; + int status; +#ifdef LIFNAMSIZ + struct lifreq lifr; +#else + struct ifreq ifr; +#endif + +#ifdef LIFNAMSIZ + if (strlen(ifname) >= sizeof(lifr.lifr_name)) { +#else + if (strlen(ifname) >= sizeof(ifr.ifr_name)) { +#endif + /* + * The name is too long, so it can't possibly exist. + */ + strlcpy(errbuf, "", PCAP_ERRBUF_SIZE); + return (PCAP_ERROR_NO_SUCH_DEVICE); + } + + /* + * Try to get a socket on which to do an ioctl to get the + * interface's flags. + */ + fd = socket(AF_INET, SOCK_DGRAM, 0); + if (fd < 0) { + /* That failed; report that as the error. */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, + errno, "Can't open socket to get interface flags"); + return (PCAP_ERROR); + } + +#ifdef LIFNAMSIZ + pcapint_strlcpy(lifr.lifr_name, ifname, sizeof(lifr.lifr_name)); + status = ioctl(fd, SIOCGLIFFLAGS, (char *)&lifr); +#else + pcapint_strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); + status = ioctl(fd, SIOCGIFFLAGS, (char *)&ifr); +#endif + + if (status < 0) { + if (errno == ENXIO || errno == EINVAL) { + /* + * macOS, *BSD, and Solaris return one of + * those two errors if the device doesn't exist. + */ + strlcpy(errbuf, "", PCAP_ERRBUF_SIZE); + close(fd); + return (PCAP_ERROR_NO_SUCH_DEVICE); + } + + /* + * Some other error. + */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, errno, + "Can't get interface flags"); + close(fd); + return (PCAP_ERROR); + } + + /* + * The interface exists. + */ + close(fd); + +#ifdef HAVE_ZONE_H + /* + * If we're not in a global zone, the problem is probably + * that the zone we're in doesn't happen to have any + * DLPI devices. Exclusive-IP non-global zones have + * their own interfaces and have DLPI devices for them: + * + * https://docs.oracle.com/cd/E37838_01/html/E61040/z.config.ov-6.html#VLZCRgekkb + * + * https://docs.oracle.com/cd/E19044-01/sol.containers/817-1592/geprv/index.html + * + * but shared-IP non-global zones don't: + * + * https://docs.oracle.com/cd/E37838_01/html/E61040/z.config.ov-6.html#VLZCRgekku + */ + if (getzoneid() != GLOBAL_ZONEID) { + /* + * Not a global zone; note that capturing on network + * interfaces is only supported for interfaces + * in an exclusive-IP zone. + */ + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "Capturing on interfaces in a non-global zone is supported only for interfaces in exclusive-IP zones"); + return (PCAP_ERROR_CAPTURE_NOTSUP); + } +#endif /* HAVE_ZONE_H */ + + /* + * Some other problem; just report it as not having + * a DLPI device. We don't report the DLPI device + * name, so people don't get confused and think, for + * example, that if they can't capture on that interface + * on Solaris prior to Solaris 11 the fix is to change + * libpcap (or the application that uses it) to look + * for something other than "/dev/{ifname}", as the fix + * is to use Solaris 11 or some operating system other + * than Solaris - you just *can't* capture on that + * interface on Solaris prior to Solaris 11, the lack + * of a DLPI device for the loopback interface is just + * a symptom of that inability. + */ + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "Capturing on that interface is not supported - no DLPI device found"); + return (PCAP_ERROR_CAPTURE_NOTSUP); +} diff --git a/libpcap/dlpisubs.h b/libpcap/dlpisubs.h index cdc531c1f..e92648a3e 100644 --- a/libpcap/dlpisubs.h +++ b/libpcap/dlpisubs.h @@ -30,6 +30,7 @@ int pcap_conf_bufmod(pcap_t *, int); #endif int pcap_alloc_databuf(pcap_t *); int strioctl(int, int, int, char *); +int handle_nonexistent_dlpi_device(const char *ifname, char *errbuf); #ifdef __cplusplus } diff --git a/libpcap/fad-getad.c b/libpcap/fad-getad.c index 0df567c44..0b2d7ed98 100644 --- a/libpcap/fad-getad.c +++ b/libpcap/fad-getad.c @@ -162,7 +162,7 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, { struct ifaddrs *ifap, *ifa; struct sockaddr *addr, *netmask, *broadaddr, *dstaddr; - size_t addr_size, broadaddr_size, dstaddr_size; + size_t addr_size, netmask_size, broadaddr_size, dstaddr_size; int ret = 0; char *p, *q; @@ -235,11 +235,18 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, if (ifa->ifa_addr != NULL) { addr = ifa->ifa_addr; addr_size = SA_LEN(addr); - netmask = ifa->ifa_netmask; + if (ifa->ifa_netmask != NULL) { + netmask = ifa->ifa_netmask; + netmask_size = SA_LEN(ifa->ifa_netmask); + } else { + netmask = NULL; + netmask_size = 0; + } } else { addr = NULL; addr_size = 0; netmask = NULL; + netmask_size = 0; } /* @@ -279,7 +286,7 @@ pcapint_findalldevs_interfaces(pcap_if_list_t *devlistp, char *errbuf, */ if (pcapint_add_addr_to_if(devlistp, ifa->ifa_name, ifa->ifa_flags, get_flags_func, - addr, addr_size, netmask, addr_size, + addr, addr_size, netmask, netmask_size, broadaddr, broadaddr_size, dstaddr, dstaddr_size, errbuf) < 0) { ret = -1; diff --git a/libpcap/fmtutils.c b/libpcap/fmtutils.c index a5a4fe62f..78a0f8b79 100644 --- a/libpcap/fmtutils.c +++ b/libpcap/fmtutils.c @@ -233,7 +233,7 @@ utf_16le_to_utf_8_truncated(const wchar_t *utf_16, char *utf_8, *utf_8++ = ((uc >> 12) & 0x3F) | 0x80; *utf_8++ = ((uc >> 6) & 0x3F) | 0x80; *utf_8++ = ((uc >> 0) & 0x3F) | 0x80; - utf_8_len -= 3; + utf_8_len -= 4; } } diff --git a/libpcap/gencode.c b/libpcap/gencode.c index 31c50a71e..76fb2d829 100644 --- a/libpcap/gencode.c +++ b/libpcap/gencode.c @@ -24,14 +24,7 @@ #ifdef _WIN32 #include #else - #include - - #ifdef __NetBSD__ - #include - #endif - #include - #include #endif /* _WIN32 */ #include @@ -76,6 +69,10 @@ #endif #ifdef _WIN32 + #ifdef HAVE_NPCAP_BPF_H + /* Defines BPF extensions for Npcap */ + #include + #endif #ifdef INET6 #if defined(__MINGW32__) && defined(DEFINE_ADDITIONAL_IPV6_STUFF) /* IPv6 address */ @@ -230,6 +227,26 @@ struct chunk { void *m; }; +/* + * A chunk can store any of: + * - a string (guaranteed alignment 1 but present for completeness) + * - a block + * - an slist + * - an arth + * For this simple allocator every allocated chunk gets rounded up to the + * alignment needed for any chunk. + */ +struct chunk_align { + char dummy; + union { + char c; + struct block b; + struct slist s; + struct arth a; + } u; +}; +#define CHUNK_ALIGN (offsetof(struct chunk_align, u)) + /* Code generator state */ struct _compiler_state { @@ -526,7 +543,7 @@ static struct block *gen_hostop(compiler_state_t *, bpf_u_int32, bpf_u_int32, static struct block *gen_hostop6(compiler_state_t *, struct in6_addr *, struct in6_addr *, int, bpf_u_int32, u_int, u_int); #endif -static struct block *gen_ahostop(compiler_state_t *, const u_char *, int); +static struct block *gen_ahostop(compiler_state_t *, const uint8_t, int); static struct block *gen_ehostop(compiler_state_t *, const u_char *, int); static struct block *gen_fhostop(compiler_state_t *, const u_char *, int); static struct block *gen_thostop(compiler_state_t *, const u_char *, int); @@ -598,13 +615,8 @@ newchunk_nolongjmp(compiler_state_t *cstate, size_t n) int k; size_t size; -#ifndef __NetBSD__ - /* XXX Round up to nearest long. */ - n = (n + sizeof(long) - 1) & ~(sizeof(long) - 1); -#else - /* XXX Round up to structure boundary. */ - n = ALIGN(n); -#endif + /* Round up to chunk alignment. */ + n = (n + CHUNK_ALIGN - 1) & ~(CHUNK_ALIGN - 1); cp = &cstate->chunks[cstate->cur_chunk]; if (n > cp->n_left) { @@ -696,7 +708,7 @@ new_stmt(compiler_state_t *cstate, int code) } static struct block * -gen_retblk(compiler_state_t *cstate, int v) +gen_retblk_internal(compiler_state_t *cstate, int v) { struct block *b = new_block(cstate, BPF_RET|BPF_K); @@ -704,6 +716,22 @@ gen_retblk(compiler_state_t *cstate, int v) return b; } +static struct block * +gen_retblk(compiler_state_t *cstate, int v) +{ + if (setjmp(cstate->top_ctx)) { + /* + * gen_retblk() only fails because a memory + * allocation failed in newchunk(), meaning + * that it can't return a pointer. + * + * Return NULL. + */ + return NULL; + } + return gen_retblk_internal(cstate, v); +} + static inline PCAP_NORETURN_DEF void syntax(compiler_state_t *cstate) { @@ -718,9 +746,8 @@ pcap_compile(pcap_t *p, struct bpf_program *program, static int done = 0; #endif compiler_state_t cstate; - const char * volatile xbuf = buf; yyscan_t scanner = NULL; - volatile YY_BUFFER_STATE in_buffer = NULL; + YY_BUFFER_STATE in_buffer = NULL; u_int len; int rc; @@ -790,7 +817,7 @@ pcap_compile(pcap_t *p, struct bpf_program *program, rc = PCAP_ERROR; goto quit; } - in_buffer = pcap__scan_string(xbuf ? xbuf : "", scanner); + in_buffer = pcap__scan_string(buf ? buf : "", scanner); /* * Associate the compiler state with the lexical analyzer @@ -814,14 +841,15 @@ pcap_compile(pcap_t *p, struct bpf_program *program, } if (cstate.ic.root == NULL) { + cstate.ic.root = gen_retblk(&cstate, cstate.snaplen); + /* * Catch errors reported by gen_retblk(). */ - if (setjmp(cstate.top_ctx)) { + if (cstate.ic.root== NULL) { rc = PCAP_ERROR; goto quit; } - cstate.ic.root = gen_retblk(&cstate, cstate.snaplen); } if (optimize && !cstate.no_optimize) { @@ -990,9 +1018,9 @@ finish_parse(compiler_state_t *cstate, struct block *p) if (ppi_dlt_check != NULL) gen_and(ppi_dlt_check, p); - backpatch(p, gen_retblk(cstate, cstate->snaplen)); + backpatch(p, gen_retblk_internal(cstate, cstate->snaplen)); p->sense = !p->sense; - backpatch(p, gen_retblk(cstate, 0)); + backpatch(p, gen_retblk_internal(cstate, 0)); cstate->ic.root = p->head; return (0); } @@ -1704,6 +1732,83 @@ init_linktype(compiler_state_t *cstate, pcap_t *p) cstate->off_nl_nosnap = 3; /* 802.3+802.2 */ break; + case DLT_EN3MB: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + + case DLT_AX25: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + + case DLT_PRONET: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + + case DLT_CHAOS: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + +#ifdef DLT_HIPPI + case DLT_HIPPI: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + +#endif + + case DLT_REDBACK_SMARTEDGE: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + + +#ifdef DLT_HHDLC + case DLT_HHDLC: + /* + * Currently, only raw "link[N:M]" filtering is supported. + */ + cstate->off_linktype.constant_part = OFFSET_NOT_SET; /* variable, min 15, max 71 steps of 7 */ + cstate->off_linkpl.constant_part = OFFSET_NOT_SET; + cstate->off_nl = OFFSET_NOT_SET; /* variable, min 16, max 71 steps of 7 */ + cstate->off_nl_nosnap = OFFSET_NOT_SET; /* no 802.2 LLC */ + break; + +#endif + default: /* * For values in the range in which we've assigned new @@ -1716,8 +1821,8 @@ init_linktype(compiler_state_t *cstate, pcap_t *p) cstate->off_nl = OFFSET_NOT_SET; cstate->off_nl_nosnap = OFFSET_NOT_SET; } else { - bpf_set_error(cstate, "unknown data link type %d (min %d, max %d)", - cstate->linktype, DLT_HIGH_MATCHING_MIN, DLT_HIGH_MATCHING_MAX); + bpf_set_error(cstate, "unknown data link type %d", + cstate->linktype); return (-1); } break; @@ -6945,7 +7050,8 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) int proto = q.proto; int dir = q.dir; int tproto; - u_char *eaddr; + u_char *eaddrp; + u_char eaddr[6]; bpf_u_int32 mask, addr; struct addrinfo *res, *res0; struct sockaddr_in *sin4; @@ -6987,33 +7093,36 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) case DLT_EN10MB: case DLT_NETANALYZER: case DLT_NETANALYZER_TRANSPARENT: - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown ether host '%s'", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); tmp = gen_prevlinkhdr_check(cstate); b = gen_ehostop(cstate, eaddr, dir); if (tmp != NULL) gen_and(tmp, b); - free(eaddr); return b; case DLT_FDDI: - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown FDDI host '%s'", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); b = gen_fhostop(cstate, eaddr, dir); - free(eaddr); return b; case DLT_IEEE802: - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown token ring host '%s'", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); b = gen_thostop(cstate, eaddr, dir); - free(eaddr); return b; case DLT_IEEE802_11: @@ -7021,21 +7130,23 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) case DLT_IEEE802_11_RADIO_AVS: case DLT_IEEE802_11_RADIO: case DLT_PPI: - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown 802.11 host '%s'", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); b = gen_wlanhostop(cstate, eaddr, dir); - free(eaddr); return b; case DLT_IP_OVER_FC: - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown Fibre Channel host '%s'", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); b = gen_ipfchostop(cstate, eaddr, dir); - free(eaddr); return b; } @@ -7080,6 +7191,11 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) switch (res->ai_family) { case AF_INET: #ifdef INET6 + /* + * Ignore any IPv4 addresses when resolving + * "ip6 host NAME", validate all other proto + * qualifiers in gen_host(). + */ if (tproto == Q_IPV6) continue; #endif @@ -7091,7 +7207,13 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) break; #ifdef INET6 case AF_INET6: - if (tproto6 == Q_IP) + /* + * Ignore any IPv6 addresses when resolving + * "(arp|ip|rarp) host NAME", validate all + * other proto qualifiers in gen_host6(). + */ + if (tproto6 == Q_ARP || tproto6 == Q_IP || + tproto6 == Q_RARP) continue; sin6 = (struct sockaddr_in6 *) @@ -7204,9 +7326,11 @@ gen_scode(compiler_state_t *cstate, const char *name, struct qual q) case Q_GATEWAY: #ifndef INET6 - eaddr = pcap_ether_hostton(name); - if (eaddr == NULL) + eaddrp = pcap_ether_hostton(name); + if (eaddrp == NULL) bpf_error(cstate, "unknown ether host: %s", name); + memcpy(eaddr, eaddrp, sizeof(eaddr)); + free(eaddrp); res = pcap_nametoaddrinfo(name); cstate->ai = res; @@ -7252,6 +7376,7 @@ gen_mcode(compiler_state_t *cstate, const char *s1, const char *s2, { register int nlen, mlen; bpf_u_int32 n, m; + uint64_t m64; /* * Catch errors reported by us and routines below us, and return NULL @@ -7279,14 +7404,8 @@ gen_mcode(compiler_state_t *cstate, const char *s1, const char *s2, /* Convert mask len to mask */ if (masklen > 32) bpf_error(cstate, "mask length must be <= 32"); - if (masklen == 0) { - /* - * X << 32 is not guaranteed by C to be 0; it's - * undefined. - */ - m = 0; - } else - m = 0xffffffff << (32 - masklen); + m64 = UINT64_C(0xffffffff) << (32 - masklen); + m = (bpf_u_int32)m64; if ((n & ~m) != 0) bpf_error(cstate, "non-network bits set in \"%s/%d\"", s1, masklen); @@ -7501,6 +7620,11 @@ gen_ecode(compiler_state_t *cstate, const char *s, struct qual q) return (NULL); if ((q.addr == Q_HOST || q.addr == Q_DEFAULT) && q.proto == Q_LINK) { + /* + * Because the lexer guards the input string format, in this + * context the function returns NULL iff the implicit malloc() + * has failed. + */ cstate->e = pcap_ether_aton(s); if (cstate->e == NULL) bpf_error(cstate, "malloc"); @@ -8212,8 +8336,6 @@ gen_byteop(compiler_state_t *cstate, int op, int idx, bpf_u_int32 val) return b; } -static const u_char abroadcast[] = { 0x0 }; - struct block * gen_broadcast(compiler_state_t *cstate, int proto) { @@ -8235,7 +8357,8 @@ gen_broadcast(compiler_state_t *cstate, int proto) switch (cstate->linktype) { case DLT_ARCNET: case DLT_ARCNET_LINUX: - return gen_ahostop(cstate, abroadcast, Q_DST); + // ARCnet broadcast is [8-bit] destination address 0. + return gen_ahostop(cstate, 0, Q_DST); case DLT_EN10MB: case DLT_NETANALYZER: case DLT_NETANALYZER_TRANSPARENT: @@ -8320,8 +8443,8 @@ gen_multicast(compiler_state_t *cstate, int proto) switch (cstate->linktype) { case DLT_ARCNET: case DLT_ARCNET_LINUX: - /* all ARCnet multicasts use the same address */ - return gen_ahostop(cstate, abroadcast, Q_DST); + // ARCnet multicast is the same as broadcast. + return gen_ahostop(cstate, 0, Q_DST); case DLT_EN10MB: case DLT_NETANALYZER: case DLT_NETANALYZER_TRANSPARENT: @@ -8470,7 +8593,12 @@ gen_multicast(compiler_state_t *cstate, int proto) case Q_IP: b0 = gen_linktype(cstate, ETHERTYPE_IP); - b1 = gen_cmp_ge(cstate, OR_LINKPL, 16, BPF_B, 224); + + /* + * Compare address with 224.0.0.0/4 + */ + b1 = gen_mcmp(cstate, OR_LINKPL, 16, BPF_B, 0xe0, 0xf0); + gen_and(b0, b1); return b1; @@ -8896,11 +9024,10 @@ gen_p80211_fcdir(compiler_state_t *cstate, bpf_u_int32 fcdir) return (b0); } +// Process an ARCnet host address string. struct block * gen_acode(compiler_state_t *cstate, const char *s, struct qual q) { - struct block *b; - /* * Catch errors reported by us and routines below us, and return NULL * on an error. @@ -8914,13 +9041,16 @@ gen_acode(compiler_state_t *cstate, const char *s, struct qual q) case DLT_ARCNET_LINUX: if ((q.addr == Q_HOST || q.addr == Q_DEFAULT) && q.proto == Q_LINK) { - cstate->e = pcap_ether_aton(s); - if (cstate->e == NULL) - bpf_error(cstate, "malloc"); - b = gen_ahostop(cstate, cstate->e, (int)q.dir); - free(cstate->e); - cstate->e = NULL; - return (b); + uint8_t addr; + /* + * The lexer currently defines the address format in a + * way that makes this error condition never true. + * Let's check it anyway in case this part of the lexer + * changes in future. + */ + if (! pcapint_atoan(s, &addr)) + bpf_error(cstate, "invalid ARCnet address '%s'", s); + return gen_ahostop(cstate, addr, (int)q.dir); } else bpf_error(cstate, "ARCnet address used in non-arc expression"); /*NOTREACHED*/ @@ -8931,18 +9061,25 @@ gen_acode(compiler_state_t *cstate, const char *s, struct qual q) } } +// Compare an ARCnet host address with the given value. static struct block * -gen_ahostop(compiler_state_t *cstate, const u_char *eaddr, int dir) +gen_ahostop(compiler_state_t *cstate, const uint8_t eaddr, int dir) { register struct block *b0, *b1; switch (dir) { - /* src comes first, different from Ethernet */ + /* + * ARCnet is different from Ethernet: the source address comes before + * the destination address, each is one byte long. This holds for all + * three "buffer formats" in RFC 1201 Section 2.1, see also page 4-10 + * in the 1983 edition of the "ARCNET Designer's Handbook" published + * by Datapoint (document number 61610-01). + */ case Q_SRC: - return gen_bcmp(cstate, OR_LINKHDR, 0, 1, eaddr); + return gen_cmp(cstate, OR_LINKHDR, 0, BPF_B, eaddr); case Q_DST: - return gen_bcmp(cstate, OR_LINKHDR, 1, 1, eaddr); + return gen_cmp(cstate, OR_LINKHDR, 1, BPF_B, eaddr); case Q_AND: b0 = gen_ahostop(cstate, eaddr, Q_SRC); @@ -9090,7 +9227,7 @@ gen_vlan_patch_vid_test(compiler_state_t *cstate, struct block *b_vid) unsigned cnt; s = new_stmt(cstate, BPF_LD|BPF_B|BPF_ABS); - s->s.k = SKF_AD_OFF + SKF_AD_VLAN_TAG_PRESENT; + s->s.k = (bpf_u_int32)(SKF_AD_OFF + SKF_AD_VLAN_TAG_PRESENT); /* true -> next instructions, false -> beginning of b_vid */ sjeq = new_stmt(cstate, JMP(BPF_JEQ)); @@ -9098,8 +9235,8 @@ gen_vlan_patch_vid_test(compiler_state_t *cstate, struct block *b_vid) sjeq->s.jf = b_vid->stmts; sappend(s, sjeq); - s2 = new_stmt(cstate, BPF_LD|BPF_B|BPF_ABS); - s2->s.k = SKF_AD_OFF + SKF_AD_VLAN_TAG; + s2 = new_stmt(cstate, BPF_LD|BPF_H|BPF_ABS); + s2->s.k = (bpf_u_int32)(SKF_AD_OFF + SKF_AD_VLAN_TAG); sappend(s, s2); sjeq->s.jt = s2; @@ -9137,7 +9274,7 @@ gen_vlan_bpf_extensions(compiler_state_t *cstate, bpf_u_int32 vlan_num, /* generate new filter code based on extracting packet * metadata */ s = new_stmt(cstate, BPF_LD|BPF_B|BPF_ABS); - s->s.k = SKF_AD_OFF + SKF_AD_VLAN_TAG_PRESENT; + s->s.k = (bpf_u_int32)(SKF_AD_OFF + SKF_AD_VLAN_TAG_PRESENT); b0 = new_block(cstate, JMP(BPF_JEQ)); b0->stmts = s; @@ -9272,20 +9409,12 @@ gen_vlan(compiler_state_t *cstate, bpf_u_int32 vlan_num, int has_vlan_tag) * label_num might be clobbered by longjmp - yeah, it might, but *WHO CARES*? * It's not *used* after setjmp returns. */ -struct block * -gen_mpls(compiler_state_t *cstate, bpf_u_int32 label_num_arg, +static struct block * +gen_mpls_internal(compiler_state_t *cstate, bpf_u_int32 label_num, int has_label_num) { - volatile bpf_u_int32 label_num = label_num_arg; struct block *b0, *b1; - /* - * Catch errors reported by us and routines below us, and return NULL - * on an error. - */ - if (setjmp(cstate->top_ctx)) - return (NULL); - if (cstate->label_stack_depth > 0) { /* just match the bottom-of-stack bit clear */ b0 = gen_mcmp(cstate, OR_PREVMPLSHDR, 2, BPF_B, 0, 0x01); @@ -9352,6 +9481,19 @@ gen_mpls(compiler_state_t *cstate, bpf_u_int32 label_num_arg, return (b0); } +struct block * +gen_mpls(compiler_state_t *cstate, bpf_u_int32 label_num, int has_label_num) +{ + /* + * Catch errors reported by us and routines below us, and return NULL + * on an error. + */ + if (setjmp(cstate->top_ctx)) + return (NULL); + + return gen_mpls_internal(cstate, label_num, has_label_num); +} + /* * Support PPPOE discovery and session. */ @@ -10024,16 +10166,10 @@ gen_mtp2type_abbrev(compiler_state_t *cstate, int type) return b0; } -/* - * The jvalue_arg dance is to avoid annoying whining by compilers that - * jvalue might be clobbered by longjmp - yeah, it might, but *WHO CARES*? - * It's not *used* after setjmp returns. - */ -struct block * -gen_mtp3field_code(compiler_state_t *cstate, int mtp3field, - bpf_u_int32 jvalue_arg, int jtype, int reverse) +static struct block * +gen_mtp3field_code_internal(compiler_state_t *cstate, int mtp3field, + bpf_u_int32 jvalue, int jtype, int reverse) { - volatile bpf_u_int32 jvalue = jvalue_arg; struct block *b0; bpf_u_int32 val1 , val2 , val3; u_int newoff_sio; @@ -10041,13 +10177,6 @@ gen_mtp3field_code(compiler_state_t *cstate, int mtp3field, u_int newoff_dpc; u_int newoff_sls; - /* - * Catch errors reported by us and routines below us, and return NULL - * on an error. - */ - if (setjmp(cstate->top_ctx)) - return (NULL); - newoff_sio = cstate->off_sio; newoff_opc = cstate->off_opc; newoff_dpc = cstate->off_dpc; @@ -10139,6 +10268,21 @@ gen_mtp3field_code(compiler_state_t *cstate, int mtp3field, return b0; } +struct block * +gen_mtp3field_code(compiler_state_t *cstate, int mtp3field, + bpf_u_int32 jvalue, int jtype, int reverse) +{ + /* + * Catch errors reported by us and routines below us, and return NULL + * on an error. + */ + if (setjmp(cstate->top_ctx)) + return (NULL); + + return gen_mtp3field_code_internal(cstate, mtp3field, jvalue, jtype, + reverse); +} + static struct block * gen_msg_abbrev(compiler_state_t *cstate, int type) { diff --git a/libpcap/grammar.c b/libpcap/grammar.c index 9c894915b..56c926728 100644 --- a/libpcap/grammar.c +++ b/libpcap/grammar.c @@ -103,19 +103,6 @@ #include -#ifndef _WIN32 -#include -#include - -#if __STDC__ -struct mbuf; -struct rtentry; -#endif - -#include -#include -#endif /* _WIN32 */ - #include #include "diag-control.h" @@ -378,7 +365,7 @@ pfaction_to_num(compiler_state_t *cstate, const char *action) DIAG_OFF_BISON_BYACC -#line 382 "grammar.c" /* yacc.c:339 */ +#line 369 "grammar.c" /* yacc.c:339 */ # ifndef YY_NULLPTR # if defined __cplusplus && 201103L <= __cplusplus @@ -542,7 +529,7 @@ extern int pcap_debug; union YYSTYPE { -#line 357 "grammar.y" /* yacc.c:355 */ +#line 344 "grammar.y" /* yacc.c:355 */ int i; bpf_u_int32 h; @@ -557,7 +544,7 @@ union YYSTYPE } blk; struct block *rblk; -#line 561 "grammar.c" /* yacc.c:355 */ +#line 548 "grammar.c" /* yacc.c:355 */ }; typedef union YYSTYPE YYSTYPE; @@ -573,7 +560,7 @@ int pcap_parse (void *yyscanner, compiler_state_t *cstate); /* Copy the second part of user declarations. */ -#line 577 "grammar.c" /* yacc.c:358 */ +#line 564 "grammar.c" /* yacc.c:358 */ #ifdef short # undef short @@ -882,29 +869,29 @@ static const yytype_uint8 yytranslate[] = /* YYRLINE[YYN] -- Source line where rule number YYN was defined. */ static const yytype_uint16 yyrline[] = { - 0, 431, 431, 443, 445, 447, 448, 449, 450, 451, - 453, 455, 457, 458, 460, 462, 463, 482, 501, 520, - 545, 570, 571, 572, 574, 576, 578, 579, 580, 582, - 584, 586, 587, 589, 590, 591, 592, 593, 601, 603, - 604, 605, 606, 608, 610, 611, 612, 613, 614, 615, - 618, 619, 622, 623, 624, 625, 626, 627, 628, 629, - 630, 631, 632, 633, 636, 637, 638, 639, 642, 644, - 645, 646, 647, 648, 649, 650, 651, 652, 653, 654, - 655, 656, 657, 658, 659, 660, 661, 662, 663, 664, - 665, 666, 667, 668, 669, 670, 671, 672, 673, 674, - 675, 676, 677, 678, 679, 680, 681, 682, 684, 685, - 686, 687, 688, 689, 690, 691, 692, 693, 694, 695, - 696, 697, 698, 699, 700, 701, 702, 703, 706, 707, - 708, 709, 710, 711, 714, 719, 722, 726, 729, 735, - 744, 750, 773, 790, 791, 815, 818, 819, 835, 836, - 839, 842, 843, 844, 846, 847, 848, 850, 851, 853, - 854, 855, 856, 857, 858, 859, 860, 861, 862, 863, - 864, 865, 866, 867, 869, 870, 871, 872, 873, 875, - 876, 878, 879, 880, 881, 882, 883, 884, 886, 887, - 888, 889, 892, 893, 895, 896, 897, 898, 900, 907, - 908, 911, 912, 913, 914, 915, 916, 919, 920, 921, - 922, 923, 924, 925, 926, 928, 929, 930, 931, 933, - 946, 947 + 0, 418, 418, 430, 432, 434, 435, 436, 437, 438, + 440, 442, 444, 445, 447, 449, 450, 469, 488, 507, + 532, 557, 558, 559, 561, 563, 565, 566, 567, 569, + 571, 573, 574, 576, 577, 578, 579, 580, 588, 590, + 591, 592, 593, 595, 597, 598, 599, 600, 601, 602, + 605, 606, 609, 610, 611, 612, 613, 614, 615, 616, + 617, 618, 619, 620, 623, 624, 625, 626, 629, 631, + 632, 633, 634, 635, 636, 637, 638, 639, 640, 641, + 642, 643, 644, 645, 646, 647, 648, 649, 650, 651, + 652, 653, 654, 655, 656, 657, 658, 659, 660, 661, + 662, 663, 664, 665, 666, 667, 668, 669, 671, 672, + 673, 674, 675, 676, 677, 678, 679, 680, 681, 682, + 683, 684, 685, 686, 687, 688, 689, 690, 693, 694, + 695, 696, 697, 698, 701, 706, 709, 713, 716, 722, + 731, 737, 760, 777, 778, 802, 805, 806, 822, 823, + 826, 829, 830, 831, 833, 834, 835, 837, 838, 840, + 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, + 851, 852, 853, 854, 856, 857, 858, 859, 860, 862, + 863, 865, 866, 867, 868, 869, 870, 871, 873, 874, + 875, 876, 879, 880, 882, 883, 884, 885, 887, 894, + 895, 898, 899, 900, 901, 902, 903, 906, 907, 908, + 909, 910, 911, 912, 913, 915, 916, 917, 918, 920, + 933, 934 }; #endif @@ -2013,7 +2000,7 @@ yyreduce: switch (yyn) { case 2: -#line 432 "grammar.y" /* yacc.c:1646 */ +#line 419 "grammar.y" /* yacc.c:1646 */ { /* * I'm not sure we have a reason to use yynerrs, but it's @@ -2025,72 +2012,72 @@ yyreduce: (void) yynerrs; CHECK_INT_VAL(finish_parse(cstate, (yyvsp[0].blk).b)); } -#line 2029 "grammar.c" /* yacc.c:1646 */ +#line 2016 "grammar.c" /* yacc.c:1646 */ break; case 4: -#line 445 "grammar.y" /* yacc.c:1646 */ +#line 432 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).q = qerr; } -#line 2035 "grammar.c" /* yacc.c:1646 */ +#line 2022 "grammar.c" /* yacc.c:1646 */ break; case 6: -#line 448 "grammar.y" /* yacc.c:1646 */ +#line 435 "grammar.y" /* yacc.c:1646 */ { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2041 "grammar.c" /* yacc.c:1646 */ +#line 2028 "grammar.c" /* yacc.c:1646 */ break; case 7: -#line 449 "grammar.y" /* yacc.c:1646 */ +#line 436 "grammar.y" /* yacc.c:1646 */ { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2047 "grammar.c" /* yacc.c:1646 */ +#line 2034 "grammar.c" /* yacc.c:1646 */ break; case 8: -#line 450 "grammar.y" /* yacc.c:1646 */ +#line 437 "grammar.y" /* yacc.c:1646 */ { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2053 "grammar.c" /* yacc.c:1646 */ +#line 2040 "grammar.c" /* yacc.c:1646 */ break; case 9: -#line 451 "grammar.y" /* yacc.c:1646 */ +#line 438 "grammar.y" /* yacc.c:1646 */ { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2059 "grammar.c" /* yacc.c:1646 */ +#line 2046 "grammar.c" /* yacc.c:1646 */ break; case 10: -#line 453 "grammar.y" /* yacc.c:1646 */ +#line 440 "grammar.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 2065 "grammar.c" /* yacc.c:1646 */ +#line 2052 "grammar.c" /* yacc.c:1646 */ break; case 11: -#line 455 "grammar.y" /* yacc.c:1646 */ +#line 442 "grammar.y" /* yacc.c:1646 */ + { (yyval.blk) = (yyvsp[-1].blk); } +#line 2058 "grammar.c" /* yacc.c:1646 */ + break; + + case 13: +#line 445 "grammar.y" /* yacc.c:1646 */ + { CHECK_PTR_VAL(((yyval.blk).b = gen_ncode(cstate, NULL, (yyvsp[0].h), + (yyval.blk).q = (yyvsp[-1].blk).q))); } +#line 2065 "grammar.c" /* yacc.c:1646 */ + break; + + case 14: +#line 447 "grammar.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } #line 2071 "grammar.c" /* yacc.c:1646 */ break; - case 13: -#line 458 "grammar.y" /* yacc.c:1646 */ - { CHECK_PTR_VAL(((yyval.blk).b = gen_ncode(cstate, NULL, (yyvsp[0].h), - (yyval.blk).q = (yyvsp[-1].blk).q))); } -#line 2078 "grammar.c" /* yacc.c:1646 */ - break; - - case 14: -#line 460 "grammar.y" /* yacc.c:1646 */ - { (yyval.blk) = (yyvsp[-1].blk); } -#line 2084 "grammar.c" /* yacc.c:1646 */ - break; - case 15: -#line 462 "grammar.y" /* yacc.c:1646 */ +#line 449 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_PTR_VAL(((yyval.blk).b = gen_scode(cstate, (yyvsp[0].s), (yyval.blk).q = (yyvsp[-1].blk).q))); } -#line 2090 "grammar.c" /* yacc.c:1646 */ +#line 2077 "grammar.c" /* yacc.c:1646 */ break; case 16: -#line 463 "grammar.y" /* yacc.c:1646 */ +#line 450 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[-2].s)); /* Check whether HID/NUM is being used when appropriate */ @@ -2110,11 +2097,11 @@ yyreduce: } CHECK_PTR_VAL(((yyval.blk).b = gen_mcode(cstate, (yyvsp[-2].s), NULL, (yyvsp[0].h), (yyval.blk).q))); } -#line 2114 "grammar.c" /* yacc.c:1646 */ +#line 2101 "grammar.c" /* yacc.c:1646 */ break; case 17: -#line 482 "grammar.y" /* yacc.c:1646 */ +#line 469 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[-2].s)); /* Check whether HID mask HID is being used when appropriate */ @@ -2134,11 +2121,11 @@ yyreduce: } CHECK_PTR_VAL(((yyval.blk).b = gen_mcode(cstate, (yyvsp[-2].s), (yyvsp[0].s), 0, (yyval.blk).q))); } -#line 2138 "grammar.c" /* yacc.c:1646 */ +#line 2125 "grammar.c" /* yacc.c:1646 */ break; case 18: -#line 501 "grammar.y" /* yacc.c:1646 */ +#line 488 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); /* Check whether HID is being used when appropriate */ @@ -2158,11 +2145,11 @@ yyreduce: } CHECK_PTR_VAL(((yyval.blk).b = gen_ncode(cstate, (yyvsp[0].s), 0, (yyval.blk).q))); } -#line 2162 "grammar.c" /* yacc.c:1646 */ +#line 2149 "grammar.c" /* yacc.c:1646 */ break; case 19: -#line 520 "grammar.y" /* yacc.c:1646 */ +#line 507 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[-2].s)); #ifdef INET6 @@ -2188,11 +2175,11 @@ yyreduce: YYABORT; #endif /*INET6*/ } -#line 2192 "grammar.c" /* yacc.c:1646 */ +#line 2179 "grammar.c" /* yacc.c:1646 */ break; case 20: -#line 545 "grammar.y" /* yacc.c:1646 */ +#line 532 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); #ifdef INET6 @@ -2218,90 +2205,90 @@ yyreduce: YYABORT; #endif /*INET6*/ } -#line 2222 "grammar.c" /* yacc.c:1646 */ +#line 2209 "grammar.c" /* yacc.c:1646 */ break; case 21: -#line 570 "grammar.y" /* yacc.c:1646 */ +#line 557 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_PTR_VAL(((yyval.blk).b = gen_ecode(cstate, (yyvsp[0].s), (yyval.blk).q = (yyvsp[-1].blk).q))); } -#line 2228 "grammar.c" /* yacc.c:1646 */ +#line 2215 "grammar.c" /* yacc.c:1646 */ break; case 22: -#line 571 "grammar.y" /* yacc.c:1646 */ +#line 558 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_PTR_VAL(((yyval.blk).b = gen_acode(cstate, (yyvsp[0].s), (yyval.blk).q = (yyvsp[-1].blk).q))); } -#line 2234 "grammar.c" /* yacc.c:1646 */ +#line 2221 "grammar.c" /* yacc.c:1646 */ break; case 23: -#line 572 "grammar.y" /* yacc.c:1646 */ +#line 559 "grammar.y" /* yacc.c:1646 */ { gen_not((yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2240 "grammar.c" /* yacc.c:1646 */ +#line 2227 "grammar.c" /* yacc.c:1646 */ break; case 24: -#line 574 "grammar.y" /* yacc.c:1646 */ +#line 561 "grammar.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 2246 "grammar.c" /* yacc.c:1646 */ +#line 2233 "grammar.c" /* yacc.c:1646 */ break; case 25: -#line 576 "grammar.y" /* yacc.c:1646 */ +#line 563 "grammar.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[-1].blk); } -#line 2252 "grammar.c" /* yacc.c:1646 */ +#line 2239 "grammar.c" /* yacc.c:1646 */ break; case 27: -#line 579 "grammar.y" /* yacc.c:1646 */ +#line 566 "grammar.y" /* yacc.c:1646 */ { gen_and((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2258 "grammar.c" /* yacc.c:1646 */ +#line 2245 "grammar.c" /* yacc.c:1646 */ break; case 28: -#line 580 "grammar.y" /* yacc.c:1646 */ +#line 567 "grammar.y" /* yacc.c:1646 */ { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2264 "grammar.c" /* yacc.c:1646 */ +#line 2251 "grammar.c" /* yacc.c:1646 */ break; case 29: -#line 582 "grammar.y" /* yacc.c:1646 */ +#line 569 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_ncode(cstate, NULL, (yyvsp[0].h), (yyval.blk).q = (yyvsp[-1].blk).q))); } -#line 2271 "grammar.c" /* yacc.c:1646 */ +#line 2258 "grammar.c" /* yacc.c:1646 */ break; case 32: -#line 587 "grammar.y" /* yacc.c:1646 */ +#line 574 "grammar.y" /* yacc.c:1646 */ { gen_not((yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 2277 "grammar.c" /* yacc.c:1646 */ +#line 2264 "grammar.c" /* yacc.c:1646 */ break; case 33: -#line 589 "grammar.y" /* yacc.c:1646 */ +#line 576 "grammar.y" /* yacc.c:1646 */ { QSET((yyval.blk).q, (yyvsp[-2].i), (yyvsp[-1].i), (yyvsp[0].i)); } -#line 2283 "grammar.c" /* yacc.c:1646 */ +#line 2270 "grammar.c" /* yacc.c:1646 */ break; case 34: -#line 590 "grammar.y" /* yacc.c:1646 */ +#line 577 "grammar.y" /* yacc.c:1646 */ { QSET((yyval.blk).q, (yyvsp[-1].i), (yyvsp[0].i), Q_DEFAULT); } -#line 2289 "grammar.c" /* yacc.c:1646 */ +#line 2276 "grammar.c" /* yacc.c:1646 */ break; case 35: -#line 591 "grammar.y" /* yacc.c:1646 */ +#line 578 "grammar.y" /* yacc.c:1646 */ { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, (yyvsp[0].i)); } -#line 2295 "grammar.c" /* yacc.c:1646 */ +#line 2282 "grammar.c" /* yacc.c:1646 */ break; case 36: -#line 592 "grammar.y" /* yacc.c:1646 */ +#line 579 "grammar.y" /* yacc.c:1646 */ { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, Q_PROTO); } -#line 2301 "grammar.c" /* yacc.c:1646 */ +#line 2288 "grammar.c" /* yacc.c:1646 */ break; case 37: -#line 593 "grammar.y" /* yacc.c:1646 */ +#line 580 "grammar.y" /* yacc.c:1646 */ { #ifdef NO_PROTOCHAIN bpf_set_error(cstate, "protochain not supported"); @@ -2310,626 +2297,626 @@ yyreduce: QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, Q_PROTOCHAIN); #endif } -#line 2314 "grammar.c" /* yacc.c:1646 */ +#line 2301 "grammar.c" /* yacc.c:1646 */ break; case 38: -#line 601 "grammar.y" /* yacc.c:1646 */ +#line 588 "grammar.y" /* yacc.c:1646 */ { QSET((yyval.blk).q, (yyvsp[-1].i), Q_DEFAULT, (yyvsp[0].i)); } -#line 2320 "grammar.c" /* yacc.c:1646 */ +#line 2307 "grammar.c" /* yacc.c:1646 */ break; case 39: -#line 603 "grammar.y" /* yacc.c:1646 */ +#line 590 "grammar.y" /* yacc.c:1646 */ { (yyval.blk) = (yyvsp[0].blk); } -#line 2326 "grammar.c" /* yacc.c:1646 */ +#line 2313 "grammar.c" /* yacc.c:1646 */ break; case 40: -#line 604 "grammar.y" /* yacc.c:1646 */ +#line 591 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = (yyvsp[-2].blk).q; } -#line 2332 "grammar.c" /* yacc.c:1646 */ +#line 2319 "grammar.c" /* yacc.c:1646 */ break; case 41: -#line 605 "grammar.y" /* yacc.c:1646 */ +#line 592 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_proto_abbrev(cstate, (yyvsp[0].i)))); (yyval.blk).q = qerr; } -#line 2338 "grammar.c" /* yacc.c:1646 */ +#line 2325 "grammar.c" /* yacc.c:1646 */ break; case 42: -#line 606 "grammar.y" /* yacc.c:1646 */ +#line 593 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_relation(cstate, (yyvsp[-1].i), (yyvsp[-2].a), (yyvsp[0].a), 0))); (yyval.blk).q = qerr; } -#line 2345 "grammar.c" /* yacc.c:1646 */ +#line 2332 "grammar.c" /* yacc.c:1646 */ break; case 43: -#line 608 "grammar.y" /* yacc.c:1646 */ +#line 595 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_relation(cstate, (yyvsp[-1].i), (yyvsp[-2].a), (yyvsp[0].a), 1))); (yyval.blk).q = qerr; } -#line 2352 "grammar.c" /* yacc.c:1646 */ +#line 2339 "grammar.c" /* yacc.c:1646 */ break; case 44: -#line 610 "grammar.y" /* yacc.c:1646 */ +#line 597 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[0].rblk); (yyval.blk).q = qerr; } -#line 2358 "grammar.c" /* yacc.c:1646 */ +#line 2345 "grammar.c" /* yacc.c:1646 */ break; case 45: -#line 611 "grammar.y" /* yacc.c:1646 */ +#line 598 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_atmtype_abbrev(cstate, (yyvsp[0].i)))); (yyval.blk).q = qerr; } -#line 2364 "grammar.c" /* yacc.c:1646 */ +#line 2351 "grammar.c" /* yacc.c:1646 */ break; case 46: -#line 612 "grammar.y" /* yacc.c:1646 */ +#line 599 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_atmmulti_abbrev(cstate, (yyvsp[0].i)))); (yyval.blk).q = qerr; } -#line 2370 "grammar.c" /* yacc.c:1646 */ +#line 2357 "grammar.c" /* yacc.c:1646 */ break; case 47: -#line 613 "grammar.y" /* yacc.c:1646 */ +#line 600 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[0].blk).b; (yyval.blk).q = qerr; } -#line 2376 "grammar.c" /* yacc.c:1646 */ +#line 2363 "grammar.c" /* yacc.c:1646 */ break; case 48: -#line 614 "grammar.y" /* yacc.c:1646 */ +#line 601 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_mtp2type_abbrev(cstate, (yyvsp[0].i)))); (yyval.blk).q = qerr; } -#line 2382 "grammar.c" /* yacc.c:1646 */ +#line 2369 "grammar.c" /* yacc.c:1646 */ break; case 49: -#line 615 "grammar.y" /* yacc.c:1646 */ +#line 602 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[0].blk).b; (yyval.blk).q = qerr; } -#line 2388 "grammar.c" /* yacc.c:1646 */ +#line 2375 "grammar.c" /* yacc.c:1646 */ break; case 51: -#line 619 "grammar.y" /* yacc.c:1646 */ +#line 606 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_DEFAULT; } -#line 2394 "grammar.c" /* yacc.c:1646 */ +#line 2381 "grammar.c" /* yacc.c:1646 */ break; case 52: -#line 622 "grammar.y" /* yacc.c:1646 */ +#line 609 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_SRC; } -#line 2400 "grammar.c" /* yacc.c:1646 */ +#line 2387 "grammar.c" /* yacc.c:1646 */ break; case 53: -#line 623 "grammar.y" /* yacc.c:1646 */ +#line 610 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_DST; } -#line 2406 "grammar.c" /* yacc.c:1646 */ +#line 2393 "grammar.c" /* yacc.c:1646 */ break; case 54: -#line 624 "grammar.y" /* yacc.c:1646 */ +#line 611 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_OR; } -#line 2412 "grammar.c" /* yacc.c:1646 */ +#line 2399 "grammar.c" /* yacc.c:1646 */ break; case 55: -#line 625 "grammar.y" /* yacc.c:1646 */ +#line 612 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_OR; } -#line 2418 "grammar.c" /* yacc.c:1646 */ +#line 2405 "grammar.c" /* yacc.c:1646 */ break; case 56: -#line 626 "grammar.y" /* yacc.c:1646 */ +#line 613 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_AND; } -#line 2424 "grammar.c" /* yacc.c:1646 */ +#line 2411 "grammar.c" /* yacc.c:1646 */ break; case 57: -#line 627 "grammar.y" /* yacc.c:1646 */ +#line 614 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_AND; } -#line 2430 "grammar.c" /* yacc.c:1646 */ +#line 2417 "grammar.c" /* yacc.c:1646 */ break; case 58: -#line 628 "grammar.y" /* yacc.c:1646 */ +#line 615 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ADDR1; } -#line 2436 "grammar.c" /* yacc.c:1646 */ +#line 2423 "grammar.c" /* yacc.c:1646 */ break; case 59: -#line 629 "grammar.y" /* yacc.c:1646 */ +#line 616 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ADDR2; } -#line 2442 "grammar.c" /* yacc.c:1646 */ +#line 2429 "grammar.c" /* yacc.c:1646 */ break; case 60: -#line 630 "grammar.y" /* yacc.c:1646 */ +#line 617 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ADDR3; } -#line 2448 "grammar.c" /* yacc.c:1646 */ +#line 2435 "grammar.c" /* yacc.c:1646 */ break; case 61: -#line 631 "grammar.y" /* yacc.c:1646 */ +#line 618 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ADDR4; } -#line 2454 "grammar.c" /* yacc.c:1646 */ +#line 2441 "grammar.c" /* yacc.c:1646 */ break; case 62: -#line 632 "grammar.y" /* yacc.c:1646 */ +#line 619 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_RA; } -#line 2460 "grammar.c" /* yacc.c:1646 */ +#line 2447 "grammar.c" /* yacc.c:1646 */ break; case 63: -#line 633 "grammar.y" /* yacc.c:1646 */ +#line 620 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_TA; } -#line 2466 "grammar.c" /* yacc.c:1646 */ +#line 2453 "grammar.c" /* yacc.c:1646 */ break; case 64: -#line 636 "grammar.y" /* yacc.c:1646 */ +#line 623 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_HOST; } -#line 2472 "grammar.c" /* yacc.c:1646 */ +#line 2459 "grammar.c" /* yacc.c:1646 */ break; case 65: -#line 637 "grammar.y" /* yacc.c:1646 */ +#line 624 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_NET; } -#line 2478 "grammar.c" /* yacc.c:1646 */ +#line 2465 "grammar.c" /* yacc.c:1646 */ break; case 66: -#line 638 "grammar.y" /* yacc.c:1646 */ +#line 625 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_PORT; } -#line 2484 "grammar.c" /* yacc.c:1646 */ +#line 2471 "grammar.c" /* yacc.c:1646 */ break; case 67: -#line 639 "grammar.y" /* yacc.c:1646 */ +#line 626 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_PORTRANGE; } -#line 2490 "grammar.c" /* yacc.c:1646 */ +#line 2477 "grammar.c" /* yacc.c:1646 */ break; case 68: -#line 642 "grammar.y" /* yacc.c:1646 */ +#line 629 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_GATEWAY; } -#line 2496 "grammar.c" /* yacc.c:1646 */ +#line 2483 "grammar.c" /* yacc.c:1646 */ break; case 69: -#line 644 "grammar.y" /* yacc.c:1646 */ +#line 631 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_LINK; } -#line 2502 "grammar.c" /* yacc.c:1646 */ +#line 2489 "grammar.c" /* yacc.c:1646 */ break; case 70: -#line 645 "grammar.y" /* yacc.c:1646 */ +#line 632 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_IP; } -#line 2508 "grammar.c" /* yacc.c:1646 */ +#line 2495 "grammar.c" /* yacc.c:1646 */ break; case 71: -#line 646 "grammar.y" /* yacc.c:1646 */ +#line 633 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ARP; } -#line 2514 "grammar.c" /* yacc.c:1646 */ +#line 2501 "grammar.c" /* yacc.c:1646 */ break; case 72: -#line 647 "grammar.y" /* yacc.c:1646 */ +#line 634 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_RARP; } -#line 2520 "grammar.c" /* yacc.c:1646 */ +#line 2507 "grammar.c" /* yacc.c:1646 */ break; case 73: -#line 648 "grammar.y" /* yacc.c:1646 */ +#line 635 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_SCTP; } -#line 2526 "grammar.c" /* yacc.c:1646 */ +#line 2513 "grammar.c" /* yacc.c:1646 */ break; case 74: -#line 649 "grammar.y" /* yacc.c:1646 */ +#line 636 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_TCP; } -#line 2532 "grammar.c" /* yacc.c:1646 */ +#line 2519 "grammar.c" /* yacc.c:1646 */ break; case 75: -#line 650 "grammar.y" /* yacc.c:1646 */ +#line 637 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_UDP; } -#line 2538 "grammar.c" /* yacc.c:1646 */ +#line 2525 "grammar.c" /* yacc.c:1646 */ break; case 76: -#line 651 "grammar.y" /* yacc.c:1646 */ +#line 638 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ICMP; } -#line 2544 "grammar.c" /* yacc.c:1646 */ +#line 2531 "grammar.c" /* yacc.c:1646 */ break; case 77: -#line 652 "grammar.y" /* yacc.c:1646 */ +#line 639 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_IGMP; } -#line 2550 "grammar.c" /* yacc.c:1646 */ +#line 2537 "grammar.c" /* yacc.c:1646 */ break; case 78: -#line 653 "grammar.y" /* yacc.c:1646 */ +#line 640 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_IGRP; } -#line 2556 "grammar.c" /* yacc.c:1646 */ +#line 2543 "grammar.c" /* yacc.c:1646 */ break; case 79: -#line 654 "grammar.y" /* yacc.c:1646 */ +#line 641 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_PIM; } -#line 2562 "grammar.c" /* yacc.c:1646 */ +#line 2549 "grammar.c" /* yacc.c:1646 */ break; case 80: -#line 655 "grammar.y" /* yacc.c:1646 */ +#line 642 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_VRRP; } -#line 2568 "grammar.c" /* yacc.c:1646 */ +#line 2555 "grammar.c" /* yacc.c:1646 */ break; case 81: -#line 656 "grammar.y" /* yacc.c:1646 */ +#line 643 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_CARP; } -#line 2574 "grammar.c" /* yacc.c:1646 */ +#line 2561 "grammar.c" /* yacc.c:1646 */ break; case 82: -#line 657 "grammar.y" /* yacc.c:1646 */ +#line 644 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ATALK; } -#line 2580 "grammar.c" /* yacc.c:1646 */ +#line 2567 "grammar.c" /* yacc.c:1646 */ break; case 83: -#line 658 "grammar.y" /* yacc.c:1646 */ +#line 645 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_AARP; } -#line 2586 "grammar.c" /* yacc.c:1646 */ +#line 2573 "grammar.c" /* yacc.c:1646 */ break; case 84: -#line 659 "grammar.y" /* yacc.c:1646 */ +#line 646 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_DECNET; } -#line 2592 "grammar.c" /* yacc.c:1646 */ +#line 2579 "grammar.c" /* yacc.c:1646 */ break; case 85: -#line 660 "grammar.y" /* yacc.c:1646 */ +#line 647 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_LAT; } -#line 2598 "grammar.c" /* yacc.c:1646 */ +#line 2585 "grammar.c" /* yacc.c:1646 */ break; case 86: -#line 661 "grammar.y" /* yacc.c:1646 */ +#line 648 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_SCA; } -#line 2604 "grammar.c" /* yacc.c:1646 */ +#line 2591 "grammar.c" /* yacc.c:1646 */ break; case 87: -#line 662 "grammar.y" /* yacc.c:1646 */ +#line 649 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_MOPDL; } -#line 2610 "grammar.c" /* yacc.c:1646 */ +#line 2597 "grammar.c" /* yacc.c:1646 */ break; case 88: -#line 663 "grammar.y" /* yacc.c:1646 */ +#line 650 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_MOPRC; } -#line 2616 "grammar.c" /* yacc.c:1646 */ +#line 2603 "grammar.c" /* yacc.c:1646 */ break; case 89: -#line 664 "grammar.y" /* yacc.c:1646 */ +#line 651 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_IPV6; } -#line 2622 "grammar.c" /* yacc.c:1646 */ +#line 2609 "grammar.c" /* yacc.c:1646 */ break; case 90: -#line 665 "grammar.y" /* yacc.c:1646 */ +#line 652 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ICMPV6; } -#line 2628 "grammar.c" /* yacc.c:1646 */ +#line 2615 "grammar.c" /* yacc.c:1646 */ break; case 91: -#line 666 "grammar.y" /* yacc.c:1646 */ +#line 653 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_AH; } -#line 2634 "grammar.c" /* yacc.c:1646 */ +#line 2621 "grammar.c" /* yacc.c:1646 */ break; case 92: -#line 667 "grammar.y" /* yacc.c:1646 */ +#line 654 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ESP; } -#line 2640 "grammar.c" /* yacc.c:1646 */ +#line 2627 "grammar.c" /* yacc.c:1646 */ break; case 93: -#line 668 "grammar.y" /* yacc.c:1646 */ +#line 655 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISO; } -#line 2646 "grammar.c" /* yacc.c:1646 */ +#line 2633 "grammar.c" /* yacc.c:1646 */ break; case 94: -#line 669 "grammar.y" /* yacc.c:1646 */ +#line 656 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ESIS; } -#line 2652 "grammar.c" /* yacc.c:1646 */ +#line 2639 "grammar.c" /* yacc.c:1646 */ break; case 95: -#line 670 "grammar.y" /* yacc.c:1646 */ +#line 657 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS; } -#line 2658 "grammar.c" /* yacc.c:1646 */ +#line 2645 "grammar.c" /* yacc.c:1646 */ break; case 96: -#line 671 "grammar.y" /* yacc.c:1646 */ +#line 658 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_L1; } -#line 2664 "grammar.c" /* yacc.c:1646 */ +#line 2651 "grammar.c" /* yacc.c:1646 */ break; case 97: -#line 672 "grammar.y" /* yacc.c:1646 */ +#line 659 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_L2; } -#line 2670 "grammar.c" /* yacc.c:1646 */ +#line 2657 "grammar.c" /* yacc.c:1646 */ break; case 98: -#line 673 "grammar.y" /* yacc.c:1646 */ +#line 660 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_IIH; } -#line 2676 "grammar.c" /* yacc.c:1646 */ +#line 2663 "grammar.c" /* yacc.c:1646 */ break; case 99: -#line 674 "grammar.y" /* yacc.c:1646 */ +#line 661 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_LSP; } -#line 2682 "grammar.c" /* yacc.c:1646 */ +#line 2669 "grammar.c" /* yacc.c:1646 */ break; case 100: -#line 675 "grammar.y" /* yacc.c:1646 */ +#line 662 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_SNP; } -#line 2688 "grammar.c" /* yacc.c:1646 */ +#line 2675 "grammar.c" /* yacc.c:1646 */ break; case 101: -#line 676 "grammar.y" /* yacc.c:1646 */ +#line 663 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_PSNP; } -#line 2694 "grammar.c" /* yacc.c:1646 */ +#line 2681 "grammar.c" /* yacc.c:1646 */ break; case 102: -#line 677 "grammar.y" /* yacc.c:1646 */ +#line 664 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_ISIS_CSNP; } -#line 2700 "grammar.c" /* yacc.c:1646 */ +#line 2687 "grammar.c" /* yacc.c:1646 */ break; case 103: -#line 678 "grammar.y" /* yacc.c:1646 */ +#line 665 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_CLNP; } -#line 2706 "grammar.c" /* yacc.c:1646 */ +#line 2693 "grammar.c" /* yacc.c:1646 */ break; case 104: -#line 679 "grammar.y" /* yacc.c:1646 */ +#line 666 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_STP; } -#line 2712 "grammar.c" /* yacc.c:1646 */ +#line 2699 "grammar.c" /* yacc.c:1646 */ break; case 105: -#line 680 "grammar.y" /* yacc.c:1646 */ +#line 667 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_IPX; } -#line 2718 "grammar.c" /* yacc.c:1646 */ +#line 2705 "grammar.c" /* yacc.c:1646 */ break; case 106: -#line 681 "grammar.y" /* yacc.c:1646 */ +#line 668 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_NETBEUI; } -#line 2724 "grammar.c" /* yacc.c:1646 */ +#line 2711 "grammar.c" /* yacc.c:1646 */ break; case 107: -#line 682 "grammar.y" /* yacc.c:1646 */ +#line 669 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = Q_RADIO; } -#line 2730 "grammar.c" /* yacc.c:1646 */ +#line 2717 "grammar.c" /* yacc.c:1646 */ break; case 108: -#line 684 "grammar.y" /* yacc.c:1646 */ +#line 671 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_broadcast(cstate, (yyvsp[-1].i)))); } -#line 2736 "grammar.c" /* yacc.c:1646 */ +#line 2723 "grammar.c" /* yacc.c:1646 */ break; case 109: -#line 685 "grammar.y" /* yacc.c:1646 */ +#line 672 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_multicast(cstate, (yyvsp[-1].i)))); } -#line 2742 "grammar.c" /* yacc.c:1646 */ +#line 2729 "grammar.c" /* yacc.c:1646 */ break; case 110: -#line 686 "grammar.y" /* yacc.c:1646 */ +#line 673 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_less(cstate, (yyvsp[0].h)))); } -#line 2748 "grammar.c" /* yacc.c:1646 */ +#line 2735 "grammar.c" /* yacc.c:1646 */ break; case 111: -#line 687 "grammar.y" /* yacc.c:1646 */ +#line 674 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_greater(cstate, (yyvsp[0].h)))); } -#line 2754 "grammar.c" /* yacc.c:1646 */ +#line 2741 "grammar.c" /* yacc.c:1646 */ break; case 112: -#line 688 "grammar.y" /* yacc.c:1646 */ +#line 675 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_byteop(cstate, (yyvsp[-1].i), (yyvsp[-2].h), (yyvsp[0].h)))); } -#line 2760 "grammar.c" /* yacc.c:1646 */ +#line 2747 "grammar.c" /* yacc.c:1646 */ break; case 113: -#line 689 "grammar.y" /* yacc.c:1646 */ +#line 676 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_inbound(cstate, 0))); } -#line 2766 "grammar.c" /* yacc.c:1646 */ +#line 2753 "grammar.c" /* yacc.c:1646 */ break; case 114: -#line 690 "grammar.y" /* yacc.c:1646 */ +#line 677 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_inbound(cstate, 1))); } -#line 2772 "grammar.c" /* yacc.c:1646 */ +#line 2759 "grammar.c" /* yacc.c:1646 */ break; case 115: -#line 691 "grammar.y" /* yacc.c:1646 */ +#line 678 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_ifindex(cstate, (yyvsp[0].h)))); } -#line 2778 "grammar.c" /* yacc.c:1646 */ +#line 2765 "grammar.c" /* yacc.c:1646 */ break; case 116: -#line 692 "grammar.y" /* yacc.c:1646 */ +#line 679 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_vlan(cstate, (yyvsp[0].h), 1))); } -#line 2784 "grammar.c" /* yacc.c:1646 */ +#line 2771 "grammar.c" /* yacc.c:1646 */ break; case 117: -#line 693 "grammar.y" /* yacc.c:1646 */ +#line 680 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_vlan(cstate, 0, 0))); } -#line 2790 "grammar.c" /* yacc.c:1646 */ +#line 2777 "grammar.c" /* yacc.c:1646 */ break; case 118: -#line 694 "grammar.y" /* yacc.c:1646 */ +#line 681 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_mpls(cstate, (yyvsp[0].h), 1))); } -#line 2796 "grammar.c" /* yacc.c:1646 */ +#line 2783 "grammar.c" /* yacc.c:1646 */ break; case 119: -#line 695 "grammar.y" /* yacc.c:1646 */ +#line 682 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_mpls(cstate, 0, 0))); } -#line 2802 "grammar.c" /* yacc.c:1646 */ +#line 2789 "grammar.c" /* yacc.c:1646 */ break; case 120: -#line 696 "grammar.y" /* yacc.c:1646 */ +#line 683 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pppoed(cstate))); } -#line 2808 "grammar.c" /* yacc.c:1646 */ +#line 2795 "grammar.c" /* yacc.c:1646 */ break; case 121: -#line 697 "grammar.y" /* yacc.c:1646 */ +#line 684 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pppoes(cstate, (yyvsp[0].h), 1))); } -#line 2814 "grammar.c" /* yacc.c:1646 */ +#line 2801 "grammar.c" /* yacc.c:1646 */ break; case 122: -#line 698 "grammar.y" /* yacc.c:1646 */ +#line 685 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pppoes(cstate, 0, 0))); } -#line 2820 "grammar.c" /* yacc.c:1646 */ +#line 2807 "grammar.c" /* yacc.c:1646 */ break; case 123: -#line 699 "grammar.y" /* yacc.c:1646 */ +#line 686 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_geneve(cstate, (yyvsp[0].h), 1))); } -#line 2826 "grammar.c" /* yacc.c:1646 */ +#line 2813 "grammar.c" /* yacc.c:1646 */ break; case 124: -#line 700 "grammar.y" /* yacc.c:1646 */ +#line 687 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_geneve(cstate, 0, 0))); } -#line 2832 "grammar.c" /* yacc.c:1646 */ +#line 2819 "grammar.c" /* yacc.c:1646 */ break; case 125: -#line 701 "grammar.y" /* yacc.c:1646 */ +#line 688 "grammar.y" /* yacc.c:1646 */ { (yyval.rblk) = (yyvsp[0].rblk); } -#line 2838 "grammar.c" /* yacc.c:1646 */ +#line 2825 "grammar.c" /* yacc.c:1646 */ break; case 126: -#line 702 "grammar.y" /* yacc.c:1646 */ +#line 689 "grammar.y" /* yacc.c:1646 */ { (yyval.rblk) = (yyvsp[0].rblk); } -#line 2844 "grammar.c" /* yacc.c:1646 */ +#line 2831 "grammar.c" /* yacc.c:1646 */ break; case 127: -#line 703 "grammar.y" /* yacc.c:1646 */ +#line 690 "grammar.y" /* yacc.c:1646 */ { (yyval.rblk) = (yyvsp[0].rblk); } -#line 2850 "grammar.c" /* yacc.c:1646 */ +#line 2837 "grammar.c" /* yacc.c:1646 */ break; case 128: -#line 706 "grammar.y" /* yacc.c:1646 */ +#line 693 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_PTR_VAL(((yyval.rblk) = gen_pf_ifname(cstate, (yyvsp[0].s)))); } -#line 2856 "grammar.c" /* yacc.c:1646 */ +#line 2843 "grammar.c" /* yacc.c:1646 */ break; case 129: -#line 707 "grammar.y" /* yacc.c:1646 */ +#line 694 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_PTR_VAL(((yyval.rblk) = gen_pf_ruleset(cstate, (yyvsp[0].s)))); } -#line 2862 "grammar.c" /* yacc.c:1646 */ +#line 2849 "grammar.c" /* yacc.c:1646 */ break; case 130: -#line 708 "grammar.y" /* yacc.c:1646 */ +#line 695 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pf_rnr(cstate, (yyvsp[0].h)))); } -#line 2868 "grammar.c" /* yacc.c:1646 */ +#line 2855 "grammar.c" /* yacc.c:1646 */ break; case 131: -#line 709 "grammar.y" /* yacc.c:1646 */ +#line 696 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pf_srnr(cstate, (yyvsp[0].h)))); } -#line 2874 "grammar.c" /* yacc.c:1646 */ +#line 2861 "grammar.c" /* yacc.c:1646 */ break; case 132: -#line 710 "grammar.y" /* yacc.c:1646 */ +#line 697 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pf_reason(cstate, (yyvsp[0].i)))); } -#line 2880 "grammar.c" /* yacc.c:1646 */ +#line 2867 "grammar.c" /* yacc.c:1646 */ break; case 133: -#line 711 "grammar.y" /* yacc.c:1646 */ +#line 698 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_pf_action(cstate, (yyvsp[0].i)))); } -#line 2886 "grammar.c" /* yacc.c:1646 */ +#line 2873 "grammar.c" /* yacc.c:1646 */ break; case 134: -#line 715 "grammar.y" /* yacc.c:1646 */ +#line 702 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_p80211_type(cstate, (yyvsp[-2].i) | (yyvsp[0].i), IEEE80211_FC0_TYPE_MASK | IEEE80211_FC0_SUBTYPE_MASK))); } -#line 2895 "grammar.c" /* yacc.c:1646 */ +#line 2882 "grammar.c" /* yacc.c:1646 */ break; case 135: -#line 719 "grammar.y" /* yacc.c:1646 */ +#line 706 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_p80211_type(cstate, (yyvsp[0].i), IEEE80211_FC0_TYPE_MASK))); } -#line 2903 "grammar.c" /* yacc.c:1646 */ +#line 2890 "grammar.c" /* yacc.c:1646 */ break; case 136: -#line 722 "grammar.y" /* yacc.c:1646 */ +#line 709 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_p80211_type(cstate, (yyvsp[0].i), IEEE80211_FC0_TYPE_MASK | IEEE80211_FC0_SUBTYPE_MASK))); } -#line 2912 "grammar.c" /* yacc.c:1646 */ +#line 2899 "grammar.c" /* yacc.c:1646 */ break; case 137: -#line 726 "grammar.y" /* yacc.c:1646 */ +#line 713 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_p80211_fcdir(cstate, (yyvsp[0].i)))); } -#line 2918 "grammar.c" /* yacc.c:1646 */ +#line 2905 "grammar.c" /* yacc.c:1646 */ break; case 138: -#line 729 "grammar.y" /* yacc.c:1646 */ +#line 716 "grammar.y" /* yacc.c:1646 */ { if (((yyvsp[0].h) & (~IEEE80211_FC0_TYPE_MASK)) != 0) { bpf_set_error(cstate, "invalid 802.11 type value 0x%02x", (yyvsp[0].h)); YYABORT; } (yyval.i) = (int)(yyvsp[0].h); } -#line 2929 "grammar.c" /* yacc.c:1646 */ +#line 2916 "grammar.c" /* yacc.c:1646 */ break; case 139: -#line 735 "grammar.y" /* yacc.c:1646 */ +#line 722 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); (yyval.i) = str2tok((yyvsp[0].s), ieee80211_types); if ((yyval.i) == -1) { @@ -2937,22 +2924,22 @@ yyreduce: YYABORT; } } -#line 2941 "grammar.c" /* yacc.c:1646 */ +#line 2928 "grammar.c" /* yacc.c:1646 */ break; case 140: -#line 744 "grammar.y" /* yacc.c:1646 */ +#line 731 "grammar.y" /* yacc.c:1646 */ { if (((yyvsp[0].h) & (~IEEE80211_FC0_SUBTYPE_MASK)) != 0) { bpf_set_error(cstate, "invalid 802.11 subtype value 0x%02x", (yyvsp[0].h)); YYABORT; } (yyval.i) = (int)(yyvsp[0].h); } -#line 2952 "grammar.c" /* yacc.c:1646 */ +#line 2939 "grammar.c" /* yacc.c:1646 */ break; case 141: -#line 750 "grammar.y" /* yacc.c:1646 */ +#line 737 "grammar.y" /* yacc.c:1646 */ { const struct tok *types = NULL; int i; CHECK_PTR_VAL((yyvsp[0].s)); @@ -2974,11 +2961,11 @@ yyreduce: YYABORT; } } -#line 2978 "grammar.c" /* yacc.c:1646 */ +#line 2965 "grammar.c" /* yacc.c:1646 */ break; case 142: -#line 773 "grammar.y" /* yacc.c:1646 */ +#line 760 "grammar.y" /* yacc.c:1646 */ { int i; CHECK_PTR_VAL((yyvsp[0].s)); for (i = 0;; i++) { @@ -2994,17 +2981,17 @@ yyreduce: } } } -#line 2998 "grammar.c" /* yacc.c:1646 */ +#line 2985 "grammar.c" /* yacc.c:1646 */ break; case 143: -#line 790 "grammar.y" /* yacc.c:1646 */ +#line 777 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_llc(cstate))); } -#line 3004 "grammar.c" /* yacc.c:1646 */ +#line 2991 "grammar.c" /* yacc.c:1646 */ break; case 144: -#line 791 "grammar.y" /* yacc.c:1646 */ +#line 778 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); if (pcapint_strcasecmp((yyvsp[0].s), "i") == 0) { CHECK_PTR_VAL(((yyval.rblk) = gen_llc_i(cstate))); @@ -3028,23 +3015,23 @@ yyreduce: } } } -#line 3032 "grammar.c" /* yacc.c:1646 */ +#line 3019 "grammar.c" /* yacc.c:1646 */ break; case 145: -#line 815 "grammar.y" /* yacc.c:1646 */ +#line 802 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.rblk) = gen_llc_s_subtype(cstate, LLC_RNR))); } -#line 3038 "grammar.c" /* yacc.c:1646 */ +#line 3025 "grammar.c" /* yacc.c:1646 */ break; case 146: -#line 818 "grammar.y" /* yacc.c:1646 */ +#line 805 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = (int)(yyvsp[0].h); } -#line 3044 "grammar.c" /* yacc.c:1646 */ +#line 3031 "grammar.c" /* yacc.c:1646 */ break; case 147: -#line 819 "grammar.y" /* yacc.c:1646 */ +#line 806 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); if (pcapint_strcasecmp((yyvsp[0].s), "nods") == 0) (yyval.i) = IEEE80211_FC1_DIR_NODS; @@ -3059,412 +3046,412 @@ yyreduce: YYABORT; } } -#line 3063 "grammar.c" /* yacc.c:1646 */ +#line 3050 "grammar.c" /* yacc.c:1646 */ break; case 148: -#line 835 "grammar.y" /* yacc.c:1646 */ +#line 822 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = (yyvsp[0].h); } -#line 3069 "grammar.c" /* yacc.c:1646 */ +#line 3056 "grammar.c" /* yacc.c:1646 */ break; case 149: -#line 836 "grammar.y" /* yacc.c:1646 */ +#line 823 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_INT_VAL(((yyval.i) = pfreason_to_num(cstate, (yyvsp[0].s)))); } -#line 3075 "grammar.c" /* yacc.c:1646 */ +#line 3062 "grammar.c" /* yacc.c:1646 */ break; case 150: -#line 839 "grammar.y" /* yacc.c:1646 */ +#line 826 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL((yyvsp[0].s)); CHECK_INT_VAL(((yyval.i) = pfaction_to_num(cstate, (yyvsp[0].s)))); } -#line 3081 "grammar.c" /* yacc.c:1646 */ +#line 3068 "grammar.c" /* yacc.c:1646 */ break; case 151: -#line 842 "grammar.y" /* yacc.c:1646 */ +#line 829 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JGT; } -#line 3087 "grammar.c" /* yacc.c:1646 */ +#line 3074 "grammar.c" /* yacc.c:1646 */ break; case 152: -#line 843 "grammar.y" /* yacc.c:1646 */ +#line 830 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JGE; } -#line 3093 "grammar.c" /* yacc.c:1646 */ +#line 3080 "grammar.c" /* yacc.c:1646 */ break; case 153: -#line 844 "grammar.y" /* yacc.c:1646 */ +#line 831 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JEQ; } -#line 3099 "grammar.c" /* yacc.c:1646 */ +#line 3086 "grammar.c" /* yacc.c:1646 */ break; case 154: -#line 846 "grammar.y" /* yacc.c:1646 */ +#line 833 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JGT; } -#line 3105 "grammar.c" /* yacc.c:1646 */ +#line 3092 "grammar.c" /* yacc.c:1646 */ break; case 155: -#line 847 "grammar.y" /* yacc.c:1646 */ +#line 834 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JGE; } -#line 3111 "grammar.c" /* yacc.c:1646 */ +#line 3098 "grammar.c" /* yacc.c:1646 */ break; case 156: -#line 848 "grammar.y" /* yacc.c:1646 */ +#line 835 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = BPF_JEQ; } -#line 3117 "grammar.c" /* yacc.c:1646 */ +#line 3104 "grammar.c" /* yacc.c:1646 */ break; case 157: -#line 850 "grammar.y" /* yacc.c:1646 */ +#line 837 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_loadi(cstate, (yyvsp[0].h)))); } -#line 3123 "grammar.c" /* yacc.c:1646 */ +#line 3110 "grammar.c" /* yacc.c:1646 */ break; case 159: -#line 853 "grammar.y" /* yacc.c:1646 */ +#line 840 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_load(cstate, (yyvsp[-3].i), (yyvsp[-1].a), 1))); } -#line 3129 "grammar.c" /* yacc.c:1646 */ +#line 3116 "grammar.c" /* yacc.c:1646 */ break; case 160: -#line 854 "grammar.y" /* yacc.c:1646 */ +#line 841 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_load(cstate, (yyvsp[-5].i), (yyvsp[-3].a), (yyvsp[-1].h)))); } -#line 3135 "grammar.c" /* yacc.c:1646 */ +#line 3122 "grammar.c" /* yacc.c:1646 */ break; case 161: -#line 855 "grammar.y" /* yacc.c:1646 */ +#line 842 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_ADD, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3141 "grammar.c" /* yacc.c:1646 */ +#line 3128 "grammar.c" /* yacc.c:1646 */ break; case 162: -#line 856 "grammar.y" /* yacc.c:1646 */ +#line 843 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_SUB, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3147 "grammar.c" /* yacc.c:1646 */ +#line 3134 "grammar.c" /* yacc.c:1646 */ break; case 163: -#line 857 "grammar.y" /* yacc.c:1646 */ +#line 844 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_MUL, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3153 "grammar.c" /* yacc.c:1646 */ +#line 3140 "grammar.c" /* yacc.c:1646 */ break; case 164: -#line 858 "grammar.y" /* yacc.c:1646 */ +#line 845 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_DIV, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3159 "grammar.c" /* yacc.c:1646 */ +#line 3146 "grammar.c" /* yacc.c:1646 */ break; case 165: -#line 859 "grammar.y" /* yacc.c:1646 */ +#line 846 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_MOD, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3165 "grammar.c" /* yacc.c:1646 */ +#line 3152 "grammar.c" /* yacc.c:1646 */ break; case 166: -#line 860 "grammar.y" /* yacc.c:1646 */ +#line 847 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_AND, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3171 "grammar.c" /* yacc.c:1646 */ +#line 3158 "grammar.c" /* yacc.c:1646 */ break; case 167: -#line 861 "grammar.y" /* yacc.c:1646 */ +#line 848 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_OR, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3177 "grammar.c" /* yacc.c:1646 */ +#line 3164 "grammar.c" /* yacc.c:1646 */ break; case 168: -#line 862 "grammar.y" /* yacc.c:1646 */ +#line 849 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_XOR, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3183 "grammar.c" /* yacc.c:1646 */ +#line 3170 "grammar.c" /* yacc.c:1646 */ break; case 169: -#line 863 "grammar.y" /* yacc.c:1646 */ +#line 850 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_LSH, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3189 "grammar.c" /* yacc.c:1646 */ +#line 3176 "grammar.c" /* yacc.c:1646 */ break; case 170: -#line 864 "grammar.y" /* yacc.c:1646 */ +#line 851 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_arth(cstate, BPF_RSH, (yyvsp[-2].a), (yyvsp[0].a)))); } -#line 3195 "grammar.c" /* yacc.c:1646 */ +#line 3182 "grammar.c" /* yacc.c:1646 */ break; case 171: -#line 865 "grammar.y" /* yacc.c:1646 */ +#line 852 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_neg(cstate, (yyvsp[0].a)))); } -#line 3201 "grammar.c" /* yacc.c:1646 */ +#line 3188 "grammar.c" /* yacc.c:1646 */ break; case 172: -#line 866 "grammar.y" /* yacc.c:1646 */ +#line 853 "grammar.y" /* yacc.c:1646 */ { (yyval.a) = (yyvsp[-1].a); } -#line 3207 "grammar.c" /* yacc.c:1646 */ +#line 3194 "grammar.c" /* yacc.c:1646 */ break; case 173: -#line 867 "grammar.y" /* yacc.c:1646 */ +#line 854 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.a) = gen_loadlen(cstate))); } -#line 3213 "grammar.c" /* yacc.c:1646 */ +#line 3200 "grammar.c" /* yacc.c:1646 */ break; case 174: -#line 869 "grammar.y" /* yacc.c:1646 */ +#line 856 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = '&'; } -#line 3219 "grammar.c" /* yacc.c:1646 */ +#line 3206 "grammar.c" /* yacc.c:1646 */ break; case 175: -#line 870 "grammar.y" /* yacc.c:1646 */ +#line 857 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = '|'; } -#line 3225 "grammar.c" /* yacc.c:1646 */ +#line 3212 "grammar.c" /* yacc.c:1646 */ break; case 176: -#line 871 "grammar.y" /* yacc.c:1646 */ +#line 858 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = '<'; } -#line 3231 "grammar.c" /* yacc.c:1646 */ +#line 3218 "grammar.c" /* yacc.c:1646 */ break; case 177: -#line 872 "grammar.y" /* yacc.c:1646 */ +#line 859 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = '>'; } -#line 3237 "grammar.c" /* yacc.c:1646 */ +#line 3224 "grammar.c" /* yacc.c:1646 */ break; case 178: -#line 873 "grammar.y" /* yacc.c:1646 */ +#line 860 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = '='; } -#line 3243 "grammar.c" /* yacc.c:1646 */ +#line 3230 "grammar.c" /* yacc.c:1646 */ break; case 180: -#line 876 "grammar.y" /* yacc.c:1646 */ +#line 863 "grammar.y" /* yacc.c:1646 */ { (yyval.h) = (yyvsp[-1].h); } -#line 3249 "grammar.c" /* yacc.c:1646 */ +#line 3236 "grammar.c" /* yacc.c:1646 */ break; case 181: -#line 878 "grammar.y" /* yacc.c:1646 */ +#line 865 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_LANE; } -#line 3255 "grammar.c" /* yacc.c:1646 */ +#line 3242 "grammar.c" /* yacc.c:1646 */ break; case 182: -#line 879 "grammar.y" /* yacc.c:1646 */ +#line 866 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_METAC; } -#line 3261 "grammar.c" /* yacc.c:1646 */ +#line 3248 "grammar.c" /* yacc.c:1646 */ break; case 183: -#line 880 "grammar.y" /* yacc.c:1646 */ +#line 867 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_BCC; } -#line 3267 "grammar.c" /* yacc.c:1646 */ +#line 3254 "grammar.c" /* yacc.c:1646 */ break; case 184: -#line 881 "grammar.y" /* yacc.c:1646 */ +#line 868 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_OAMF4EC; } -#line 3273 "grammar.c" /* yacc.c:1646 */ +#line 3260 "grammar.c" /* yacc.c:1646 */ break; case 185: -#line 882 "grammar.y" /* yacc.c:1646 */ +#line 869 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_OAMF4SC; } -#line 3279 "grammar.c" /* yacc.c:1646 */ +#line 3266 "grammar.c" /* yacc.c:1646 */ break; case 186: -#line 883 "grammar.y" /* yacc.c:1646 */ +#line 870 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_SC; } -#line 3285 "grammar.c" /* yacc.c:1646 */ +#line 3272 "grammar.c" /* yacc.c:1646 */ break; case 187: -#line 884 "grammar.y" /* yacc.c:1646 */ +#line 871 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_ILMIC; } -#line 3291 "grammar.c" /* yacc.c:1646 */ +#line 3278 "grammar.c" /* yacc.c:1646 */ break; case 188: -#line 886 "grammar.y" /* yacc.c:1646 */ +#line 873 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_OAM; } -#line 3297 "grammar.c" /* yacc.c:1646 */ +#line 3284 "grammar.c" /* yacc.c:1646 */ break; case 189: -#line 887 "grammar.y" /* yacc.c:1646 */ +#line 874 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_OAMF4; } -#line 3303 "grammar.c" /* yacc.c:1646 */ +#line 3290 "grammar.c" /* yacc.c:1646 */ break; case 190: -#line 888 "grammar.y" /* yacc.c:1646 */ +#line 875 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_CONNECTMSG; } -#line 3309 "grammar.c" /* yacc.c:1646 */ +#line 3296 "grammar.c" /* yacc.c:1646 */ break; case 191: -#line 889 "grammar.y" /* yacc.c:1646 */ +#line 876 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = A_METACONNECT; } -#line 3315 "grammar.c" /* yacc.c:1646 */ +#line 3302 "grammar.c" /* yacc.c:1646 */ break; case 192: -#line 892 "grammar.y" /* yacc.c:1646 */ +#line 879 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).atmfieldtype = A_VPI; } -#line 3321 "grammar.c" /* yacc.c:1646 */ +#line 3308 "grammar.c" /* yacc.c:1646 */ break; case 193: -#line 893 "grammar.y" /* yacc.c:1646 */ +#line 880 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).atmfieldtype = A_VCI; } -#line 3327 "grammar.c" /* yacc.c:1646 */ +#line 3314 "grammar.c" /* yacc.c:1646 */ break; case 195: -#line 896 "grammar.y" /* yacc.c:1646 */ +#line 883 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_atmfield_code(cstate, (yyvsp[-2].blk).atmfieldtype, (yyvsp[0].h), (yyvsp[-1].i), 0))); } -#line 3333 "grammar.c" /* yacc.c:1646 */ +#line 3320 "grammar.c" /* yacc.c:1646 */ break; case 196: -#line 897 "grammar.y" /* yacc.c:1646 */ +#line 884 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_atmfield_code(cstate, (yyvsp[-2].blk).atmfieldtype, (yyvsp[0].h), (yyvsp[-1].i), 1))); } -#line 3339 "grammar.c" /* yacc.c:1646 */ +#line 3326 "grammar.c" /* yacc.c:1646 */ break; case 197: -#line 898 "grammar.y" /* yacc.c:1646 */ +#line 885 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = qerr; } -#line 3345 "grammar.c" /* yacc.c:1646 */ +#line 3332 "grammar.c" /* yacc.c:1646 */ break; case 198: -#line 900 "grammar.y" /* yacc.c:1646 */ +#line 887 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).atmfieldtype = (yyvsp[-1].blk).atmfieldtype; if ((yyval.blk).atmfieldtype == A_VPI || (yyval.blk).atmfieldtype == A_VCI) CHECK_PTR_VAL(((yyval.blk).b = gen_atmfield_code(cstate, (yyval.blk).atmfieldtype, (yyvsp[0].h), BPF_JEQ, 0))); } -#line 3356 "grammar.c" /* yacc.c:1646 */ +#line 3343 "grammar.c" /* yacc.c:1646 */ break; case 200: -#line 908 "grammar.y" /* yacc.c:1646 */ +#line 895 "grammar.y" /* yacc.c:1646 */ { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 3362 "grammar.c" /* yacc.c:1646 */ +#line 3349 "grammar.c" /* yacc.c:1646 */ break; case 201: -#line 911 "grammar.y" /* yacc.c:1646 */ +#line 898 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = M_FISU; } -#line 3368 "grammar.c" /* yacc.c:1646 */ +#line 3355 "grammar.c" /* yacc.c:1646 */ break; case 202: -#line 912 "grammar.y" /* yacc.c:1646 */ +#line 899 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = M_LSSU; } -#line 3374 "grammar.c" /* yacc.c:1646 */ +#line 3361 "grammar.c" /* yacc.c:1646 */ break; case 203: -#line 913 "grammar.y" /* yacc.c:1646 */ +#line 900 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = M_MSU; } -#line 3380 "grammar.c" /* yacc.c:1646 */ +#line 3367 "grammar.c" /* yacc.c:1646 */ break; case 204: -#line 914 "grammar.y" /* yacc.c:1646 */ +#line 901 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = MH_FISU; } -#line 3386 "grammar.c" /* yacc.c:1646 */ +#line 3373 "grammar.c" /* yacc.c:1646 */ break; case 205: -#line 915 "grammar.y" /* yacc.c:1646 */ +#line 902 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = MH_LSSU; } -#line 3392 "grammar.c" /* yacc.c:1646 */ +#line 3379 "grammar.c" /* yacc.c:1646 */ break; case 206: -#line 916 "grammar.y" /* yacc.c:1646 */ +#line 903 "grammar.y" /* yacc.c:1646 */ { (yyval.i) = MH_MSU; } -#line 3398 "grammar.c" /* yacc.c:1646 */ +#line 3385 "grammar.c" /* yacc.c:1646 */ break; case 207: -#line 919 "grammar.y" /* yacc.c:1646 */ +#line 906 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = M_SIO; } -#line 3404 "grammar.c" /* yacc.c:1646 */ +#line 3391 "grammar.c" /* yacc.c:1646 */ break; case 208: -#line 920 "grammar.y" /* yacc.c:1646 */ +#line 907 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = M_OPC; } -#line 3410 "grammar.c" /* yacc.c:1646 */ +#line 3397 "grammar.c" /* yacc.c:1646 */ break; case 209: -#line 921 "grammar.y" /* yacc.c:1646 */ +#line 908 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = M_DPC; } -#line 3416 "grammar.c" /* yacc.c:1646 */ +#line 3403 "grammar.c" /* yacc.c:1646 */ break; case 210: -#line 922 "grammar.y" /* yacc.c:1646 */ +#line 909 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = M_SLS; } -#line 3422 "grammar.c" /* yacc.c:1646 */ +#line 3409 "grammar.c" /* yacc.c:1646 */ break; case 211: -#line 923 "grammar.y" /* yacc.c:1646 */ +#line 910 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = MH_SIO; } -#line 3428 "grammar.c" /* yacc.c:1646 */ +#line 3415 "grammar.c" /* yacc.c:1646 */ break; case 212: -#line 924 "grammar.y" /* yacc.c:1646 */ +#line 911 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = MH_OPC; } -#line 3434 "grammar.c" /* yacc.c:1646 */ +#line 3421 "grammar.c" /* yacc.c:1646 */ break; case 213: -#line 925 "grammar.y" /* yacc.c:1646 */ +#line 912 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = MH_DPC; } -#line 3440 "grammar.c" /* yacc.c:1646 */ +#line 3427 "grammar.c" /* yacc.c:1646 */ break; case 214: -#line 926 "grammar.y" /* yacc.c:1646 */ +#line 913 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = MH_SLS; } -#line 3446 "grammar.c" /* yacc.c:1646 */ +#line 3433 "grammar.c" /* yacc.c:1646 */ break; case 216: -#line 929 "grammar.y" /* yacc.c:1646 */ +#line 916 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_mtp3field_code(cstate, (yyvsp[-2].blk).mtp3fieldtype, (yyvsp[0].h), (yyvsp[-1].i), 0))); } -#line 3452 "grammar.c" /* yacc.c:1646 */ +#line 3439 "grammar.c" /* yacc.c:1646 */ break; case 217: -#line 930 "grammar.y" /* yacc.c:1646 */ +#line 917 "grammar.y" /* yacc.c:1646 */ { CHECK_PTR_VAL(((yyval.blk).b = gen_mtp3field_code(cstate, (yyvsp[-2].blk).mtp3fieldtype, (yyvsp[0].h), (yyvsp[-1].i), 1))); } -#line 3458 "grammar.c" /* yacc.c:1646 */ +#line 3445 "grammar.c" /* yacc.c:1646 */ break; case 218: -#line 931 "grammar.y" /* yacc.c:1646 */ +#line 918 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).b = (yyvsp[-1].blk).b; (yyval.blk).q = qerr; } -#line 3464 "grammar.c" /* yacc.c:1646 */ +#line 3451 "grammar.c" /* yacc.c:1646 */ break; case 219: -#line 933 "grammar.y" /* yacc.c:1646 */ +#line 920 "grammar.y" /* yacc.c:1646 */ { (yyval.blk).mtp3fieldtype = (yyvsp[-1].blk).mtp3fieldtype; if ((yyval.blk).mtp3fieldtype == M_SIO || @@ -3477,17 +3464,17 @@ yyreduce: (yyval.blk).mtp3fieldtype == MH_SLS) CHECK_PTR_VAL(((yyval.blk).b = gen_mtp3field_code(cstate, (yyval.blk).mtp3fieldtype, (yyvsp[0].h), BPF_JEQ, 0))); } -#line 3481 "grammar.c" /* yacc.c:1646 */ +#line 3468 "grammar.c" /* yacc.c:1646 */ break; case 221: -#line 947 "grammar.y" /* yacc.c:1646 */ +#line 934 "grammar.y" /* yacc.c:1646 */ { gen_or((yyvsp[-2].blk).b, (yyvsp[0].blk).b); (yyval.blk) = (yyvsp[0].blk); } -#line 3487 "grammar.c" /* yacc.c:1646 */ +#line 3474 "grammar.c" /* yacc.c:1646 */ break; -#line 3491 "grammar.c" /* yacc.c:1646 */ +#line 3478 "grammar.c" /* yacc.c:1646 */ default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -3715,5 +3702,5 @@ yyreturn: #endif return yyresult; } -#line 949 "grammar.y" /* yacc.c:1906 */ +#line 936 "grammar.y" /* yacc.c:1906 */ diff --git a/libpcap/grammar.h b/libpcap/grammar.h index 35c943aa0..6fc7d5e9a 100644 --- a/libpcap/grammar.h +++ b/libpcap/grammar.h @@ -174,7 +174,7 @@ extern int pcap_debug; union YYSTYPE { -#line 357 "grammar.y" /* yacc.c:1909 */ +#line 344 "grammar.y" /* yacc.c:1909 */ int i; bpf_u_int32 h; diff --git a/libpcap/grammar.y.in b/libpcap/grammar.y.in index 87706fa89..8007898ed 100644 --- a/libpcap/grammar.y.in +++ b/libpcap/grammar.y.in @@ -78,19 +78,6 @@ #include -#ifndef _WIN32 -#include -#include - -#if __STDC__ -struct mbuf; -struct rtentry; -#endif - -#include -#include -#endif /* _WIN32 */ - #include #include "diag-control.h" diff --git a/libpcap/ieee80211.h b/libpcap/ieee80211.h index 473803d8a..2e46aa91b 100644 --- a/libpcap/ieee80211.h +++ b/libpcap/ieee80211.h @@ -41,13 +41,13 @@ #define IEEE80211_FC0_VERSION_MASK 0x03 #define IEEE80211_FC0_VERSION_SHIFT 0 #define IEEE80211_FC0_VERSION_0 0x00 -#define IEEE80211_FC0_TYPE_MASK 0x0c +#define IEEE80211_FC0_TYPE_MASK 0x0cU #define IEEE80211_FC0_TYPE_SHIFT 2 #define IEEE80211_FC0_TYPE_MGT 0x00 #define IEEE80211_FC0_TYPE_CTL 0x04 #define IEEE80211_FC0_TYPE_DATA 0x08 -#define IEEE80211_FC0_SUBTYPE_MASK 0xf0 +#define IEEE80211_FC0_SUBTYPE_MASK 0xf0U #define IEEE80211_FC0_SUBTYPE_SHIFT 4 /* for TYPE_MGT */ #define IEEE80211_FC0_SUBTYPE_ASSOC_REQ 0x00 @@ -80,7 +80,7 @@ #define IEEE80211_FC0_SUBTYPE_QOS 0x80 #define IEEE80211_FC0_SUBTYPE_QOS_NULL 0xc0 -#define IEEE80211_FC1_DIR_MASK 0x03 +#define IEEE80211_FC1_DIR_MASK 0x03U #define IEEE80211_FC1_DIR_NODS 0x00 /* STA->STA */ #define IEEE80211_FC1_DIR_TODS 0x01 /* STA->AP */ #define IEEE80211_FC1_DIR_FROMDS 0x02 /* AP ->STA */ diff --git a/libpcap/instrument-functions.c b/libpcap/instrument-functions.c new file mode 100644 index 000000000..ba0a56a53 --- /dev/null +++ b/libpcap/instrument-functions.c @@ -0,0 +1,250 @@ +/* + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that: (1) source code + * distributions retain the above copyright notice and this paragraph + * in its entirety, and (2) distributions including binary code include + * the above copyright notice and this paragraph in its entirety in + * the documentation or other materials provided with the distribution. + * THIS SOFTWARE IS PROVIDED ``AS IS'' AND + * WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT + * LIMITATION, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS + * FOR A PARTICULAR PURPOSE. + */ + +#include +#include +#include +#include +#include + +/* + * Generate instrumentation calls for entry and exit to functions. + * Just after function entry and just before function exit, the + * following profiling functions are called with the address of the + * current function and its call site (currently not use). + * + * The attribute 'no_instrument_function' causes this instrumentation is + * not done. + * + * These profiling functions call print_debug(). This function prints the + * current function name with indentation and call level. + * If entering in a function it prints also the calling function name with + * file name and line number. + * + * If the environment variable INSTRUMENT is + * unset or set to an empty string, print nothing, like with no instrumentation + * set to "all" or "a", print all the functions names + * set to "global" or "g", print only the global functions names + */ + +#define ND_NO_INSTRUMENT __attribute__((no_instrument_function)) + +/* Store the function call level, used also in pretty_print_packet() */ +extern int profile_func_level; +int profile_func_level = -1; + +typedef enum { + ENTER, + EXIT +} action_type; + +void __cyg_profile_func_enter(void *this_fn, void *call_site) ND_NO_INSTRUMENT; + +void __cyg_profile_func_exit(void *this_fn, void *call_site) ND_NO_INSTRUMENT; + +static void print_debug(void *this_fn, void *call_site, action_type action) + ND_NO_INSTRUMENT; + +void +__cyg_profile_func_enter(void *this_fn, void *call_site) +{ + print_debug(this_fn, call_site, ENTER); +} + +void +__cyg_profile_func_exit(void *this_fn, void *call_site) +{ + print_debug(this_fn, call_site, EXIT); +} + +static void print_debug(void *this_fn, void *call_site, action_type action) +{ + static bfd* abfd; + static asymbol **symtab; + static long symcount; + static asection *text; + static bfd_vma vma; + static int instrument_set; + static int instrument_off; + static int instrument_global; + + if (!instrument_set) { + static char *instrument_type; + + /* Get the configuration environment variable INSTRUMENT value if any */ + instrument_type = getenv("INSTRUMENT"); + /* unset or set to an empty string ? */ + if (instrument_type == NULL || + !strncmp(instrument_type, "", sizeof(""))) { + instrument_off = 1; + } else { + /* set to "global" or "g" ? */ + if (!strncmp(instrument_type, "global", sizeof("global")) || + !strncmp(instrument_type, "g", sizeof("g"))) + instrument_global = 1; + else if (strncmp(instrument_type, "all", sizeof("all")) && + strncmp(instrument_type, "a", sizeof("a"))) { + fprintf(stderr, "INSTRUMENT can be only \"\", \"all\", \"a\", " + "\"global\" or \"g\".\n"); + exit(1); + } + } + instrument_set = 1; + } + + if (instrument_off) + return; + + /* If no errors, this block should be executed one time */ + if (!abfd) { + char pgm_name[1024]; + long symsize; + + ssize_t ret = readlink("/proc/self/exe", pgm_name, sizeof(pgm_name)); + if (ret == -1) { + perror("failed to find executable"); + return; + } + if (ret == sizeof(pgm_name)) { + /* no space for the '\0' */ + printf("truncation may have occurred\n"); + return; + } + pgm_name[ret] = '\0'; + + bfd_init(); + + abfd = bfd_openr(pgm_name, NULL); + if (!abfd) { + bfd_perror("bfd_openr"); + return; + } + + if (!bfd_check_format(abfd, bfd_object)) { + bfd_perror("bfd_check_format"); + return; + } + + if((symsize = bfd_get_symtab_upper_bound(abfd)) == -1) { + bfd_perror("bfd_get_symtab_upper_bound"); + return; + } + + symtab = (asymbol **)malloc((size_t)symsize); + symcount = bfd_canonicalize_symtab(abfd, symtab); + if (symcount < 0) { + free(symtab); + bfd_perror("bfd_canonicalize_symtab"); + return; + } + + if ((text = bfd_get_section_by_name(abfd, ".text")) == NULL) { + bfd_perror("bfd_get_section_by_name"); + return; + } + vma = text->vma; + } + + if (instrument_global) { + symbol_info syminfo; + int found; + long i; + + i = 0; + found = 0; + while (i < symcount && !found) { + bfd_get_symbol_info(abfd, symtab[i], &syminfo); + if ((void *)syminfo.value == this_fn) { + found = 1; + } + i++; + } + /* type == 'T' for a global function */ + if (found == 1 && syminfo.type != 'T') + return; + } + + /* Current function */ + if ((bfd_vma)this_fn < vma) { + printf("[ERROR address this_fn]"); + } else { + const char *file; + const char *func; + unsigned int line; + + if (!bfd_find_nearest_line(abfd, text, symtab, (bfd_vma)this_fn - vma, + &file, &func, &line)) { + printf("[ERROR bfd_find_nearest_line this_fn]"); + } else { + int i; + + if (action == ENTER) + profile_func_level += 1; + /* Indentation */ + for (i = 0 ; i < profile_func_level ; i++) + putchar(' '); + if (action == ENTER) + printf("[>> "); + else + printf("[<< "); + /* Function name */ + if (func == NULL || *func == '\0') + printf("???"); + else + printf("%s", func); + printf(" (%d)", profile_func_level); + /* Print the "from" part except for the main function) */ + if (action == ENTER && func != NULL && + strncmp(func, "main", sizeof("main"))) { + /* Calling function */ + if ((bfd_vma)call_site < vma) { + printf("[ERROR address call_site]"); + } else { + if (!bfd_find_nearest_line(abfd, text, symtab, + (bfd_vma)call_site - vma, &file, + &func, &line)) { + printf("[ERROR bfd_find_nearest_line call_site]"); + } else { + printf(" from "); + /* Function name */ + if (func == NULL || *func == '\0') + printf("???"); + else + printf("%s", func); + /* File name */ + if (file == NULL || *file == '\0') + printf(" ??:"); + else { + char *slashp = strrchr(file, '/'); + if (slashp != NULL) + file = slashp + 1; + printf(" %s:", file); + } + /* Line number */ + if (line == 0) + printf("?"); + else + printf("%u", line); + printf("]"); + } + } + } + putchar('\n'); + if (action == EXIT) + profile_func_level -= 1; + } + } + fflush(stdout); +} + +/* vi: set tabstop=4 softtabstop=0 shiftwidth=4 smarttab autoindent : */ diff --git a/libpcap/msdos/makefile.dj b/libpcap/msdos/makefile.dj index 3b6f31bda..b20f1b4ed 100644 --- a/libpcap/msdos/makefile.dj +++ b/libpcap/msdos/makefile.dj @@ -86,9 +86,9 @@ grammar.c tokdefs.h: grammar.y mv -f y.tab.c grammar.c mv -f y.tab.h tokdefs.h -version.h: ./VERSION - @echo '/* Generated from VERSION. Do not edit */' > $@ - sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION >> $@ +version.h: ./VERSION.txt + @echo '/* Generated from VERSION.txt. Do not edit */' > $@ + sed -e 's/.*/static char pcap_version_string[] = "libpcap (&)";/' ./VERSION.txt >> $@ scanner.c: scanner.l $(LEX) -Ppcap_ -7 -t $^ > $@ diff --git a/libpcap/nametoaddr.c b/libpcap/nametoaddr.c index d5cb981cc..f50d0da5e 100644 --- a/libpcap/nametoaddr.c +++ b/libpcap/nametoaddr.c @@ -32,31 +32,6 @@ #ifdef _WIN32 #include #include - - #ifdef INET6 - /* - * To quote the MSDN page for getaddrinfo() at - * - * https://msdn.microsoft.com/en-us/library/windows/desktop/ms738520(v=vs.85).aspx - * - * "Support for getaddrinfo on Windows 2000 and older versions - * The getaddrinfo function was added to the Ws2_32.dll on Windows XP and - * later. To execute an application that uses this function on earlier - * versions of Windows, then you need to include the Ws2tcpip.h and - * Wspiapi.h files. When the Wspiapi.h include file is added, the - * getaddrinfo function is defined to the WspiapiGetAddrInfo inline - * function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo - * function is implemented in such a way that if the Ws2_32.dll or the - * Wship6.dll (the file containing getaddrinfo in the IPv6 Technology - * Preview for Windows 2000) does not include getaddrinfo, then a - * version of getaddrinfo is implemented inline based on code in the - * Wspiapi.h header file. This inline code will be used on older Windows - * platforms that do not natively support the getaddrinfo function." - * - * We use getaddrinfo(), so we include Wspiapi.h here. - */ - #include - #endif /* INET6 */ #else /* _WIN32 */ #include #include @@ -639,7 +614,7 @@ pcap_nametollc(const char *s) /* Hex digit to 8-bit unsigned integer. */ static inline u_char -xdtoi(u_char c) +pcapint_xdtoi(u_char c) { if (c >= '0' && c <= '9') return (u_char)(c - '0'); @@ -697,38 +672,417 @@ __pcap_atodn(const char *s, bpf_u_int32 *addr) } /* - * Convert 's', which can have the one of the forms: + * libpcap ARCnet address format is "^\$[0-9a-fA-F]{1,2}$" in regexp syntax. + * Iff the given string is a well-formed ARCnet address, parse the string, + * store the 8-bit unsigned value into the provided integer and return 1. + * Otherwise return 0. * - * "xx:xx:xx:xx:xx:xx" - * "xx.xx.xx.xx.xx.xx" - * "xx-xx-xx-xx-xx-xx" - * "xxxx.xxxx.xxxx" - * "xxxxxxxxxxxx" + * --> START -- $ --> DOLLAR -- [0-9a-fA-F] --> HEX1 -- \0 -->-+ + * | | | | + * [.] [.] [0-9a-fA-F] | + * | | | | + * v v v v + * (invalid) <--------+-<---------------[.]-- HEX2 -- \0 -->-+--> (valid) + */ +int +pcapint_atoan(const char *s, uint8_t *addr) +{ + enum { + START, + DOLLAR, + HEX1, + HEX2, + } fsm_state = START; + uint8_t tmp = 0; + + while (*s) { + switch (fsm_state) { + case START: + if (*s != '$') + goto invalid; + fsm_state = DOLLAR; + break; + case DOLLAR: + if (! PCAP_ISXDIGIT(*s)) + goto invalid; + tmp = pcapint_xdtoi(*s); + fsm_state = HEX1; + break; + case HEX1: + if (! PCAP_ISXDIGIT(*s)) + goto invalid; + tmp <<= 4; + tmp |= pcapint_xdtoi(*s); + fsm_state = HEX2; + break; + case HEX2: + goto invalid; + } // switch + s++; + } // while + if (fsm_state == HEX1 || fsm_state == HEX2) { + *addr = tmp; + return 1; + } + +invalid: + return 0; +} + +// Man page: "xxxxxxxxxxxx", regexp: "^[0-9a-fA-F]{12}$". +static u_char +pcapint_atomac48_xxxxxxxxxxxx(const char *s, uint8_t *addr) +{ + if (strlen(s) == 12 && + PCAP_ISXDIGIT(s[0]) && + PCAP_ISXDIGIT(s[1]) && + PCAP_ISXDIGIT(s[2]) && + PCAP_ISXDIGIT(s[3]) && + PCAP_ISXDIGIT(s[4]) && + PCAP_ISXDIGIT(s[5]) && + PCAP_ISXDIGIT(s[6]) && + PCAP_ISXDIGIT(s[7]) && + PCAP_ISXDIGIT(s[8]) && + PCAP_ISXDIGIT(s[9]) && + PCAP_ISXDIGIT(s[10]) && + PCAP_ISXDIGIT(s[11])) { + addr[0] = pcapint_xdtoi(s[0]) << 4 | pcapint_xdtoi(s[1]); + addr[1] = pcapint_xdtoi(s[2]) << 4 | pcapint_xdtoi(s[3]); + addr[2] = pcapint_xdtoi(s[4]) << 4 | pcapint_xdtoi(s[5]); + addr[3] = pcapint_xdtoi(s[6]) << 4 | pcapint_xdtoi(s[7]); + addr[4] = pcapint_xdtoi(s[8]) << 4 | pcapint_xdtoi(s[9]); + addr[5] = pcapint_xdtoi(s[10]) << 4 | pcapint_xdtoi(s[11]); + return 1; + } + return 0; +} + +// Man page: "xxxx.xxxx.xxxx", regexp: "^[0-9a-fA-F]{4}(\.[0-9a-fA-F]{4}){2}$". +static u_char +pcapint_atomac48_xxxx_3_times(const char *s, uint8_t *addr) +{ + const char sep = '.'; + if (strlen(s) == 14 && + PCAP_ISXDIGIT(s[0]) && + PCAP_ISXDIGIT(s[1]) && + PCAP_ISXDIGIT(s[2]) && + PCAP_ISXDIGIT(s[3]) && + s[4] == sep && + PCAP_ISXDIGIT(s[5]) && + PCAP_ISXDIGIT(s[6]) && + PCAP_ISXDIGIT(s[7]) && + PCAP_ISXDIGIT(s[8]) && + s[9] == sep && + PCAP_ISXDIGIT(s[10]) && + PCAP_ISXDIGIT(s[11]) && + PCAP_ISXDIGIT(s[12]) && + PCAP_ISXDIGIT(s[13])) { + addr[0] = pcapint_xdtoi(s[0]) << 4 | pcapint_xdtoi(s[1]); + addr[1] = pcapint_xdtoi(s[2]) << 4 | pcapint_xdtoi(s[3]); + addr[2] = pcapint_xdtoi(s[5]) << 4 | pcapint_xdtoi(s[6]); + addr[3] = pcapint_xdtoi(s[7]) << 4 | pcapint_xdtoi(s[8]); + addr[4] = pcapint_xdtoi(s[10]) << 4 | pcapint_xdtoi(s[11]); + addr[5] = pcapint_xdtoi(s[12]) << 4 | pcapint_xdtoi(s[13]); + return 1; + } + return 0; +} + +/* + * Man page: "xx:xx:xx:xx:xx:xx", regexp: "^[0-9a-fA-F]{1,2}(:[0-9a-fA-F]{1,2}){5}$". + * Man page: "xx-xx-xx-xx-xx-xx", regexp: "^[0-9a-fA-F]{1,2}(-[0-9a-fA-F]{1,2}){5}$". + * Man page: "xx.xx.xx.xx.xx.xx", regexp: "^[0-9a-fA-F]{1,2}(\.[0-9a-fA-F]{1,2}){5}$". + * (Any "xx" above can be "x", which is equivalent to "0x".) * - * (or various mixes of ':', '.', and '-') into a new - * ethernet address. Assumes 's' is well formed. + * An equivalent (and parametrisable for EUI-64) FSM could be implemented using + * a smaller graph, but that graph would be neither acyclic nor planar nor + * trivial to verify. + * + * | + * [.] v + * +<---------- START + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE0_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE0_XX | [:\.-] + * | | | + * | | [:\.-] | + * | [.] v | + * +<----- BYTE0_SEP_BYTE1 <-----+ + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE1_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE1_XX | + * | | | + * | | | + * | [.] v | + * +<----- BYTE1_SEP_BYTE2 <-----+ + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE2_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE2_XX | + * | | | + * | | | + * | [.] v | + * +<----- BYTE2_SEP_BYTE3 <-----+ + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE3_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE3_XX | + * | | | + * | | | + * | [.] v | + * +<----- BYTE3_SEP_BYTE4 <-----+ + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE4_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE4_XX | + * | | | + * | | | + * | [.] v | + * +<----- BYTE4_SEP_BYTE5 <-----+ + * | | + * | | [0-9a-fA-F] + * | [.] v + * +<--------- BYTE5_X ----------+ + * | | | + * | | [0-9a-fA-F] | + * | [.] v | + * +<--------- BYTE5_XX | \0 + * | | | + * | | \0 | + * | | v + * +--> (reject) +---------> (accept) + * + */ +static u_char +pcapint_atomac48_x_xx_6_times(const char *s, uint8_t *addr) +{ + enum { + START, + BYTE0_X, + BYTE0_XX, + BYTE0_SEP_BYTE1, + BYTE1_X, + BYTE1_XX, + BYTE1_SEP_BYTE2, + BYTE2_X, + BYTE2_XX, + BYTE2_SEP_BYTE3, + BYTE3_X, + BYTE3_XX, + BYTE3_SEP_BYTE4, + BYTE4_X, + BYTE4_XX, + BYTE4_SEP_BYTE5, + BYTE5_X, + BYTE5_XX, + } fsm_state = START; + uint8_t buf[6]; + const char *seplist = ":.-"; + char sep; + + while (*s) { + switch (fsm_state) { + case START: + if (PCAP_ISXDIGIT(*s)) { + buf[0] = pcapint_xdtoi(*s); + fsm_state = BYTE0_X; + break; + } + goto reject; + case BYTE0_X: + if (strchr(seplist, *s)) { + sep = *s; + fsm_state = BYTE0_SEP_BYTE1; + break; + } + if (PCAP_ISXDIGIT(*s)) { + buf[0] = buf[0] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE0_XX; + break; + } + goto reject; + case BYTE0_XX: + if (strchr(seplist, *s)) { + sep = *s; + fsm_state = BYTE0_SEP_BYTE1; + break; + } + goto reject; + case BYTE0_SEP_BYTE1: + if (PCAP_ISXDIGIT(*s)) { + buf[1] = pcapint_xdtoi(*s); + fsm_state = BYTE1_X; + break; + } + goto reject; + case BYTE1_X: + if (*s == sep) { + fsm_state = BYTE1_SEP_BYTE2; + break; + } + if (PCAP_ISXDIGIT(*s)) { + buf[1] = buf[1] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE1_XX; + break; + } + goto reject; + case BYTE1_XX: + if (*s == sep) { + fsm_state = BYTE1_SEP_BYTE2; + break; + } + goto reject; + case BYTE1_SEP_BYTE2: + if (PCAP_ISXDIGIT(*s)) { + buf[2] = pcapint_xdtoi(*s); + fsm_state = BYTE2_X; + break; + } + goto reject; + case BYTE2_X: + if (*s == sep) { + fsm_state = BYTE2_SEP_BYTE3; + break; + } + if (PCAP_ISXDIGIT(*s)) { + buf[2] = buf[2] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE2_XX; + break; + } + goto reject; + case BYTE2_XX: + if (*s == sep) { + fsm_state = BYTE2_SEP_BYTE3; + break; + } + goto reject; + case BYTE2_SEP_BYTE3: + if (PCAP_ISXDIGIT(*s)) { + buf[3] = pcapint_xdtoi(*s); + fsm_state = BYTE3_X; + break; + } + goto reject; + case BYTE3_X: + if (*s == sep) { + fsm_state = BYTE3_SEP_BYTE4; + break; + } + if (PCAP_ISXDIGIT(*s)) { + buf[3] = buf[3] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE3_XX; + break; + } + goto reject; + case BYTE3_XX: + if (*s == sep) { + fsm_state = BYTE3_SEP_BYTE4; + break; + } + goto reject; + case BYTE3_SEP_BYTE4: + if (PCAP_ISXDIGIT(*s)) { + buf[4] = pcapint_xdtoi(*s); + fsm_state = BYTE4_X; + break; + } + goto reject; + case BYTE4_X: + if (*s == sep) { + fsm_state = BYTE4_SEP_BYTE5; + break; + } + if (PCAP_ISXDIGIT(*s)) { + buf[4] = buf[4] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE4_XX; + break; + } + goto reject; + case BYTE4_XX: + if (*s == sep) { + fsm_state = BYTE4_SEP_BYTE5; + break; + } + goto reject; + case BYTE4_SEP_BYTE5: + if (PCAP_ISXDIGIT(*s)) { + buf[5] = pcapint_xdtoi(*s); + fsm_state = BYTE5_X; + break; + } + goto reject; + case BYTE5_X: + if (PCAP_ISXDIGIT(*s)) { + buf[5] = buf[5] << 4 | pcapint_xdtoi(*s); + fsm_state = BYTE5_XX; + break; + } + goto reject; + case BYTE5_XX: + goto reject; + } // switch + s++; + } // while + + if (fsm_state == BYTE5_X || fsm_state == BYTE5_XX) { + // accept + memcpy(addr, buf, sizeof(buf)); + return 1; + } + +reject: + return 0; +} + +// The 'addr' argument must point to an array of at least 6 elements. +static int +pcapint_atomac48(const char *s, uint8_t *addr) +{ + return s && ( + pcapint_atomac48_xxxxxxxxxxxx(s, addr) || + pcapint_atomac48_xxxx_3_times(s, addr) || + pcapint_atomac48_x_xx_6_times(s, addr) + ); +} + +/* + * If 's' is a MAC-48 address in one of the forms documented in pcap-filter(7) + * for "ether host", return a pointer to an allocated buffer with the binary + * value of the address. Return NULL on any error. */ u_char * pcap_ether_aton(const char *s) { - register u_char *ep, *e; - register u_char d; - - e = ep = (u_char *)malloc(6); - if (e == NULL) + uint8_t tmp[6]; + if (! pcapint_atomac48(s, tmp)) return (NULL); - while (*s) { - if (*s == ':' || *s == '.' || *s == '-') - s += 1; - d = xdtoi(*s++); - if (PCAP_ISXDIGIT(*s)) { - d <<= 4; - d |= xdtoi(*s++); - } - *ep++ = d; - } - + u_char *e = malloc(6); + if (e == NULL) + return (NULL); + memcpy(e, tmp, sizeof(tmp)); return (e); } diff --git a/libpcap/nametoaddr.h b/libpcap/nametoaddr.h index fd6b7e101..70ad15480 100644 --- a/libpcap/nametoaddr.h +++ b/libpcap/nametoaddr.h @@ -42,6 +42,7 @@ extern "C" { int __pcap_atodn(const char *, bpf_u_int32 *); int __pcap_atoin(const char *, bpf_u_int32 *); int __pcap_nametodnaddr(const char *, u_short *); +extern int pcapint_atoan(const char *, uint8_t *); #ifdef __cplusplus } diff --git a/libpcap/optimize.c b/libpcap/optimize.c index d70949347..cf10fa6f4 100644 --- a/libpcap/optimize.c +++ b/libpcap/optimize.c @@ -117,7 +117,7 @@ pcap_set_print_dot_graph(int value) #define lowest_set_bit(mask) ((u_int)__builtin_ctz(mask)) #elif defined(_MSC_VER) /* - * Visual Studio; we support only 2005 and later, so use + * Visual Studio; we support only 2015 and later, so use * _BitScanForward(). */ #include diff --git a/libpcap/pcap-bpf.c b/libpcap/pcap-bpf.c index b9e84e65f..49bb273d0 100644 --- a/libpcap/pcap-bpf.c +++ b/libpcap/pcap-bpf.c @@ -73,16 +73,6 @@ static const char usbus_prefix[] = "usbus"; #include #define _AIX -/* - * If both BIOCROTZBUF and BPF_BUFMODE_ZBUF are defined, we have - * zero-copy BPF. - */ -#if defined(BIOCROTZBUF) && defined(BPF_BUFMODE_ZBUF) - #define HAVE_ZEROCOPY_BPF - #include - #include -#endif - #include /* for IFT_ values */ #include #include @@ -126,6 +116,16 @@ static int bpf_load(char *errbuf); # include #endif +/* + * If both BIOCROTZBUF and BPF_BUFMODE_ZBUF are defined, we have + * zero-copy BPF. + */ +#if defined(BIOCROTZBUF) && defined(BPF_BUFMODE_ZBUF) + #define HAVE_ZEROCOPY_BPF + #include + #include +#endif + #include "pcap-int.h" #ifdef HAVE_OS_PROTO_H @@ -290,7 +290,7 @@ pcap_setnonblock_bpf(pcap_t *p, int nonblock) * buffer filled for a fresh BPF session. */ static int -pcap_next_zbuf_shm(pcap_t *p, int *cc) +pcap_next_zbuf_shm(pcap_t *p, ssize_t *cc) { struct pcap_bpf *pb = p->priv; struct bpf_zbuf_header *bzh; @@ -328,7 +328,7 @@ pcap_next_zbuf_shm(pcap_t *p, int *cc) * work. */ static int -pcap_next_zbuf(pcap_t *p, int *cc) +pcap_next_zbuf(pcap_t *p, ssize_t *cc) { struct pcap_bpf *pb = p->priv; struct bpf_zbuf bz; @@ -336,7 +336,7 @@ pcap_next_zbuf(pcap_t *p, int *cc) struct timespec cur; fd_set r_set; int data, r; - int expire, tmout; + long expire, tmout; #define TSTOMILLI(ts) (((ts)->tv_sec * 1000) + ((ts)->tv_nsec / 1000000)) /* @@ -2182,7 +2182,7 @@ pcap_activate_bpf(pcap_t *p) status = PCAP_ERROR; goto bad; } - status = bpf_bind(fd, p->opt.device, ifnamsiz, p->errbuf); + status = bpf_bind(fd, p->opt.device, p->errbuf); if (status != BPF_BIND_SUCCEEDED) { if (status == BPF_BIND_BUFFER_TOO_BIG) { /* @@ -3682,11 +3682,19 @@ pcap_set_datalink_bpf(pcap_t *p _U_, int dlt _U_) /* * Platform-specific information. */ +#if defined(HAVE_ZEROCOPY_BPF) && defined(PCAP_SUPPORT_NETMAP) + #define ADDITIONAL_INFO_STRING "with zerocopy and netmap support" +#elif defined(HAVE_ZEROCOPY_BPF) + #define ADDITIONAL_INFO_STRING "with zerocopy support" +#elif defined(PCAP_SUPPORT_NETMAP) + #define ADDITIONAL_INFO_STRING "with netmap support" +#endif + const char * pcap_lib_version(void) { -#ifdef HAVE_ZEROCOPY_BPF - return (PCAP_VERSION_STRING " (with zerocopy support)"); +#ifdef ADDITIONAL_INFO_STRING + return (PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO(ADDITIONAL_INFO_STRING)); #else return (PCAP_VERSION_STRING); #endif diff --git a/libpcap/pcap-common.c b/libpcap/pcap-common.c index 26042d959..fb6af8e51 100644 --- a/libpcap/pcap-common.c +++ b/libpcap/pcap-common.c @@ -1199,6 +1199,8 @@ /* * USB 2.0, 1.1, and 1.0 packets as transmitted over the cable. + * Deprecated in favor of speed specific LINKTYPEs: LINKTYPE_USB_2_0_LOW_SPEED, + * LINKTYPE_USB_2_0_FULL_SPEED and LINKTYPE_USB_2_0_HIGH_SPEED. */ #define LINKTYPE_USB_2_0 288 @@ -1207,7 +1209,91 @@ */ #define LINKTYPE_ATSC_ALP 289 -#define LINKTYPE_HIGH_MATCHING_MAX 289 /* highest value in the "matching" range */ +/* + * Event Tracing for Windows messages. + */ +#define LINKTYPE_ETW 290 + +/* + * Hilscher Gesellschaft fuer Systemautomation mbH + * netANALYZER NG hardware and software. + * + * The specification for this footer can be found at: + * https://kb.hilscher.com/x/brDJBw + * + * Requested by Jan Adam + */ +#define LINKTYPE_NETANALYZER_NG 291 + +/* + * Serial NCP (Network Co-Processor) protocol for Zigbee stack ZBOSS + * by DSR, https://dsr-iot.com/downloads + */ +#define LINKTYPE_ZBOSS_NCP 292 + +/* + * USB 2.0, 1.1, and 1.0 packets as transmitted over the cable. + */ +#define LINKTYPE_USB_2_0_LOW_SPEED 293 +#define LINKTYPE_USB_2_0_FULL_SPEED 294 +#define LINKTYPE_USB_2_0_HIGH_SPEED 295 + +/* + * Auerswald Logger Protocol + * description is provided on + * https://github.com/Auerswald-GmbH/auerlog/blob/master/auerlog.txt + * requested by Auerswald Developer Team + */ +#define LINKTYPE_AUERSWALD_LOG 296 + +/* + * Z-Wave packets with a TAP meta-data header + * https://gitlab.com/exegin/zwave-g9959-tap + * requested on tcpdump-workers@ + */ +#define LINKTYPE_ZWAVE_TAP 297 + +/* + * Silicon Labs debug channel protocol: + */ +#define LINKTYPE_SILABS_DEBUG_CHANNEL 298 + +/* + * Ultra-wideband (UWB) controller interface protocol (UCI). + */ +#define LINKTYPE_FIRA_UCI 299 + +/* + * MDB (Multi-Drop Bus) protocol between a vending machine controller and + * peripherals inside the vending machine. See + * + * https://www.kaiser.cx/pcap-mdb.html + * + * for the specification. + * + * Requested by Martin Kaiser . + */ +#define LINKTYPE_MDB 300 + +/* + * DECT-2020 New Radio (NR) - ETSI TS 103 636. + * Requested by Stig Bjorlykke . + */ +#define LINKTYPE_DECT_NR 301 + +/* + * Request serialization protocol used by edk2 firmware to communicate between + * normal mode and management mode ('MM' for short). + * + * The qemu uefi variable store implementation reuses the request serialization + * protocol for firmware <-> qemu communication. + */ +#define LINKTYPE_EDK2_MM 302 + +// See DLT_DEBUG_ONLY +#define LINKTYPE_DEBUG_ONLY 303 + +#define LINKTYPE_HIGH_MATCHING_MAX 303 /* highest value in the "matching" range */ /* * The DLT_ and LINKTYPE_ values in the "matching" range should be the @@ -1274,7 +1360,7 @@ dlt_to_linktype(int dlt) /* * These DLT_* codes have different values on different * platforms, so we assigned them LINKTYPE_* codes just - * below the lower bound of the high matchig range; + * below the lower bound of the high matching range; * those values should never be equal to any DLT_* * code, so that should avoid collisions. * @@ -1426,7 +1512,7 @@ linktype_to_dlt(int linktype) /* * These DLT_* codes have different values on different * platforms, so we assigned them LINKTYPE_* codes just - * below the lower bound of the high matchig range; + * below the lower bound of the high matching range; * those values should never be equal to any DLT_* * code, so that should avoid collisions. * diff --git a/libpcap/pcap-config.1 b/libpcap/pcap-config.1 index 66af140bf..b9fcef131 100644 --- a/libpcap/pcap-config.1 +++ b/libpcap/pcap-config.1 @@ -64,7 +64,7 @@ Produce a help message and exit. .TP .B \-\-version Produce libpcap version and exit. The version is the contents of -.I VERSION +.I VERSION.txt file in libpcap source tree rather than the result of .BR \%pcap_lib_version (3PCAP). diff --git a/libpcap/pcap-dag.c b/libpcap/pcap-dag.c index b21c2e3c9..5ce15dd50 100644 --- a/libpcap/pcap-dag.c +++ b/libpcap/pcap-dag.c @@ -1425,8 +1425,7 @@ pcapint_platform_finddevs(pcap_if_list_t *devlistp _U_, char *errbuf) pcap_t * pcapint_create_interface(const char *device, char *errbuf) { - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "This version of libpcap only supports DAG cards"); + snprintf(errbuf, PCAP_ERRBUF_SIZE, PCAP_ENODEV_MESSAGE, "DAG"); return NULL; } @@ -1436,6 +1435,6 @@ pcapint_create_interface(const char *device, char *errbuf) const char * pcap_lib_version(void) { - return (PCAP_VERSION_STRING " (DAG-only)"); + return (PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO("DAG-only")); } #endif diff --git a/libpcap/pcap-dbus.c b/libpcap/pcap-dbus.c index df7eca788..d29fb81d3 100644 --- a/libpcap/pcap-dbus.c +++ b/libpcap/pcap-dbus.c @@ -80,6 +80,7 @@ dbus_read(pcap_t *handle, int max_packets _U_, pcap_handler callback, u_char *us if (dbus_message_is_signal(message, DBUS_INTERFACE_LOCAL, "Disconnected")) { snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, "Disconnected"); + dbus_message_unref(message); return -1; } @@ -97,6 +98,9 @@ dbus_read(pcap_t *handle, int max_packets _U_, pcap_handler callback, u_char *us dbus_free(raw_msg); } + + dbus_message_unref(message); + return count; } diff --git a/libpcap/pcap-dlpi.c b/libpcap/pcap-dlpi.c index 081f96a58..2b16e4261 100644 --- a/libpcap/pcap-dlpi.c +++ b/libpcap/pcap-dlpi.c @@ -20,7 +20,7 @@ * * This code contributed by Atanu Ghosh (atanu@cs.ucl.ac.uk), * University College London, and subsequently modified by - * Guy Harris (guy@alum.mit.edu), Mark Pizzolato + * Guy Harris, Mark Pizzolato * , * Mark C. Brown (mbrown@hp.com), and Sagun Shakya . */ @@ -336,14 +336,156 @@ pcap_cleanup_dlpi(pcap_t *p) pcapint_cleanup_live_common(p); } +#ifdef HAVE_DEV_DLPI +static int +handle_dev_dlpi_open_error(const char *ifname, int error, char *errbuf) +{ + /* + * An attempt to open /dev/dlpi failed. + * Report the appropriate error. + */ + if (error == ENOENT) { + /* + * Missing; I guess that means we don't support + * opening DLPI devices, and thus can't capture + * traffic at all. + */ + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "Capturing network traffic not supported - /dev/dlpi doesn't exist"); + return (PCAP_ERROR_CAPTURE_NOTSUP); + } else if (error == EPERM || error == EACCES) { + /* + * We lack permission to open it. + * + * If the interface exists, report the permission error, + * otherwise report "no such interface". + */ + int fd; + struct ifreq ifr; + + if (strlen(ifname) >= sizeof(ifr.ifr_name)) { + /* + * The name is too long, so it can't possibly exist. + * Report that. + * + * There's nothing more to say, so clear + * the error message. + */ + errbuf[0] = '\0'; + return (PCAP_ERROR_NO_SUCH_DEVICE); + } + + /* + * Try to get a socket on which to do an ioctl to get the + * interface's flags. + */ + fd = socket(AF_INET, SOCK_DGRAM, 0); + if (fd < 0) { + /* That failed; report that as the error. */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, + errno, "Can't open socket to get interface flags"); + return (PCAP_ERROR); + } + + pcapint_strlcpy(ifr.ifr_name, ifname, sizeof(ifr.ifr_name)); + if (ioctl(fd, SIOCGIFFLAGS, (char *)&ifr) < 0) { + if (errno == ENXIO || errno == EINVAL) { + /* + * macOS, *BSD, and Solaris return one of + * those two errors if the device doesn't + * exist. Report that. + * XXX - what about HP-UX? + * + * There's nothing more to say, so clear + * the error message. + */ + errbuf[0] = '\0'; + close(fd); + return (PCAP_ERROR_NO_SUCH_DEVICE); + } + + /* + * Some other error. + */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, + errno, "Can't get interface flags"); + close(fd); + return (PCAP_ERROR); + } + + /* + * The device exists; report this as a permissions problem. + */ + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "Attempt to open /dev/dlpi failed with %s - root privilege may be required", + (error == EPERM) ? "EPERM" : "EACCES"); + close(fd); + return (PCAP_ERROR_PERM_DENIED); + } else { + /* + * Soe other error. + */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, + error, "Attempt to open /dev/dlpi failed"); + return (PCAP_ERROR); + } +} +#else /* HAVE_DEV_DLPI */ +static int +handle_dlpi_device_open_error(const char *ifname, const char *device, + int error, char *errbuf) +{ + /* + * We couldn't open a DLPI device. + * Was that due to a permission error? + */ + if (error == EPERM || error == EACCES) { + /* + * We lack permission to open it. + * + * If the interface doesn't exist, there wouldn't be + * a DLPI device corresponding to it, so we wouldn't + * have gotten a permissions error. + */ + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "Attempt to open %s failed with %s - root privilege may be required", + device, (error == EPERM) ? "EPERM" : "EACCES"); + return (PCAP_ERROR_PERM_DENIED); + } + + /* + * Was that due to the DLPI device not existing? + */ + if (error != ENOENT) { + /* + * No; report it as a generic error, giving the error + * message for the error code and the name of the + * device we tried to open. + */ + pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, + error, "Attempt to open %s failed", device); + return (PCAP_ERROR); + } + + /* + * Yes. That means we can't do DLPI capturing, at least not + * on that interface. + * + * Test whether it exists and, if it does, whether it's + * a loopback interface. + */ + return (handle_nonexistent_dlpi_device(ifname, errbuf)); +} +#endif /* not HAVE_DEV_DLPI */ + static int open_dlpi_device(const char *name, u_int *ppa, char *errbuf) { - int status; char dname[100]; - char *cp; + char *cp, *cq; int fd; #ifdef HAVE_DEV_DLPI + int status; u_int unit; #else char dname2[100]; @@ -359,6 +501,32 @@ open_dlpi_device(const char *name, u_int *ppa, char *errbuf) else pcapint_strlcpy(dname, cp + 1, sizeof(dname)); + /* + * If this name has a colon followed by a number at + * the end, it's a logical interface. Those are just + * the way you assign multiple IP addresses to a real + * interface, so an entry for a logical interface should + * be treated like the entry for the real interface; + * we do that by stripping off the ":" and the number. + */ + cp = strchr(dname, ':'); + if (cp != NULL) { + /* + * We have a ":"; is it followed by a number? + */ + cq = cp + 1; + while (PCAP_ISDIGIT(*cq)) + cq++; + if (*cq == '\0') { + /* + * All digits after the ":" until the end. + * Strip off the ":" and everything after + * it. + */ + *cp = '\0'; + } + } + /* * Split the device name into a device type name and a unit number; * chop off the unit number, so "dname" is just a device type name. @@ -383,20 +551,8 @@ open_dlpi_device(const char *name, u_int *ppa, char *errbuf) * search "/dev" for the appropriate device with that major * device number, rather than hardwiring "/dev/dlpi". */ - cp = "/dev/dlpi"; - if ((fd = open(cp, O_RDWR)) < 0) { - if (errno == EPERM || errno == EACCES) { - status = PCAP_ERROR_PERM_DENIED; - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "Attempt to open %s failed with %s - root privilege may be required", - cp, (errno == EPERM) ? "EPERM" : "EACCES"); - } else { - status = PCAP_ERROR; - pcapint_fmt_errmsg_for_errno(errbuf, PCAP_ERRBUF_SIZE, - errno, "Attempt to open %s failed", cp); - } - return (status); - } + if ((fd = open("/dev/dlpi", O_RDWR)) < 0) + return (handle_dev_dlpi_open_error(name, errno, errbuf)); /* * Get a table of all PPAs for that device, and search that @@ -420,6 +576,32 @@ open_dlpi_device(const char *name, u_int *ppa, char *errbuf) snprintf(dname, sizeof(dname), "%s/%s", PCAP_DEV_PREFIX, name); + /* + * If this name has a colon followed by a number at + * the end, it's a logical interface. Those are just + * the way you assign multiple IP addresses to a real + * interface, so an entry for a logical interface should + * be treated like the entry for the real interface; + * we do that by stripping off the ":" and the number. + */ + cp = strchr(dname, ':'); + if (cp != NULL) { + /* + * We have a ":"; is it followed by a number? + */ + cq = cp + 1; + while (PCAP_ISDIGIT(*cq)) + cq++; + if (*cq == '\0') { + /* + * All digits after the ":" until the end. + * Strip off the ":" and everything after + * it. + */ + *cp = '\0'; + } + } + /* * Get the unit number, and a pointer to the end of the device * type name. @@ -441,69 +623,20 @@ open_dlpi_device(const char *name, u_int *ppa, char *errbuf) /* Try device without unit number */ if ((fd = open(dname, O_RDWR)) < 0) { - if (errno != ENOENT) { - if (errno == EPERM || errno == EACCES) { - status = PCAP_ERROR_PERM_DENIED; - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "Attempt to open %s failed with %s - root privilege may be required", - dname, - (errno == EPERM) ? "EPERM" : "EACCES"); - } else { - status = PCAP_ERROR; - pcapint_fmt_errmsg_for_errno(errbuf, - PCAP_ERRBUF_SIZE, errno, - "Attempt to open %s failed", dname); - } - return (status); - } + if (errno != ENOENT) + return (handle_dlpi_device_open_error(name, dname, + errno, errbuf)); - /* Try again with unit number */ - if ((fd = open(dname2, O_RDWR)) < 0) { - if (errno == ENOENT) { - status = PCAP_ERROR_NO_SUCH_DEVICE; - - /* - * We provide an error message even - * for this error, for diagnostic - * purposes (so that, for example, - * the app can show the message if the - * user requests it). - * - * In it, we just report "No DLPI device - * found" with the device name, so people - * don't get confused and think, for example, - * that if they can't capture on "lo0" - * on Solaris prior to Solaris 11 the fix - * is to change libpcap (or the application - * that uses it) to look for something other - * than "/dev/lo0", as the fix is to use - * Solaris 11 or some operating system - * other than Solaris - you just *can't* - * capture on a loopback interface - * on Solaris prior to Solaris 11, the lack - * of a DLPI device for the loopback - * interface is just a symptom of that - * inability. - */ - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "%s: No DLPI device found", name); - } else { - if (errno == EPERM || errno == EACCES) { - status = PCAP_ERROR_PERM_DENIED; - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "Attempt to open %s failed with %s - root privilege may be required", - dname2, - (errno == EPERM) ? "EPERM" : "EACCES"); - } else { - status = PCAP_ERROR; - pcapint_fmt_errmsg_for_errno(errbuf, - PCAP_ERRBUF_SIZE, errno, - "Attempt to open %s failed", - dname2); - } - } - return (status); - } + /* + * There's no DLPI device whose name is the interface + * name with the unit number removed. + * + * Try again with a device name that includes the + * unit number. + */ + if ((fd = open(dname2, O_RDWR)) < 0) + return (handle_dlpi_device_open_error(name, dname2, + errno, errbuf)); /* XXX Assume unit zero */ *ppa = 0; } @@ -905,6 +1038,11 @@ split_dname(char *device, u_int *unitp, char *ebuf) /* Digits at end of string are unit number */ while (cp-1 >= device && *(cp-1) >= '0' && *(cp-1) <= '9') cp--; + if (cp == device || *(cp-1) == '/') { + snprintf(ebuf, PCAP_ERRBUF_SIZE, "%s has only a unit number", + device); + return (NULL); + } errno = 0; unit = strtol(cp, &eos, 10); @@ -1025,52 +1163,16 @@ dlpromiscon(pcap_t *p, bpf_u_int32 level) } /* - * Not all interfaces are DLPI interfaces, and thus not all interfaces - * can be opened with DLPI (for example, the loopback interface is not - * a DLPI interface on Solaris prior to Solaris 11), so try to open - * the specified interface; return 0 if we fail with PCAP_ERROR_NO_SUCH_DEVICE - * and 1 otherwise. + * Show all interfaces, so users don't ask "why is this interface not + * showing up?" or "why are no interfaces showing up?" We report + * PCAP_ERROR_CAPTURE_NOTSUP if there's no DLPI device, with an + * error message that tries to explain the source of the problem, + * which is some flavor of "sorry, that's simply not supported by + * your OS". */ static int -is_dlpi_interface(const char *name) +show_them_all(const char *name _U_) { - int fd; - u_int ppa; - char errbuf[PCAP_ERRBUF_SIZE]; - - fd = open_dlpi_device(name, &ppa, errbuf); - if (fd < 0) { - /* - * Error - was it PCAP_ERROR_NO_SUCH_DEVICE? - */ - if (fd == PCAP_ERROR_NO_SUCH_DEVICE) { - /* - * Yes, so we can't open this because it's - * not a DLPI interface. - */ - return (0); - } - /* - * No, so, in the case where there's a single DLPI - * device for all interfaces of this type ("style - * 2" providers?), we don't know whether it's a DLPI - * interface or not, as we didn't try an attach. - * Say it is a DLPI device, so that the user can at - * least try to open it and report the error (which - * is probably "you don't have permission to open that - * DLPI device"; reporting those interfaces means - * users will ask "why am I getting a permissions error - * when I try to capture" rather than "why am I not - * seeing any interfaces", making the underlying problem - * clearer). - */ - return (1); - } - - /* - * Success. - */ - close(fd); return (1); } @@ -1114,7 +1216,7 @@ pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf) /* * Get the list of regular interfaces first. */ - if (pcapint_findalldevs_interfaces(devlistp, errbuf, is_dlpi_interface, + if (pcapint_findalldevs_interfaces(devlistp, errbuf, show_them_all, get_if_flags) == -1) return (-1); /* failure */ diff --git a/libpcap/pcap-dpdk.c b/libpcap/pcap-dpdk.c index 794fae393..c78724e5f 100644 --- a/libpcap/pcap-dpdk.c +++ b/libpcap/pcap-dpdk.c @@ -1068,8 +1068,7 @@ pcapint_platform_finddevs(pcap_if_list_t *devlistp _U_, char *errbuf) pcap_t * pcapint_create_interface(const char *device, char *errbuf) { - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "This version of libpcap only supports DPDK"); + snprintf(errbuf, PCAP_ERRBUF_SIZE, PCAP_ENODEV_MESSAGE, "DPDK"); return NULL; } @@ -1079,6 +1078,6 @@ pcapint_create_interface(const char *device, char *errbuf) const char * pcap_lib_version(void) { - return (PCAP_VERSION_STRING " (DPDK-only)"); + return (PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO("DPDK-only")); } #endif diff --git a/libpcap/pcap-haiku.c b/libpcap/pcap-haiku.c index 6cb0e71a1..609f585a0 100644 --- a/libpcap/pcap-haiku.c +++ b/libpcap/pcap-haiku.c @@ -212,7 +212,7 @@ pcap_inject_haiku(pcap_t *handle, const void *buffer _U_, int size _U_) { // Haiku currently (hrev57588) does not support sending raw packets. // https://dev.haiku-os.org/ticket/18810 - strlcpy(handle->errbuf, "Sending packets isn't supported yet", + pcapint_strlcpy(handle->errbuf, "Sending packets isn't supported yet", PCAP_ERRBUF_SIZE); return PCAP_ERROR; } @@ -435,7 +435,8 @@ pcapint_create_interface(const char *device, char *errorBuffer) struct pcap_haiku *handlep = (struct pcap_haiku *)handle->priv; handlep->aux_socket = -1; - strcpy(handlep->ifreq.ifr_name, device); + // validate_ifname() has already checked "device" length. + (void)pcapint_strlcpy(handlep->ifreq.ifr_name, device, IF_NAMESIZE); return handle; } @@ -468,7 +469,8 @@ get_if_flags(const char *name, bpf_u_int32 *flags, char *errbuf) if (fd < 0) return PCAP_ERROR; struct ifreq ifreq; - strcpy(ifreq.ifr_name, name); + // validate_ifname() has already checked "name" length. + (void)pcapint_strlcpy(ifreq.ifr_name, name, IF_NAMESIZE); if (ioctl_ifreq(fd, SIOCGIFFLAGS, "SIOCGIFFLAGS", &ifreq, errbuf) < 0) { close(fd); return PCAP_ERROR; diff --git a/libpcap/pcap-int.h b/libpcap/pcap-int.h index ed0c68296..ce0ac698f 100644 --- a/libpcap/pcap-int.h +++ b/libpcap/pcap-int.h @@ -73,10 +73,28 @@ #endif /* - * Version string. - * Uses PACKAGE_VERSION from config.h. + * Version string trailer. + * Uses SIZEOF_TIME_T from config.h. + * (There's no need to announce the pointer size; if it doesn't + * match the pointer size in code linked with libpcap, either + * build-time linking or run-time linking will fail.) */ -#define PCAP_VERSION_STRING "libpcap version " PACKAGE_VERSION +#if SIZEOF_TIME_T == 8 + #define PCAP_SIZEOF_TIME_T_BITS_STRING "64" +#elif SIZEOF_TIME_T == 4 + #define PCAP_SIZEOF_TIME_T_BITS_STRING "32" +#else + #error Unknown time_t size +#endif + +/* + * Version string. + * Uses PACKAGE_VERSION from config.h and PCAP_SIZEOF_TIME_T_BITS_STRING. + */ +#define PCAP_VERSION_STRING \ + "libpcap version " PACKAGE_VERSION " (" PCAP_SIZEOF_TIME_T_BITS_STRING "-bit time_t)" +#define PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO(additional_info) \ + "libpcap version " PACKAGE_VERSION " (" PCAP_SIZEOF_TIME_T_BITS_STRING "-bit time_t, " additional_info ")" #ifdef __cplusplus extern "C" { @@ -413,6 +431,14 @@ int pcapint_setnonblock_fd(pcap_t *p, int); * by pcap_create routines. */ pcap_t *pcapint_create_interface(const char *, char *); +/* + * A format string for something-only libpcap builds, which use a stub + * implementation of pcapint_create_interface(). It contains the substring + * "No such device" (one of the standard descriptions of ENODEV) -- this way + * tcpdump can detect a particular error condition even though pcap_create() + * returns NULL for all errors. + */ +#define PCAP_ENODEV_MESSAGE "No such device (this build of libpcap supports %s devices only)." /* * This wrapper takes an error buffer pointer and a type to use for the @@ -530,10 +556,9 @@ FILE *pcapint_charset_fopen(const char *path, const char *mode); */ #ifdef _WIN32 #define pcap_code_handle_t HMODULE -#define pcap_funcptr_t FARPROC pcap_code_handle_t pcapint_load_code(const char *); -pcap_funcptr_t pcapint_find_function(pcap_code_handle_t, const char *); +void *pcapint_find_function(pcap_code_handle_t, const char *); #endif /* diff --git a/libpcap/pcap-libdlpi.c b/libpcap/pcap-libdlpi.c index b5ee339fa..82bddbb47 100644 --- a/libpcap/pcap-libdlpi.c +++ b/libpcap/pcap-libdlpi.c @@ -106,20 +106,47 @@ pcap_activate_libdlpi(pcap_t *p) */ retv = dlpi_open(p->opt.device, &dh, DLPI_RAW|DLPI_PASSIVE); if (retv != DLPI_SUCCESS) { - if (retv == DLPI_ELINKNAMEINVAL || retv == DLPI_ENOLINK) { + if (retv == DLPI_ELINKNAMEINVAL) { /* + * The interface name is not syntactiacally + * valid, and thus doesn't correspond to + * an interface. + * * There's nothing more to say, so clear the * error message. */ status = PCAP_ERROR_NO_SUCH_DEVICE; p->errbuf[0] = '\0'; + } else if (retv == DLPI_ENOLINK) { + /* + * The interface name is syntactically valid, + * but we don't have a DLPI device that + * would be used for that interface. + */ + status = handle_nonexistent_dlpi_device(p->opt.device, + p->errbuf); } else if (retv == DL_SYSERR && (errno == EPERM || errno == EACCES)) { + /* + * We got EPERM or EACCES trying to open the + * DLPI device, so we know it exists. + */ status = PCAP_ERROR_PERM_DENIED; snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "Attempt to open DLPI device failed with %s - root privilege may be required", (errno == EPERM) ? "EPERM" : "EACCES"); } else { + /* + * pcap_libdlpi_err() calls dlpi_strerror(), + * which handles DL_SYSERR. + * + * XXX - does DLPI_ERAWNOTSUP mean that the + * interface exists and supports DLPI but, + * as it doesn't support raw mode, it + * doesn't support packet capture? + * + * XXX - what does DLPI_EBADLINK mean? + */ status = PCAP_ERROR; pcap_libdlpi_err(p->opt.device, "dlpi_open", retv, p->errbuf); @@ -131,7 +158,7 @@ pcap_activate_libdlpi(pcap_t *p) if (p->opt.rfmon) { /* * This device exists, but we don't support monitor mode - * any platforms that support DLPI. + * on any platforms that support DLPI. */ status = PCAP_ERROR_RFMON_NOTSUP; goto bad; @@ -488,7 +515,7 @@ pcap_cleanup_libdlpi(pcap_t *p) static void pcap_libdlpi_err(const char *linkname, const char *func, int err, char *errbuf) { - snprintf(errbuf, PCAP_ERRBUF_SIZE, "libpcap: %s failed on %s: %s", + snprintf(errbuf, PCAP_ERRBUF_SIZE, "%s failed on %s: %s", func, linkname, dlpi_strerror(err)); } diff --git a/libpcap/pcap-linux.c b/libpcap/pcap-linux.c index e0fe1d3e0..20802e430 100644 --- a/libpcap/pcap-linux.c +++ b/libpcap/pcap-linux.c @@ -91,6 +91,7 @@ #include #include #include +#include #include #include #include @@ -213,8 +214,7 @@ struct pcap_linux { /* * Stuff to do when we close. */ -#define MUST_CLEAR_RFMON 0x00000001 /* clear rfmon (monitor) mode */ -#define MUST_DELETE_MONIF 0x00000002 /* delete monitor-mode interface */ +#define MUST_DELETE_MONIF 0x00000001 /* delete monitor-mode interface */ /* * Prototypes for internal functions and methods. @@ -457,9 +457,57 @@ get_mac80211_phydev(pcap_t *handle, const char *device, char *phydev_path, } bytes_read = readlink(pathstr, phydev_path, phydev_max_pathlen); if (bytes_read == -1) { - if (errno == ENOENT || errno == EINVAL) { + if (errno == ENOENT) { /* - * Doesn't exist, or not a symlink; assume that + * This either means that the directory + * /sys/class/net/{device} exists but doesn't + * have anything named "phy80211" in it, + * in which case it's not a mac80211 device, + * or that the directory doesn't exist, + * in which case the device doesn't exist. + * + * Directly check whether the directory + * exists. + */ + struct stat statb; + + free(pathstr); + if (asprintf(&pathstr, "/sys/class/net/%s", device) == -1) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: Can't generate path name string for /sys/class/net device", + device); + return PCAP_ERROR; + } + if (stat(pathstr, &statb) == -1) { + if (errno == ENOENT) { + /* + * No such device. + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: %s doesn't exist", + device, pathstr); + free(pathstr); + return PCAP_ERROR_NO_SUCH_DEVICE; + } + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: Can't stat %s: %s", + device, pathstr, strerror(errno)); + free(pathstr); + return PCAP_ERROR; + } + + /* + * Path to the directory that would contain + * "phy80211" exists, but "phy80211" doesn't + * exist; that means it's not a mac80211 + * device. + */ + free(pathstr); + return 0; + } + if (errno == EINVAL) { + /* + * Exists, but it's not a symlink; assume that * means it's not a mac80211 device. */ free(pathstr); @@ -535,6 +583,119 @@ static int del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, const char *device, const char *mondevice); +static int +if_type_cb(struct nl_msg *msg, void* arg) +{ + struct nlmsghdr* ret_hdr = nlmsg_hdr(msg); + struct nlattr *tb_msg[NL80211_ATTR_MAX + 1]; + int *type = (int*)arg; + + struct genlmsghdr *gnlh = (struct genlmsghdr*) nlmsg_data(ret_hdr); + + nla_parse(tb_msg, NL80211_ATTR_MAX, genlmsg_attrdata(gnlh, 0), + genlmsg_attrlen(gnlh, 0), NULL); + + /* + * We sent a message asking for info about a single index. + * To be really paranoid, we could check if the index matched + * by examining nla_get_u32(tb_msg[NL80211_ATTR_IFINDEX]). + */ + + if (tb_msg[NL80211_ATTR_IFTYPE]) { + *type = nla_get_u32(tb_msg[NL80211_ATTR_IFTYPE]); + } + + return NL_SKIP; +} + +static int +get_if_type(pcap_t *handle, int sock_fd, struct nl80211_state *state, + const char *device, int *type) +{ + int ifindex; + struct nl_msg *msg; + int err; + + ifindex = iface_get_id(sock_fd, device, handle->errbuf); + if (ifindex == -1) + return PCAP_ERROR; + + msg = nlmsg_alloc(); + if (!msg) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: failed to allocate netlink msg", device); + return PCAP_ERROR; + } + + genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, + genl_family_get_id(state->nl80211), 0, + 0, NL80211_CMD_GET_INTERFACE, 0); + NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex); + + err = nl_send_auto(state->nl_sock, msg); + nlmsg_free(msg); + if (err < 0) { + if (err == -NLE_FAILURE) { + /* + * Device not available; our caller should just + * keep trying. (libnl 2.x maps ENFILE to + * NLE_FAILURE; it can also map other errors + * to that, but there's not much we can do + * about that.) + */ + return 0; + } else { + /* + * Real failure, not just "that device is not + * available. + */ + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_send_auto failed getting interface type: %s", + device, nl_geterror(-err)); + return PCAP_ERROR; + } + } + + struct nl_cb *cb = nl_cb_alloc(NL_CB_DEFAULT); + nl_cb_set(cb, NL_CB_VALID, NL_CB_CUSTOM, if_type_cb, (void*)type); + err = nl_recvmsgs(state->nl_sock, cb); + nl_cb_put(cb); + + if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_recvmsgs failed getting interface type: %s", + device, nl_geterror(-err)); + return PCAP_ERROR; + } + + /* + * If this is a mac80211 device not in monitor mode, nl_sock will be + * reused for add_mon_if. So we must wait for the ACK here so that + * add_mon_if does not receive it instead and incorrectly interpret + * the ACK as its NEW_INTERFACE command succeeding, even when it fails. + */ + err = nl_wait_for_ack(state->nl_sock); + if (err < 0) { + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_wait_for_ack failed getting interface type: %s", + device, nl_geterror(-err)); + return PCAP_ERROR; + } + + /* + * Success. + */ + return 1; + +nla_put_failure: + snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, + "%s: nl_put failed getting interface type", + device); + nlmsg_free(msg); + // Do not call nl_cb_put(): nl_cb_alloc() has not been called. + return PCAP_ERROR; +} + static int add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, const char *device, const char *mondevice) @@ -555,7 +716,8 @@ add_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, return PCAP_ERROR; } - genlmsg_put(msg, 0, 0, genl_family_get_id(state->nl80211), 0, + genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, + genl_family_get_id(state->nl80211), 0, 0, NL80211_CMD_NEW_INTERFACE, 0); NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex); DIAG_OFF_NARROWING @@ -563,9 +725,12 @@ DIAG_OFF_NARROWING DIAG_ON_NARROWING NLA_PUT_U32(msg, NL80211_ATTR_IFTYPE, NL80211_IFTYPE_MONITOR); - err = nl_send_auto_complete(state->nl_sock, msg); + err = nl_send_sync(state->nl_sock, msg); // calls nlmsg_free() if (err < 0) { - if (err == -NLE_FAILURE) { + switch (err) { + + case -NLE_FAILURE: + case -NLE_AGAIN: /* * Device not available; our caller should just * keep trying. (libnl 2.x maps ENFILE to @@ -573,41 +738,25 @@ DIAG_ON_NARROWING * to that, but there's not much we can do * about that.) */ - nlmsg_free(msg); return 0; - } else { + + case -NLE_OPNOTSUPP: + /* + * Device is a mac80211 device but adding it as a + * monitor mode device isn't supported. Report our + * error. + */ + return PCAP_ERROR_RFMON_NOTSUP; + + default: /* * Real failure, not just "that device is not - * available. + * available." Report a generic error, using the + * error message from libnl. */ snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, - "%s: nl_send_auto_complete failed adding %s interface: %s", + "%s: nl_send_sync failed adding %s interface: %s", device, mondevice, nl_geterror(-err)); - nlmsg_free(msg); - return PCAP_ERROR; - } - } - err = nl_wait_for_ack(state->nl_sock); - if (err < 0) { - if (err == -NLE_FAILURE) { - /* - * Device not available; our caller should just - * keep trying. (libnl 2.x maps ENFILE to - * NLE_FAILURE; it can also map other errors - * to that, but there's not much we can do - * about that.) - */ - nlmsg_free(msg); - return 0; - } else { - /* - * Real failure, not just "that device is not - * available. - */ - snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, - "%s: nl_wait_for_ack failed adding %s interface: %s", - device, mondevice, nl_geterror(-err)); - nlmsg_free(msg); return PCAP_ERROR; } } @@ -615,7 +764,6 @@ DIAG_ON_NARROWING /* * Success. */ - nlmsg_free(msg); /* * Try to remember the monitor device. @@ -659,31 +807,22 @@ del_mon_if(pcap_t *handle, int sock_fd, struct nl80211_state *state, return PCAP_ERROR; } - genlmsg_put(msg, 0, 0, genl_family_get_id(state->nl80211), 0, + genlmsg_put(msg, NL_AUTO_PORT, NL_AUTO_SEQ, + genl_family_get_id(state->nl80211), 0, 0, NL80211_CMD_DEL_INTERFACE, 0); NLA_PUT_U32(msg, NL80211_ATTR_IFINDEX, ifindex); - err = nl_send_auto_complete(state->nl_sock, msg); + err = nl_send_sync(state->nl_sock, msg); // calls nlmsg_free() if (err < 0) { snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, - "%s: nl_send_auto_complete failed deleting %s interface: %s", + "%s: nl_send_sync failed deleting %s interface: %s", device, mondevice, nl_geterror(-err)); - nlmsg_free(msg); - return PCAP_ERROR; - } - err = nl_wait_for_ack(state->nl_sock); - if (err < 0) { - snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, - "%s: nl_wait_for_ack failed adding %s interface: %s", - device, mondevice, nl_geterror(-err)); - nlmsg_free(msg); return PCAP_ERROR; } /* * Success. */ - nlmsg_free(msg); return 1; nla_put_failure: @@ -1231,19 +1370,17 @@ linux_check_direction(const pcap_t *handle, const struct sockaddr_ll *sll) return 0; /* - * If this is an outgoing CAN or CAN FD frame, and - * the user doesn't only want outgoing packets, - * reject it; CAN devices and drivers, and the CAN - * stack, always arrange to loop back transmitted - * packets, so they also appear as incoming packets. - * We don't want duplicate packets, and we can't - * easily distinguish packets looped back by the CAN - * layer than those received by the CAN layer, so we - * eliminate this packet instead. + * If this is an outgoing CAN frame, and the user doesn't + * want only outgoing packets, reject it; CAN devices + * and drivers, and the CAN stack, always arrange to + * loop back transmitted packets, so they also appear + * as incoming packets. We don't want duplicate packets, + * and we can't easily distinguish packets looped back + * by the CAN layer than those received by the CAN layer, + * so we eliminate this packet instead. * - * We check whether this is a CAN or CAN FD frame - * by checking whether the device's hardware type - * is ARPHRD_CAN. + * We check whether this is a CAN frame by checking whether + * the device's hardware type is ARPHRD_CAN. */ if (sll->sll_hatype == ARPHRD_CAN && handle->direction != PCAP_D_OUT) @@ -1925,8 +2062,8 @@ static int map_arphrd_to_dlt(pcap_t *handle, int arptype, if (ret == 1) { /* * This is a DSA master/management network - * device linktype is already set by - * iface_dsa_get_proto_info() set an + * device, linktype is already set by + * iface_dsa_get_proto_info(), set an * appropriate offset here. */ handle->offset = 2; @@ -2218,7 +2355,7 @@ static int map_arphrd_to_dlt(pcap_t *handle, int arptype, * * https://github.com/mcr/libpcap/pull/29 * - * There doesn't seem to be any network drivers that uses + * There don't seem to be any network drivers that uses * any of the ARPHRD_FC* values for IP-over-FC, and * it's not exactly clear what the "Dummy types for non * ARP hardware" are supposed to mean (link-layer @@ -2374,9 +2511,9 @@ setup_socket(pcap_t *handle, int is_any_device) * Other error. */ status = PCAP_ERROR; + pcapint_fmt_errmsg_for_errno(handle->errbuf, + PCAP_ERRBUF_SIZE, errno, "socket"); } - pcapint_fmt_errmsg_for_errno(handle->errbuf, PCAP_ERRBUF_SIZE, - errno, "socket"); return status; } @@ -2564,6 +2701,7 @@ setup_socket(pcap_t *handle, int is_any_device) if (handle->dlt_list == NULL) { pcapint_fmt_errmsg_for_errno(handle->errbuf, PCAP_ERRBUF_SIZE, errno, "malloc"); + close(sock_fd); return (PCAP_ERROR); } handle->dlt_list[0] = DLT_LINUX_SLL; @@ -4810,18 +4948,40 @@ enter_rfmon_mode(pcap_t *handle, int sock_fd, const char *device) if (ret == 0) return 0; /* no error, but not mac80211 device */ - /* - * XXX - is this already a monN device? - * If so, we're done. - */ - - /* - * OK, it's apparently a mac80211 device. - * Try to find an unused monN device for it. - */ ret = nl80211_init(handle, &nlstate, device); if (ret != 0) return ret; + + /* + * Is this already a monN device? + * If so, we're done. + */ + int type; + ret = get_if_type(handle, sock_fd, &nlstate, device, &type); + if (ret <= 0) { + /* + * < 0 is a Hard failure. Just return ret; handle->errbuf + * has already been set. + * + * 0 is "device not available"; the caller should retry later. + */ + nl80211_cleanup(&nlstate); + return ret; + } + if (type == NL80211_IFTYPE_MONITOR) { + /* + * OK, it's already a monitor mode device; just use it. + * There's no point in creating another monitor device + * that will have to be cleaned up. + */ + nl80211_cleanup(&nlstate); + return ret; + } + + /* + * OK, it's apparently a mac80211 device but not a monitor device. + * Try to find an unused monN device for it. + */ for (n = 0; n < UINT_MAX; n++) { /* * Try mon{n}. @@ -5267,22 +5427,294 @@ iface_get_offload(pcap_t *handle _U_) } #endif /* SIOCETHTOOL */ +/* + * As per + * + * https://www.kernel.org/doc/html/latest/networking/dsa/dsa.html#switch-tagging-protocols + * + * Type 1 means that the tag is prepended to the Ethernet packet. + * + * Type 2 means that the tag is inserted into the Ethernet header + * after the source address and before the type/length field. + * + * Type 3 means that tag is a packet trailer. + * + * Every element in the array below uses a DLT. Because a DSA-tagged frame is + * not a standard IEEE 802.3 Ethernet frame, the array elements must not use + * DLT_EN10MB. It is safe, albeit only barely useful, to use DLT_DEBUG_ONLY, + * which is also the implicit default for any DSA tag that is not present in + * the array. To implement proper support for a particular DSA tag of + * interest, please do as much of the following as is reasonably practicable: + * + * 1. Using recent versions of tcpdump and libpcap on a Linux host with a + * network interface that implements the required DSA tag, capture packets + * on the interface and study the hex dumps. + * 2. Using the hex dumps and any other available supporting materials, produce + * a sufficiently detailed description of the DSA tag structure, complete + * with a full comment indicating whether it's type 1, 2, or 3, and, for + * type 2, indicating whether it has an Ethertype and, if so, what that type + * is, and whether it's registered with the IEEE or not. Refer to the + * specification(s), existing implementation(s), or any other relevant + * resources. + * 3. Using the description, request and obtain a new DLT for the DSA tag. + * 4. Associate the new DLT with the DSA tag in the array below. + * 5. Using the updated libpcap, capture packets again, produce a .pcap file + * and confirm it uses the new DLT. + * 6. Using the .pcap file as a test, prepare additional changes to tcpdump to + * enable decoding of packets for the new DLT. + * 7. Using the .pcap file as a test, prepare additional changes to libpcap to + * enable filtering of packets for the new DLT. + * + * For working examples of such support, see the existing DLTs other than + * DLT_DEBUG_ONLY in the array below. + */ static struct dsa_proto { const char *name; bpf_u_int32 linktype; } dsa_protos[] = { /* - * None is special and indicates that the interface does not have - * any tagging protocol configured, and is therefore a standard - * Ethernet interface. + * Type 1. See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ar9331.c + */ + { "ar9331", DLT_DEBUG_ONLY }, + + /* + * Type 2, without an EtherType at the beginning. */ - { "none", DLT_EN10MB }, { "brcm", DLT_DSA_TAG_BRCM }, + + /* + * Type 2, with EtherType 0x8874, assigned to Broadcom. + */ + { "brcm-legacy", DLT_DEBUG_ONLY }, + + /* + * Type 1. + */ { "brcm-prepend", DLT_DSA_TAG_BRCM_PREPEND }, + + /* + * Type 2, without an EtherType at the beginning. + */ { "dsa", DLT_DSA_TAG_DSA }, + + /* + * Type 2, with an Ethertype field, but without + * an assigned EtherType value that can be relied + * on. + */ { "edsa", DLT_DSA_TAG_EDSA }, + + /* + * Type 1, with different transmit and receive headers, + * so can't really be handled well with the current + * libpcap API and with pcap files. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_gswip.c + */ + { "gswip", DLT_DEBUG_ONLY }, + + /* + * Type 3. See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_hellcreek.c + */ + { "hellcreek", DLT_DEBUG_ONLY }, + + /* + * Type 3, with different transmit and receive headers, + * so can't really be handled well with the current + * libpcap API and with pcap files. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ksz.c#L102 + */ + { "ksz8795", DLT_DEBUG_ONLY }, + + /* + * Type 3, with different transmit and receive headers, + * so can't really be handled well with the current + * libpcap API and with pcap files. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ksz.c#L160 + */ + { "ksz9477", DLT_DEBUG_ONLY }, + + /* + * Type 3, with different transmit and receive headers, + * so can't really be handled well with the current + * libpcap API and with pcap files. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ksz.c#L341 + */ + { "ksz9893", DLT_DEBUG_ONLY }, + + /* + * Type 3, with different transmit and receive headers, + * so can't really be handled well with the current + * libpcap API and with pcap files. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ksz.c#L386 + */ + { "lan937x", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8100; the VID can be interpreted + * as per + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_lan9303.c#L24 + */ + { "lan9303", DLT_DEBUG_ONLY }, + + /* + * Type 2, without an EtherType at the beginning. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_mtk.c#L15 + * + * Linux kernel implements this tag so that it does not indicate the frame + * encoding reliably. The matter is, some drivers use METADATA_HW_PORT_MUX, + * which (for the switch->CPU direction only, at the time of this writing) + * means that the frame does not have a DSA tag, the frame metadata is stored + * elsewhere and libpcap receives the frame only. Specifically, this is the + * case for drivers/net/ethernet/mediatek/mtk_eth_soc.c, but the tag visible + * in sysfs is still "mtk" even though the wire encoding is different. + */ + { "mtk", DLT_DEBUG_ONLY }, + + /* + * Type 1. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ocelot.c + */ + { "ocelot", DLT_DEBUG_ONLY }, + + /* + * Type 1. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_ocelot.c + */ + { "seville", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8100; the VID can be interpreted + * as per + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_8021q.c#L15 + */ + { "ocelot-8021q", DLT_DEBUG_ONLY }, + + /* + * Type 2, without an EtherType at the beginning. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_qca.c + */ + { "qca", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8899, assigned to Realtek; + * they use it for several on-the-Ethernet protocols + * as well, but there are fields that allow the two + * tag formats, and all the protocols in question, + * to be distinguiished from one another. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_rtl4_a.c + * + * http://realtek.info/pdf/rtl8306sd%28m%29_datasheet_1.1.pdf + * + * and various pages in tcpdump's print-realtek.c and Wireshark's + * epan/dissectors/packet-realtek.c for the other protocols. + */ + { "rtl4a", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8899, assigned to Realtek; + * see above. + */ + { "rtl8_4", DLT_DEBUG_ONLY }, + + /* + * Type 3, with the same tag format as rtl8_4. + */ + { "rtl8_4t", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0xe001; that's probably + * self-assigned. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_rzn1_a5psw.c + */ + { "a5psw", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8100 or the self-assigned + * 0xdadb, so this really should have its own + * LINKTYPE_/DLT_ value; that would also allow the + * VID of the tag to be dissected as per + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_8021q.c#L15 + */ + { "sja1105", DLT_DEBUG_ONLY }, + + /* + * Type "none of the above", with both a header and trailer, + * with different transmit and receive tags. Has + * EtherType 0xdadc, which is probably self-assigned. + */ + { "sja1110", DLT_DEBUG_ONLY }, + + /* + * Type 3, as the name suggests. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_trailer.c + */ + { "trailer", DLT_DEBUG_ONLY }, + + /* + * Type 2, with EtherType 0x8100; the VID can be interpreted + * as per + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_8021q.c#L15 + */ + { "vsc73xx-8021q", DLT_DEBUG_ONLY }, + + /* + * Type 3. + * + * See + * + * https://elixir.bootlin.com/linux/v6.13.2/source/net/dsa/tag_xrs700x.c + */ + { "xrs700x", DLT_DEBUG_ONLY }, }; +/* + * Return 1 if the interface uses DSA tagging, 0 if the interface does not use + * DSA tagging, or PCAP_ERROR on error. + */ static int iface_dsa_get_proto_info(const char *device, pcap_t *handle) { @@ -5309,10 +5741,18 @@ iface_dsa_get_proto_info(const char *device, pcap_t *handle) fd = open(pathstr, O_RDONLY); free(pathstr); /* - * This is not fatal, kernel >= 4.20 *might* expose this attribute + * This could be not fatal: kernel >= 4.20 *might* expose this + * attribute. However, if it exposes the attribute, but the read has + * failed due to another reason (ENFILE, EMFILE, ENOMEM...), propagate + * the failure. */ - if (fd < 0) - return 0; + if (fd < 0) { + if (errno == ENOENT) + return 0; + pcapint_fmt_errmsg_for_errno(handle->errbuf, PCAP_ERRBUF_SIZE, + errno, "open"); + return PCAP_ERROR; + } r = read(fd, buf, sizeof(buf) - 1); if (r <= 0) { @@ -5330,23 +5770,41 @@ iface_dsa_get_proto_info(const char *device, pcap_t *handle) r--; buf[r] = '\0'; + /* + * The string "none" indicates that the interface does not have + * any tagging protocol configured, and is therefore a standard + * Ethernet interface. + */ + if (strcmp(buf, "none") == 0) + return 0; + + /* + * Every element in the array stands for a DSA-tagged interface. Using + * DLT_EN10MB (the standard IEEE 802.3 Ethernet) for such an interface + * may seem a good idea at first, but doing so would certainly cause + * major problems in areas that are already complicated and depend on + * DLT_EN10MB meaning the standard IEEE 802.3 Ethernet only, namely: + * + * - live capturing of packets on Linux, and + * - live kernel filtering of packets on Linux, and + * - live userspace filtering of packets on Linux, and + * - offline filtering of packets on all supported OSes, and + * - identification of savefiles on all OSes. + * + * Therefore use a default DLT value that does not block capturing and + * hexdumping of unsupported DSA encodings (in case the tag is not in + * the array) and enforce the non-use of DLT_EN10MB (in case the tag is + * in the array, but is incorrectly declared). + */ + handle->linktype = DLT_DEBUG_ONLY; for (i = 0; i < sizeof(dsa_protos) / sizeof(dsa_protos[0]); i++) { - if (strlen(dsa_protos[i].name) == (size_t)r && - strcmp(buf, dsa_protos[i].name) == 0) { - handle->linktype = dsa_protos[i].linktype; - switch (dsa_protos[i].linktype) { - case DLT_EN10MB: - return 0; - default: - return 1; - } + if (strcmp(buf, dsa_protos[i].name) == 0) { + if (dsa_protos[i].linktype != DLT_EN10MB) + handle->linktype = dsa_protos[i].linktype; + break; } } - - snprintf(handle->errbuf, PCAP_ERRBUF_SIZE, - "unsupported DSA tag: %s", buf); - - return PCAP_ERROR; + return 1; } /* @@ -5724,12 +6182,18 @@ pcap_set_protocol_linux(pcap_t *p, int protocol) /* * Libpcap version string. */ +#if defined(HAVE_TPACKET3) && defined(PCAP_SUPPORT_NETMAP) + #define ADDITIONAL_INFO_STRING "with TPACKET_V3 and netmap" +#elif defined(HAVE_TPACKET3) + #define ADDITIONAL_INFO_STRING "with TPACKET_V3" +#elif defined(PCAP_SUPPORT_NETMAP) + #define ADDITIONAL_INFO_STRING "with TPACKET_V2 and netmap" +#else + #define ADDITIONAL_INFO_STRING "with TPACKET_V2" +#endif + const char * pcap_lib_version(void) { -#if defined(HAVE_TPACKET3) - return (PCAP_VERSION_STRING " (with TPACKET_V3)"); -#else - return (PCAP_VERSION_STRING " (with TPACKET_V2)"); -#endif + return (PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO(ADDITIONAL_INFO_STRING)); } diff --git a/libpcap/pcap-new.c b/libpcap/pcap-new.c index 822bc9038..f6d5d18e7 100644 --- a/libpcap/pcap-new.c +++ b/libpcap/pcap-new.c @@ -85,6 +85,12 @@ int pcap_findalldevs_ex(const char *source, struct pcap_rmtauth *auth, pcap_if_t (*alldevs) = NULL; lastdev = NULL; + if (source == NULL) + { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "The source string must not be NULL."); + return -1; + } if (strlen(source) > PCAP_BUF_SIZE) { snprintf(errbuf, PCAP_ERRBUF_SIZE, "The source string is too long. Cannot handle it correctly."); @@ -93,21 +99,23 @@ int pcap_findalldevs_ex(const char *source, struct pcap_rmtauth *auth, pcap_if_t /* * Determine the type of the source (file, local, remote) - * There are some differences if pcap_findalldevs_ex() is called to list files and remote adapters. - * In the first case, the name of the directory we have to look into must be present (therefore - * the 'name' parameter of the pcap_parsesrcstr() is present). - * In the second case, the name of the adapter is not required (we need just the host). So, we have - * to use a first time this function to get the source type, and a second time to get the appropriate - * info, which depends on the source type. + * + * To list files in a local directory, the source string must specify + * the directory name. To list local or remote capture devices, the + * source string must not specify a device name. Retrieve the name + * component now and validate it for each source type next. */ - if (pcap_parsesrcstr(source, &type, NULL, NULL, NULL, errbuf) == -1) + if (pcap_parsesrcstr(source, &type, NULL, NULL, name, errbuf) == -1) return -1; switch (type) { case PCAP_SRC_IFLOCAL: - if (pcap_parsesrcstr(source, &type, NULL, NULL, NULL, errbuf) == -1) + if (strlen(name)) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To list local capture devices, the source string must not include a device name."); return -1; + } /* Initialize temporary string */ tmpstring[PCAP_BUF_SIZE] = 0; @@ -186,12 +194,15 @@ int pcap_findalldevs_ex(const char *source, struct pcap_rmtauth *auth, pcap_if_t DIR *unixdir; #endif - if (pcap_parsesrcstr(source, &type, NULL, NULL, name, errbuf) == -1) - return -1; - /* Check that the filename is correct */ stringlen = strlen(name); + if (! stringlen) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To list local files, the source string must include a directory."); + return -1; + } + /* The directory must end with '\' in Win32 and '/' in UNIX */ #ifdef _WIN32 #define ENDING_CHAR '\\' @@ -378,6 +389,12 @@ int pcap_findalldevs_ex(const char *source, struct pcap_rmtauth *auth, pcap_if_t } case PCAP_SRC_IFREMOTE: + if (strlen(name)) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To list remote capture devices, the source string must not include a device name."); + return -1; + } + return pcap_findalldevs_ex_remote(source, auth, alldevs, errbuf); default: @@ -419,13 +436,28 @@ pcap_t *pcap_open(const char *source, int snaplen, int flags, int read_timeout, switch (type) { case PCAP_SRC_FILE: + if (! strlen(name)) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To open a local file, the source string must include the file path."); + return NULL; + } return pcap_open_offline(name, errbuf); case PCAP_SRC_IFLOCAL: + if (! strlen(name)) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To open a local capture device, the source string must include the device name."); + return NULL; + } fp = pcap_create(name, errbuf); break; case PCAP_SRC_IFREMOTE: + if (! strlen(name)) { + snprintf(errbuf, PCAP_ERRBUF_SIZE, + "To open a remote capture device, the source string must include the device name."); + return NULL; + } /* * Although we already have host, port and iface, we prefer * to pass only 'source' to pcap_open_rpcap(), so that it diff --git a/libpcap/pcap-npf.c b/libpcap/pcap-npf.c index 76346f574..f638bd809 100644 --- a/libpcap/pcap-npf.c +++ b/libpcap/pcap-npf.c @@ -196,6 +196,10 @@ PacketGetMonitorMode(PCHAR AdapterName _U_) #define NDIS_STATUS_NOT_SUPPORTED 0xc00000bb /* STATUS_NOT_SUPPORTED */ #define NDIS_STATUS_NOT_RECOGNIZED 0x00010001 +#ifndef PACKET_OID_DATA_LENGTH +#define PACKET_OID_DATA_LENGTH(_DataLength) \ + (offsetof(PACKET_OID_DATA, Data) + _DataLength) +#endif static int oid_get_request(ADAPTER *adapter, bpf_u_int32 oid, void *data, size_t *lenp, char *errbuf) @@ -204,12 +208,9 @@ oid_get_request(ADAPTER *adapter, bpf_u_int32 oid, void *data, size_t *lenp, /* * Allocate a PACKET_OID_DATA structure to hand to PacketRequest(). - * It should be big enough to hold "*lenp" bytes of data; it - * will actually be slightly larger, as PACKET_OID_DATA has a - * 1-byte data array at the end, standing in for the variable-length - * data that's actually there. + * It should be big enough to hold "*lenp" bytes of data; */ - oid_data_arg = malloc(sizeof (PACKET_OID_DATA) + *lenp); + oid_data_arg = malloc(PACKET_OID_DATA_LENGTH(*lenp)); if (oid_data_arg == NULL) { snprintf(errbuf, PCAP_ERRBUF_SIZE, "Couldn't allocate argument buffer for PacketRequest"); @@ -404,12 +405,9 @@ pcap_oid_set_request_npf(pcap_t *p, bpf_u_int32 oid, const void *data, /* * Allocate a PACKET_OID_DATA structure to hand to PacketRequest(). - * It should be big enough to hold "*lenp" bytes of data; it - * will actually be slightly larger, as PACKET_OID_DATA has a - * 1-byte data array at the end, standing in for the variable-length - * data that's actually there. + * It should be big enough to hold "*lenp" bytes of data; */ - oid_data_arg = malloc(sizeof (PACKET_OID_DATA) + *lenp); + oid_data_arg = malloc(PACKET_OID_DATA_LENGTH(*lenp)); if (oid_data_arg == NULL) { snprintf(p->errbuf, PCAP_ERRBUF_SIZE, "Couldn't allocate argument buffer for PacketRequest"); @@ -1033,6 +1031,10 @@ pcap_activate_npf(pcap_t *p) int status = 0; struct bpf_insn total_insn; struct bpf_program total_prog; +#ifdef HAVE_PACKET_GET_INFO + char oid_data_buf[PACKET_OID_DATA_LENGTH(sizeof(ULONG))] = {0}; + PACKET_OID_DATA *oid_data_arg = (PACKET_OID_DATA *)oid_data_buf; +#endif if (p->opt.rfmon) { /* @@ -1292,6 +1294,42 @@ pcap_activate_npf(pcap_t *p) } #endif /* HAVE_PACKET_GET_TIMESTAMP_MODES */ +#ifdef PACKET_MODE_NANO + /* + * If nanosecond timestamp resolution is requested, set + * the packet mode to enable it. + * + * XXX - it's not nanosecond resolution, as the internal + * NT clock has 100 ns resolution, but we can't indicate + * that. An updated-for-pcapng API should support that. + */ + if (p->opt.tstamp_precision == PCAP_TSTAMP_PRECISION_NANO) { + res = PacketSetMode(pw->adapter, PACKET_MODE_NANO); + if(res == FALSE){ + snprintf(p->errbuf, PCAP_ERRBUF_SIZE, + "Error setting nanosecond capture mode"); + goto bad; + } + } +#endif /* PACKET_MODE_NANO */ + +#if defined(HAVE_PACKET_GET_INFO) && defined(NPF_GETINFO_BPFEXT) && defined(SKF_AD_VLAN_TAG_PRESENT) + + /* Can we generate special code for VLAN checks? */ + oid_data_arg->Oid = NPF_GETINFO_BPFEXT; + oid_data_arg->Length = sizeof(ULONG); + if (PacketGetInfo(pw->adapter, oid_data_arg)) { + if (*((ULONG *)oid_data_arg->Data) >= SKF_AD_VLAN_TAG_PRESENT) { + /* Yes, we can. Request that we do so. */ + p->bpf_codegen_flags |= BPF_SPECIAL_VLAN_HANDLING; + } + } + else { + pcapint_fmt_errmsg_for_win32_err(p->errbuf, PCAP_ERRBUF_SIZE, + GetLastError(), "Error calling PacketGetInfo"); + } +#endif /* HAVE_PACKET_GET_INFO */ + /* * Turn a negative snapshot value (invalid), a snapshot value of * 0 (unspecified), or a value bigger than the normal maximum @@ -1613,11 +1651,11 @@ pcap_can_set_rfmon_npf(pcap_t *p) } /* - * Get a list of time stamp types. + * Get lists of time stamp types and precisions. */ #ifdef HAVE_PACKET_GET_TIMESTAMP_MODES static int -get_ts_types(const char *device, pcap_t *p, char *ebuf) +get_ts_support(const char *device, pcap_t *p, char *ebuf) { char *device_copy = NULL; ADAPTER *adapter = NULL; @@ -1632,6 +1670,12 @@ get_ts_types(const char *device, pcap_t *p, char *ebuf) ULONG *modes = NULL; int status = 0; + /* + * This is called in pcapint_create_interface(), after the + * pcap_t is allocated and initialized, so the time stamp + * type list and the time stamp precision lists are both + * empty. + */ do { /* * First, find out how many time stamp modes we have. @@ -1683,8 +1727,6 @@ get_ts_types(const char *device, pcap_t *p, char *ebuf) */ if (error == ERROR_BAD_UNIT || error == ERROR_ACCESS_DENIED) { - p->tstamp_type_count = 0; - p->tstamp_type_list = NULL; status = 0; } else { pcapint_fmt_errmsg_for_win32_err(ebuf, @@ -1692,6 +1734,10 @@ get_ts_types(const char *device, pcap_t *p, char *ebuf) "Error opening adapter"); status = -1; } + + /* + * We're done; clean up and return the status. + */ break; } @@ -1865,6 +1911,25 @@ get_ts_types(const char *device, pcap_t *p, char *ebuf) } } p->tstamp_type_count = num_ts_types; + +#ifdef PACKET_MODE_NANO + /* + * Check if we support nanosecond time stamps. + */ + if (PacketSetMode(adapter, PACKET_MODE_NANO)) { + p->tstamp_precision_list = malloc(2 * sizeof(u_int)); + if (p->tstamp_precision_list == NULL) { + pcapint_fmt_errmsg_for_errno(ebuf, PCAP_ERRBUF_SIZE, + errno, "malloc"); + pcap_close(p); + return (NULL); + } + p->tstamp_precision_list[0] = PCAP_TSTAMP_PRECISION_MICRO; + p->tstamp_precision_list[1] = PCAP_TSTAMP_PRECISION_NANO; + p->tstamp_precision_count = 2; + } +#endif /* PACKET_MODE_NANO */ + } while (0); /* Clean up temporary allocations */ @@ -1882,7 +1947,7 @@ get_ts_types(const char *device, pcap_t *p, char *ebuf) } #else /* HAVE_PACKET_GET_TIMESTAMP_MODES */ static int -get_ts_types(const char *device _U_, pcap_t *p _U_, char *ebuf _U_) +get_ts_support(const char *device _U_, pcap_t *p _U_, char *ebuf _U_) { /* * Nothing to fetch, so it always "succeeds". @@ -1903,10 +1968,11 @@ pcapint_create_interface(const char *device _U_, char *ebuf) p->activate_op = pcap_activate_npf; p->can_set_rfmon_op = pcap_can_set_rfmon_npf; - if (get_ts_types(device, p, ebuf) == -1) { + if (get_ts_support(device, p, ebuf) == -1) { pcap_close(p); return (NULL); } + return (p); } @@ -2766,7 +2832,7 @@ pcap_lib_version(void) char *full_pcap_version_string; if (pcapint_asprintf(&full_pcap_version_string, - PCAP_VERSION_STRING " (packet.dll version %s)", + PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO("packet.dll version %s"), PacketGetVersion()) != -1) { /* Success */ pcap_lib_version_string = full_pcap_version_string; diff --git a/libpcap/pcap-rpcap.c b/libpcap/pcap-rpcap.c index 408d453f7..8f8960b91 100644 --- a/libpcap/pcap-rpcap.c +++ b/libpcap/pcap-rpcap.c @@ -267,7 +267,7 @@ static int rpcap_read_packet_msg(struct pcap_rpcap const *, pcap_t *p, size_t si /* * Possible IPv4 family values other than the designated over-the-wire value, - * which is 2 (because everybody, except for Haiku uses 2 for AF_INET, + * which is 2 (because everybody, except for Haiku, uses 2 for AF_INET, * and Haiku has probably never run the old rpcapd code that put address * structures directly on the wire, rather than the new rpcapd code * that serializes addresses, using 2 for AF_INET). diff --git a/libpcap/pcap-savefile.manfile.in b/libpcap/pcap-savefile.manfile.in index e903ba815..bde0cfc67 100644 --- a/libpcap/pcap-savefile.manfile.in +++ b/libpcap/pcap-savefile.manfile.in @@ -17,7 +17,7 @@ .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" -.TH PCAP-SAVEFILE @MAN_FILE_FORMATS@ "16 Aug 2023" +.TH PCAP-SAVEFILE @MAN_FILE_FORMATS@ "6 Jan 2025" .SH NAME pcap-savefile \- libpcap savefile format .SH DESCRIPTION @@ -55,19 +55,30 @@ The per-file header length is 24 octets. .PP All fields in the per-file header are in the byte order of the host writing the file. Normally, the first field in the per-file header is a -4-byte magic number, with the value 0xa1b2c3d4. The magic number, when +4-byte magic number, with the value +.BR 0xa1b2c3d4 . +The magic number, when read by a host with the same byte order as the host that wrote the file, -will have the value 0xa1b2c3d4, and, when read by a host with the +will have the value +.BR 0xa1b2c3d4 , +and, when read by a host with the opposite byte order as the host that wrote the file, will have the value -0xd4c3b2a1. That allows software reading the file to determine whether +.BR 0xd4c3b2a1 . +That allows software reading the file to determine whether the byte order of the host that wrote the file is the same as the byte order of the host on which the file is being read, and thus whether the values in the per-file and per-packet headers need to be byte-swapped. .PP -If the magic number has the value 0xa1b23c4d (with the two nibbles of +If the magic number has the value +.B 0xa1b23c4d +(with the two nibbles of the two lower-order bytes of the magic number swapped), which would be -read as 0xa1b23c4d by a host with the same byte order as the host that -wrote the file and as 0x4d3cb2a1 by a host with the opposite byte order +read as +.B 0xa1b23c4d +by a host with the same byte order as the host that +wrote the file and as +.B 0x4d3cb2a1 +by a host with the opposite byte order as the host that wrote the file, the file format is the same as for regular files, except that the time stamps for packets are given in seconds and nanoseconds rather than seconds and microseconds. @@ -75,10 +86,10 @@ seconds and nanoseconds rather than seconds and microseconds. Following this are: .IP A 2-byte file format major version number; the current version number is -2. +2 (big-endian 0x00 0x02 or little-endian 0x02 0x00). .IP A 2-byte file format minor version number; the current version number is -4. +4 (big-endian 0x00 0x04 or little-endian 0x04 0x00). .IP A 4-byte not used - SHOULD be filled with 0 by pcap file writers, and MUST be ignored by pcap file readers. This value was documented by some older diff --git a/libpcap/pcap-septel.c b/libpcap/pcap-septel.c index 35f5ec54a..d4f24576a 100644 --- a/libpcap/pcap-septel.c +++ b/libpcap/pcap-septel.c @@ -312,8 +312,7 @@ pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf) pcap_t * pcapint_create_interface(const char *device, char *errbuf) { - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "This version of libpcap only supports Septel cards"); + snprintf(errbuf, PCAP_ERRBUF_SIZE, PCAP_ENODEV_MESSAGE, "Septel"); return (NULL); } diff --git a/libpcap/pcap-snf.c b/libpcap/pcap-snf.c index 272f7df6c..d08275ac8 100644 --- a/libpcap/pcap-snf.c +++ b/libpcap/pcap-snf.c @@ -599,8 +599,7 @@ pcapint_platform_finddevs(pcap_if_list_t *devlistp, char *errbuf) pcap_t * pcapint_create_interface(const char *device, char *errbuf) { - snprintf(errbuf, PCAP_ERRBUF_SIZE, - "This version of libpcap only supports SNF cards"); + snprintf(errbuf, PCAP_ERRBUF_SIZE, PCAP_ENODEV_MESSAGE, "SNF"); return NULL; } @@ -610,6 +609,6 @@ pcapint_create_interface(const char *device, char *errbuf) const char * pcap_lib_version(void) { - return (PCAP_VERSION_STRING " (SNF-only)"); + return (PCAP_VERSION_STRING_WITH_ADDITIONAL_INFO("SNF-only")); } #endif diff --git a/libpcap/pcap.c b/libpcap/pcap.c index d7850f12b..a076c5fb2 100644 --- a/libpcap/pcap.c +++ b/libpcap/pcap.c @@ -1781,6 +1781,17 @@ pcap_parse_source(const char *source, char **schemep, char **userinfop, char *parsep, *atsignp, *bracketp; char *userinfo, *host, *port, *path; + if (source == NULL) { + snprintf(ebuf, PCAP_ERRBUF_SIZE, + "The source string must not be NULL."); + return (-1); + } + if (! strcmp(source, "")) { + snprintf(ebuf, PCAP_ERRBUF_SIZE, + "The source string must not be empty."); + return (-1); + } + /* * Start out returning nothing. */ @@ -2271,19 +2282,16 @@ pcapint_parsesrcstr_ex(const char *source, int *type, char *host, char *port, } /* - * Neither rpcap: nor file:; just treat the entire string - * as a local device. + * The code above has already completely handled the case of no scheme, + * as well as each case of a valid scheme. */ - if (name) - pcapint_strlcpy(name, source, PCAP_BUF_SIZE); - if (type) - *type = PCAP_SRC_IFLOCAL; + snprintf(errbuf, PCAP_ERRBUF_SIZE, "The source string URL scheme is not supported."); free(tmppath); free(tmpport); free(tmphost); free(tmpuserinfo); free(scheme); - return (0); + return (-1); } int @@ -3341,7 +3349,7 @@ static struct dlt_choice dlt_choices[] = { DLT_CHOICE(BLUETOOTH_BREDR_BB, "Bluetooth Basic Rate/Enhanced Data Rate baseband packets"), DLT_CHOICE(BLUETOOTH_LE_LL_WITH_PHDR, "Bluetooth Low Energy air interface with pseudo-header"), DLT_CHOICE(PROFIBUS_DL, "PROFIBUS data link layer"), - DLT_CHOICE(PKTAP, "Apple DLT_PKTAP"), + DLT_CHOICE(PKTAP, "Apple PKTAP"), DLT_CHOICE(EPON, "Ethernet with 802.3 Clause 65 EPON preamble"), DLT_CHOICE(IPMI_HPM_2, "IPMI trace packets"), DLT_CHOICE(ZWAVE_R1_R2, "Z-Wave RF profile R1 and R2 packets"), @@ -3350,7 +3358,7 @@ static struct dlt_choice dlt_choices[] = { DLT_CHOICE(ISO_14443, "ISO 14443 messages"), DLT_CHOICE(RDS, "IEC 62106 Radio Data System groups"), DLT_CHOICE(USB_DARWIN, "USB with Darwin header"), - DLT_CHOICE(OPENFLOW, "OpenBSD DLT_OPENFLOW"), + DLT_CHOICE(OPENFLOW, "OpenBSD OpenFlow"), DLT_CHOICE(SDLC, "IBM SDLC frames"), DLT_CHOICE(TI_LLN_SNIFFER, "TI LLN sniffer frames"), DLT_CHOICE(VSOCK, "Linux vsock"), @@ -3371,6 +3379,36 @@ static struct dlt_choice dlt_choices[] = { DLT_CHOICE(Z_WAVE_SERIAL, "Z-Wave serial frames between host and chip"), DLT_CHOICE(USB_2_0, "USB 2.0/1.1/1.0 as transmitted over the cable"), DLT_CHOICE(ATSC_ALP, "ATSC Link-Layer Protocol packets"), + DLT_CHOICE(ETW, "Event Tracing for Windows messages"), + DLT_CHOICE(NETANALYZER_NG, "Hilscher netANALYZER NG pseudo-footer"), + DLT_CHOICE(ZBOSS_NCP, "ZBOSS NCP protocol with pseudo-header"), + DLT_CHOICE(USB_2_0_LOW_SPEED, "Low-Speed USB 2.0/1.1/1.0 as transmitted over the cable"), + DLT_CHOICE(USB_2_0_FULL_SPEED, "Full-Speed USB 2.0/1.1/1.0 as transmitted over the cable"), + DLT_CHOICE(USB_2_0_HIGH_SPEED, "High-Speed USB 2.0 as transmitted over the cable"), + DLT_CHOICE(AUERSWALD_LOG, "Auerswald Logger Protocol"), + DLT_CHOICE(ZWAVE_TAP, "Z-Wave packets with a TAP meta-data header"), + DLT_CHOICE(SILABS_DEBUG_CHANNEL, "Silicon Labs debug channel protocol"), + DLT_CHOICE(FIRA_UCI, "Ultra-wideband controller interface protocol"), + DLT_CHOICE(MDB, "Multi-Drop Bus"), + DLT_CHOICE(DECT_NR, "DECT New Radio"), + DLT_CHOICE(USER0, "Private use 0"), + DLT_CHOICE(USER1, "Private use 1"), + DLT_CHOICE(USER2, "Private use 2"), + DLT_CHOICE(USER3, "Private use 3"), + DLT_CHOICE(USER4, "Private use 4"), + DLT_CHOICE(USER5, "Private use 5"), + DLT_CHOICE(USER6, "Private use 6"), + DLT_CHOICE(USER7, "Private use 7"), + DLT_CHOICE(USER8, "Private use 8"), + DLT_CHOICE(USER9, "Private use 9"), + DLT_CHOICE(USER10, "Private use 10"), + DLT_CHOICE(USER11, "Private use 11"), + DLT_CHOICE(USER12, "Private use 12"), + DLT_CHOICE(USER13, "Private use 13"), + DLT_CHOICE(USER14, "Private use 14"), + DLT_CHOICE(USER15, "Private use 15"), + DLT_CHOICE(EDK2_MM, "edk2 mm request serialization protocol"), + DLT_CHOICE(DEBUG_ONLY, "unstructured data for manual debugging only"), DLT_CHOICE_SENTINEL }; @@ -4278,10 +4316,23 @@ pcapint_load_code(const char *name) return hModule; } -pcap_funcptr_t +/* + * Casting from FARPROC, which is the type of the return value of + * GetProcAddress(), to a function pointer gets a C4191 warning + * from Visual Studio 2022. + * + * Casting FARPROC to void * and returning the result, and then + * casting the void * to a function pointer, doesn't get the + * same warning. + * + * Given that, and given that the equivalent UN*X API, dlsym(), + * returns a void *, we have pcapint_find_function() return + * a void *. + */ +void * pcapint_find_function(pcap_code_handle_t code, const char *func) { - return (GetProcAddress(code, func)); + return ((void *)GetProcAddress(code, func)); } #endif diff --git a/libpcap/pcap/dlt.h b/libpcap/pcap/dlt.h index 7f5f5aa4a..e0630c231 100644 --- a/libpcap/pcap/dlt.h +++ b/libpcap/pcap/dlt.h @@ -390,7 +390,7 @@ * 121 was reserved for Siemens HiPath HDLC on 2002-01-25, as * requested by Tomas Kukosa. * - * On 2004-02-25, a FreeBSD checkin to sys/net/bpf.h was made that + * On 2004-02-25, a FreeBSD check in to sys/net/bpf.h was made that * assigned 121 as DLT_PFSYNC. In current versions, its libpcap * does DLT_ <-> LINKTYPE_ mapping, mapping DLT_PFSYNC to a * LINKTYPE_PFSYNC value of 246, so it should write out DLT_PFSYNC @@ -1570,6 +1570,8 @@ /* * USB 2.0, 1.1, and 1.0 packets as transmitted over the cable. + * Deprecated in favor of speed specific DLTs: DLT_USB_2_0_LOW_SPEED, + * DLT_USB_2_0_FULL_SPEED and DLT_USB_2_0_HIGH_SPEED. */ #define DLT_USB_2_0 288 @@ -1578,6 +1580,102 @@ */ #define DLT_ATSC_ALP 289 +/* + * Event Tracing for Windows messages. + */ +#define DLT_ETW 290 + +/* + * Hilscher Gesellschaft fuer Systemautomation mbH + * netANALYZER NG hardware and software. + * + * The specification for this footer can be found at: + * https://kb.hilscher.com/x/brDJBw + * + * Requested by Jan Adam + */ +#define DLT_NETANALYZER_NG 291 + +/* + * Serial NCP (Network Co-Processor) protocol for Zigbee stack ZBOSS + * by DSR, https://dsr-iot.com/downloads + */ +#define DLT_ZBOSS_NCP 292 + +/* + * USB 2.0, 1.1, and 1.0 packets as transmitted over the cable. + */ +#define DLT_USB_2_0_LOW_SPEED 293 +#define DLT_USB_2_0_FULL_SPEED 294 +#define DLT_USB_2_0_HIGH_SPEED 295 + +/* + * Auerswald Logger Protocol + * description is provided on + * https://github.com/Auerswald-GmbH/auerlog/blob/master/auerlog.txt + */ +#define DLT_AUERSWALD_LOG 296 + +/* + * Z-Wave packets with a TAP meta-data header + * https://gitlab.com/exegin/zwave-g9959-tap + * requested on tcpdump-workers@ + */ +#define DLT_ZWAVE_TAP 297 + +/* + * Silicon Labs debug channel protocol: + */ +#define DLT_SILABS_DEBUG_CHANNEL 298 + +/* + * Ultra-wideband (UWB) controller interface protocol (UCI). + * requested by Henri Chataing + */ +#define DLT_FIRA_UCI 299 + +/* + * MDB (Multi-Drop Bus) protocol between a vending machine controller and + * peripherals inside the vending machine. See + * + * https://www.kaiser.cx/pcap-mdb.html + * + * for the specification. + * + * Requested by Martin Kaiser . + */ +#define DLT_MDB 300 + +/* + * DECT-2020 New Radio (NR) - ETSI TS 103 636. + * Requested by Stig Bjorlykke . + */ +#define DLT_DECT_NR 301 + +/* + * Request serialization protocol used by edk2 firmware to communicate between + * normal mode and management mode ('MM' for short). + * + * The qemu uefi variable store implementation reuses the request serialization + * protocol for firmware <-> qemu communication. + */ +#define DLT_EDK2_MM 302 + +/* + * Unstructured data for manual debugging only. In other words, this DLT is + * suitable for expert interpretation of hex dumps, and that's it. Do not use + * this DLT for any other purpose. For any automated (identification, saving, + * loading, filtering, decoding) processing please either use another existing + * DLT that fits the use case or document, assign and implement a new, properly + * structured DLT. + * + * In this DLT do not assume any specification, any structure, any format, any + * version, any header, any payload, any byte order, any implementation, any + * software/firmware/hardware particulars, any source, any destination, any + * direction, any protocol or any data integrity/consistency whatsoever. + */ +#define DLT_DEBUG_ONLY 303 + /* * In case the code that includes this file (directly or indirectly) * has also included OS files that happen to define DLT_HIGH_MATCHING_MAX, @@ -1588,6 +1686,6 @@ #ifdef DLT_HIGH_MATCHING_MAX #undef DLT_HIGH_MATCHING_MAX #endif -#define DLT_HIGH_MATCHING_MAX 289 /* highest value in the "matching" range */ +#define DLT_HIGH_MATCHING_MAX 303 /* highest value in the "matching" range */ #endif /* !defined(lib_pcap_dlt_h) */ diff --git a/libpcap/pcap_close.3pcap b/libpcap/pcap_close.3pcap index c4ac3fad8..1e3d6c381 100644 --- a/libpcap/pcap_close.3pcap +++ b/libpcap/pcap_close.3pcap @@ -17,7 +17,7 @@ .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" -.TH PCAP_CLOSE 3PCAP "3 January 2014" +.TH PCAP_CLOSE 3PCAP "12 October 2024" .SH NAME pcap_close \- close a capture device or savefile .SH SYNOPSIS @@ -34,6 +34,14 @@ void pcap_close(pcap_t *p); .BR pcap_close () closes the files associated with .I p -and deallocates resources. +and deallocates resources. This means that, for example, if +.I p +refers to a savefile that was opened with +.BR pcap_fopen_offline () +or +.BR pcap_fopen_offline_with_tstamp_precision (), +the stream provided to the routine will be closed unless it is +.BR stdin . .SH SEE ALSO -.BR pcap (3PCAP) +.BR pcap (3PCAP), +.BR pcap_open_offline (3PCAP) diff --git a/libpcap/pcap_dump_close.3pcap b/libpcap/pcap_dump_close.3pcap index a62eb34db..37f5eb260 100644 --- a/libpcap/pcap_dump_close.3pcap +++ b/libpcap/pcap_dump_close.3pcap @@ -17,7 +17,7 @@ .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" -.TH PCAP_DUMP_CLOSE 3PCAP "3 January 2014" +.TH PCAP_DUMP_CLOSE 3PCAP "12 October 2024" .SH NAME pcap_dump_close \- close a savefile being written to .SH SYNOPSIS @@ -32,7 +32,14 @@ void pcap_dump_close(pcap_dumper_t *p); .fi .SH DESCRIPTION .BR pcap_dump_close () -closes the ``savefile.'' +closes the ``savefile'' associated with +.I p +and deallocates resources. This means that, for example, if +.I p +refers to a savefile that was opened with +.BR pcap_dump_fopen (), +the stream provided to that routine will be closed unless it is +.BR stdout . .SH SEE ALSO .BR pcap (3PCAP), .BR pcap_dump_open (3PCAP), diff --git a/libpcap/pcap_dump_flush.3pcap b/libpcap/pcap_dump_flush.3pcap index c6e0f86ed..7af820140 100644 --- a/libpcap/pcap_dump_flush.3pcap +++ b/libpcap/pcap_dump_flush.3pcap @@ -32,7 +32,7 @@ int pcap_dump_flush(pcap_dumper_t *p); .fi .SH DESCRIPTION .BR pcap_dump_flush () -flushes the output buffer to the ``savefile,'' so that any packets +flushes the output buffer to the ``savefile'', so that any packets written with .BR pcap_dump (3PCAP) but not yet written to the ``savefile'' will be written. diff --git a/libpcap/pcap_file.3pcap b/libpcap/pcap_file.3pcap index 74029732d..feecdb61d 100644 --- a/libpcap/pcap_file.3pcap +++ b/libpcap/pcap_file.3pcap @@ -32,7 +32,7 @@ FILE *pcap_file(pcap_t *p); .fi .SH DESCRIPTION .BR pcap_file () -returns the standard I/O stream of the ``savefile,'' if a ``savefile'' +returns the standard I/O stream of the ``savefile'', if a ``savefile'' was opened with .BR pcap_open_offline (3PCAP), or diff --git a/libpcap/pcap_loop.3pcap b/libpcap/pcap_loop.3pcap index 3f2fe312b..b6504d308 100644 --- a/libpcap/pcap_loop.3pcap +++ b/libpcap/pcap_loop.3pcap @@ -180,7 +180,7 @@ platforms that support a packet buffer timeout that starts before any packets arrive, the timeout expires before any packets arrive, or if the file descriptor for the capture device is in non-blocking mode and no packets were available to be read) or if no more packets are available -in a ``savefile.'' It returns +in a ``savefile''. It returns .B PCAP_ERROR_BREAK if the loop terminated due to a call to .BR pcap_breakloop () diff --git a/libpcap/pcap_next_ex.3pcap b/libpcap/pcap_next_ex.3pcap index c6143eed0..48ea00b2e 100644 --- a/libpcap/pcap_next_ex.3pcap +++ b/libpcap/pcap_next_ex.3pcap @@ -146,7 +146,7 @@ packet filter, or if, on platforms that support a packet buffer timeout that starts before any packets arrive, the timeout expires before any packets arrive, or if the file descriptor for the capture device is in non-blocking mode and no packets were available to be read), or if no -more packets are available in a ``savefile.'' Unfortunately, there is no +more packets are available in a ``savefile''. Unfortunately, there is no way to determine whether an error occurred or not. .SH SEE ALSO .BR pcap (3PCAP) diff --git a/libpcap/pcap_open_offline.3pcap.in b/libpcap/pcap_open_offline.3pcap.in index eca226602..a7b02c88e 100644 --- a/libpcap/pcap_open_offline.3pcap.in +++ b/libpcap/pcap_open_offline.3pcap.in @@ -17,7 +17,7 @@ .\" WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF .\" MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. .\" -.TH PCAP_OPEN_OFFLINE 3PCAP "30 November 2023" +.TH PCAP_OPEN_OFFLINE 3PCAP "12 October 2024" .SH NAME pcap_open_offline, pcap_open_offline_with_tstamp_precision, pcap_fopen_offline, pcap_fopen_offline_with_tstamp_precision \- open a saved capture file for reading @@ -80,7 +80,11 @@ Alternatively, you may call or .BR pcap_fopen_offline_with_tstamp_precision () to read dumped data from an existing open stream -.IR fp . +.IR fp ; +this stream will be closed by a subsequent call to +.BR pcap_close (3PCAP) +unless it is +.BR stdin . .BR pcap_fopen_offline_with_tstamp_precision () takes an additional .I precision diff --git a/libpcap/pflog.h b/libpcap/pflog.h index b49d04fc8..0687ae556 100644 --- a/libpcap/pflog.h +++ b/libpcap/pflog.h @@ -31,6 +31,10 @@ * SUCH DAMAGE. */ +#ifndef _WIN32 + #include +#endif + /* * pflog headers, at least as they exist now. */ diff --git a/libpcap/scanner.c b/libpcap/scanner.c index 79462b6b2..4f55498ae 100644 --- a/libpcap/scanner.c +++ b/libpcap/scanner.c @@ -2956,28 +2956,6 @@ void pcap_set_column(int, yyscan_t); #ifdef _WIN32 #include #include -/* - * To quote the MSDN page for getaddrinfo() at - * - * https://msdn.microsoft.com/en-us/library/windows/desktop/ms738520(v=vs.85).aspx - * - * "Support for getaddrinfo on Windows 2000 and older versions - * The getaddrinfo function was added to the Ws2_32.dll on Windows XP and - * later. To execute an application that uses this function on earlier - * versions of Windows, then you need to include the Ws2tcpip.h and - * Wspiapi.h files. When the Wspiapi.h include file is added, the - * getaddrinfo function is defined to the WspiapiGetAddrInfo inline - * function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo - * function is implemented in such a way that if the Ws2_32.dll or the - * Wship6.dll (the file containing getaddrinfo in the IPv6 Technology - * Preview for Windows 2000) does not include getaddrinfo, then a - * version of getaddrinfo is implemented inline based on code in the - * Wspiapi.h header file. This inline code will be used on older Windows - * platforms that do not natively support the getaddrinfo function." - * - * We use getaddrinfo(), so we include Wspiapi.h here. - */ -#include #else /* _WIN32 */ #include /* for "struct sockaddr" in "struct addrinfo" */ #include /* for "struct addrinfo" */ @@ -3004,7 +2982,7 @@ static int stou(const char *, YYSTYPE *, compiler_state_t *); */ DIAG_OFF_FLEX -#line 3008 "scanner.c" +#line 2986 "scanner.c" #define INITIAL 0 @@ -3275,9 +3253,9 @@ YY_DECL } { -#line 273 "scanner.l" +#line 251 "scanner.l" -#line 3281 "scanner.c" +#line 3259 "scanner.c" while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */ { @@ -3332,634 +3310,634 @@ do_action: /* This label is used only to access EOF actions. */ case 1: YY_RULE_SETUP -#line 274 "scanner.l" +#line 252 "scanner.l" return DST; YY_BREAK case 2: YY_RULE_SETUP -#line 275 "scanner.l" +#line 253 "scanner.l" return SRC; YY_BREAK case 3: YY_RULE_SETUP -#line 277 "scanner.l" +#line 255 "scanner.l" return LINK; YY_BREAK case 4: YY_RULE_SETUP -#line 278 "scanner.l" +#line 256 "scanner.l" return LINK; YY_BREAK case 5: YY_RULE_SETUP -#line 279 "scanner.l" +#line 257 "scanner.l" return ARP; YY_BREAK case 6: YY_RULE_SETUP -#line 280 "scanner.l" +#line 258 "scanner.l" return RARP; YY_BREAK case 7: YY_RULE_SETUP -#line 281 "scanner.l" +#line 259 "scanner.l" return IP; YY_BREAK case 8: YY_RULE_SETUP -#line 282 "scanner.l" +#line 260 "scanner.l" return SCTP; YY_BREAK case 9: YY_RULE_SETUP -#line 283 "scanner.l" +#line 261 "scanner.l" return TCP; YY_BREAK case 10: YY_RULE_SETUP -#line 284 "scanner.l" +#line 262 "scanner.l" return UDP; YY_BREAK case 11: YY_RULE_SETUP -#line 285 "scanner.l" +#line 263 "scanner.l" return ICMP; YY_BREAK case 12: YY_RULE_SETUP -#line 286 "scanner.l" +#line 264 "scanner.l" return IGMP; YY_BREAK case 13: YY_RULE_SETUP -#line 287 "scanner.l" +#line 265 "scanner.l" return IGRP; YY_BREAK case 14: YY_RULE_SETUP -#line 288 "scanner.l" +#line 266 "scanner.l" return PIM; YY_BREAK case 15: YY_RULE_SETUP -#line 289 "scanner.l" +#line 267 "scanner.l" return VRRP; YY_BREAK case 16: YY_RULE_SETUP -#line 290 "scanner.l" +#line 268 "scanner.l" return CARP; YY_BREAK case 17: YY_RULE_SETUP -#line 291 "scanner.l" +#line 269 "scanner.l" return RADIO; YY_BREAK case 18: YY_RULE_SETUP -#line 293 "scanner.l" +#line 271 "scanner.l" return IPV6; YY_BREAK case 19: YY_RULE_SETUP -#line 294 "scanner.l" +#line 272 "scanner.l" return ICMPV6; YY_BREAK case 20: YY_RULE_SETUP -#line 295 "scanner.l" +#line 273 "scanner.l" return AH; YY_BREAK case 21: YY_RULE_SETUP -#line 296 "scanner.l" +#line 274 "scanner.l" return ESP; YY_BREAK case 22: YY_RULE_SETUP -#line 298 "scanner.l" +#line 276 "scanner.l" return ATALK; YY_BREAK case 23: YY_RULE_SETUP -#line 299 "scanner.l" +#line 277 "scanner.l" return AARP; YY_BREAK case 24: YY_RULE_SETUP -#line 300 "scanner.l" +#line 278 "scanner.l" return DECNET; YY_BREAK case 25: YY_RULE_SETUP -#line 301 "scanner.l" +#line 279 "scanner.l" return LAT; YY_BREAK case 26: YY_RULE_SETUP -#line 302 "scanner.l" +#line 280 "scanner.l" return SCA; YY_BREAK case 27: YY_RULE_SETUP -#line 303 "scanner.l" +#line 281 "scanner.l" return MOPRC; YY_BREAK case 28: YY_RULE_SETUP -#line 304 "scanner.l" +#line 282 "scanner.l" return MOPDL; YY_BREAK case 29: YY_RULE_SETUP -#line 306 "scanner.l" +#line 284 "scanner.l" return ISO; YY_BREAK case 30: YY_RULE_SETUP -#line 307 "scanner.l" +#line 285 "scanner.l" return ESIS; YY_BREAK case 31: YY_RULE_SETUP -#line 308 "scanner.l" +#line 286 "scanner.l" return ESIS; YY_BREAK case 32: YY_RULE_SETUP -#line 309 "scanner.l" +#line 287 "scanner.l" return ISIS; YY_BREAK case 33: YY_RULE_SETUP -#line 310 "scanner.l" +#line 288 "scanner.l" return ISIS; YY_BREAK case 34: YY_RULE_SETUP -#line 311 "scanner.l" +#line 289 "scanner.l" return L1; YY_BREAK case 35: YY_RULE_SETUP -#line 312 "scanner.l" +#line 290 "scanner.l" return L2; YY_BREAK case 36: YY_RULE_SETUP -#line 313 "scanner.l" +#line 291 "scanner.l" return IIH; YY_BREAK case 37: YY_RULE_SETUP -#line 314 "scanner.l" +#line 292 "scanner.l" return LSP; YY_BREAK case 38: YY_RULE_SETUP -#line 315 "scanner.l" +#line 293 "scanner.l" return SNP; YY_BREAK case 39: YY_RULE_SETUP -#line 316 "scanner.l" +#line 294 "scanner.l" return CSNP; YY_BREAK case 40: YY_RULE_SETUP -#line 317 "scanner.l" +#line 295 "scanner.l" return PSNP; YY_BREAK case 41: YY_RULE_SETUP -#line 319 "scanner.l" +#line 297 "scanner.l" return CLNP; YY_BREAK case 42: YY_RULE_SETUP -#line 321 "scanner.l" +#line 299 "scanner.l" return STP; YY_BREAK case 43: YY_RULE_SETUP -#line 323 "scanner.l" +#line 301 "scanner.l" return IPX; YY_BREAK case 44: YY_RULE_SETUP -#line 325 "scanner.l" +#line 303 "scanner.l" return NETBEUI; YY_BREAK case 45: YY_RULE_SETUP -#line 327 "scanner.l" +#line 305 "scanner.l" return HOST; YY_BREAK case 46: YY_RULE_SETUP -#line 328 "scanner.l" +#line 306 "scanner.l" return NET; YY_BREAK case 47: YY_RULE_SETUP -#line 329 "scanner.l" +#line 307 "scanner.l" return NETMASK; YY_BREAK case 48: YY_RULE_SETUP -#line 330 "scanner.l" +#line 308 "scanner.l" return PORT; YY_BREAK case 49: YY_RULE_SETUP -#line 331 "scanner.l" +#line 309 "scanner.l" return PORTRANGE; YY_BREAK case 50: YY_RULE_SETUP -#line 332 "scanner.l" +#line 310 "scanner.l" return PROTO; YY_BREAK case 51: YY_RULE_SETUP -#line 333 "scanner.l" +#line 311 "scanner.l" return PROTOCHAIN; YY_BREAK case 52: YY_RULE_SETUP -#line 335 "scanner.l" +#line 313 "scanner.l" return GATEWAY; YY_BREAK case 53: YY_RULE_SETUP -#line 337 "scanner.l" +#line 315 "scanner.l" return TYPE; YY_BREAK case 54: YY_RULE_SETUP -#line 338 "scanner.l" +#line 316 "scanner.l" return SUBTYPE; YY_BREAK case 55: YY_RULE_SETUP -#line 339 "scanner.l" +#line 317 "scanner.l" return DIR; YY_BREAK case 56: YY_RULE_SETUP -#line 340 "scanner.l" +#line 318 "scanner.l" return ADDR1; YY_BREAK case 57: YY_RULE_SETUP -#line 341 "scanner.l" +#line 319 "scanner.l" return ADDR2; YY_BREAK case 58: YY_RULE_SETUP -#line 342 "scanner.l" +#line 320 "scanner.l" return ADDR3; YY_BREAK case 59: YY_RULE_SETUP -#line 343 "scanner.l" +#line 321 "scanner.l" return ADDR4; YY_BREAK case 60: YY_RULE_SETUP -#line 344 "scanner.l" +#line 322 "scanner.l" return RA; YY_BREAK case 61: YY_RULE_SETUP -#line 345 "scanner.l" +#line 323 "scanner.l" return TA; YY_BREAK case 62: YY_RULE_SETUP -#line 347 "scanner.l" +#line 325 "scanner.l" return LESS; YY_BREAK case 63: YY_RULE_SETUP -#line 348 "scanner.l" +#line 326 "scanner.l" return GREATER; YY_BREAK case 64: YY_RULE_SETUP -#line 349 "scanner.l" +#line 327 "scanner.l" return CBYTE; YY_BREAK case 65: YY_RULE_SETUP -#line 350 "scanner.l" +#line 328 "scanner.l" return TK_BROADCAST; YY_BREAK case 66: YY_RULE_SETUP -#line 351 "scanner.l" +#line 329 "scanner.l" return TK_MULTICAST; YY_BREAK case 67: YY_RULE_SETUP -#line 353 "scanner.l" +#line 331 "scanner.l" return AND; YY_BREAK case 68: YY_RULE_SETUP -#line 354 "scanner.l" +#line 332 "scanner.l" return OR; YY_BREAK case 69: YY_RULE_SETUP -#line 355 "scanner.l" +#line 333 "scanner.l" return '!'; YY_BREAK case 70: YY_RULE_SETUP -#line 357 "scanner.l" +#line 335 "scanner.l" return LEN; YY_BREAK case 71: YY_RULE_SETUP -#line 358 "scanner.l" +#line 336 "scanner.l" return INBOUND; YY_BREAK case 72: YY_RULE_SETUP -#line 359 "scanner.l" +#line 337 "scanner.l" return OUTBOUND; YY_BREAK case 73: YY_RULE_SETUP -#line 361 "scanner.l" +#line 339 "scanner.l" return IFINDEX; YY_BREAK case 74: YY_RULE_SETUP -#line 363 "scanner.l" +#line 341 "scanner.l" return VLAN; YY_BREAK case 75: YY_RULE_SETUP -#line 364 "scanner.l" +#line 342 "scanner.l" return MPLS; YY_BREAK case 76: YY_RULE_SETUP -#line 365 "scanner.l" +#line 343 "scanner.l" return PPPOED; YY_BREAK case 77: YY_RULE_SETUP -#line 366 "scanner.l" +#line 344 "scanner.l" return PPPOES; YY_BREAK case 78: YY_RULE_SETUP -#line 367 "scanner.l" +#line 345 "scanner.l" return GENEVE; YY_BREAK case 79: YY_RULE_SETUP -#line 369 "scanner.l" +#line 347 "scanner.l" return LANE; YY_BREAK case 80: YY_RULE_SETUP -#line 370 "scanner.l" +#line 348 "scanner.l" return LLC; YY_BREAK case 81: YY_RULE_SETUP -#line 371 "scanner.l" +#line 349 "scanner.l" return METAC; YY_BREAK case 82: YY_RULE_SETUP -#line 372 "scanner.l" +#line 350 "scanner.l" return BCC; YY_BREAK case 83: YY_RULE_SETUP -#line 373 "scanner.l" +#line 351 "scanner.l" return OAM; YY_BREAK case 84: YY_RULE_SETUP -#line 374 "scanner.l" +#line 352 "scanner.l" return OAMF4; YY_BREAK case 85: YY_RULE_SETUP -#line 375 "scanner.l" +#line 353 "scanner.l" return OAMF4EC; YY_BREAK case 86: YY_RULE_SETUP -#line 376 "scanner.l" +#line 354 "scanner.l" return OAMF4SC; YY_BREAK case 87: YY_RULE_SETUP -#line 377 "scanner.l" +#line 355 "scanner.l" return SC; YY_BREAK case 88: YY_RULE_SETUP -#line 378 "scanner.l" +#line 356 "scanner.l" return ILMIC; YY_BREAK case 89: YY_RULE_SETUP -#line 379 "scanner.l" +#line 357 "scanner.l" return VPI; YY_BREAK case 90: YY_RULE_SETUP -#line 380 "scanner.l" +#line 358 "scanner.l" return VCI; YY_BREAK case 91: YY_RULE_SETUP -#line 381 "scanner.l" +#line 359 "scanner.l" return CONNECTMSG; YY_BREAK case 92: YY_RULE_SETUP -#line 382 "scanner.l" +#line 360 "scanner.l" return METACONNECT; YY_BREAK case 93: YY_RULE_SETUP -#line 384 "scanner.l" +#line 362 "scanner.l" return PF_IFNAME; YY_BREAK case 94: YY_RULE_SETUP -#line 385 "scanner.l" +#line 363 "scanner.l" return PF_RSET; YY_BREAK case 95: YY_RULE_SETUP -#line 386 "scanner.l" +#line 364 "scanner.l" return PF_RNR; YY_BREAK case 96: YY_RULE_SETUP -#line 387 "scanner.l" +#line 365 "scanner.l" return PF_SRNR; YY_BREAK case 97: YY_RULE_SETUP -#line 388 "scanner.l" +#line 366 "scanner.l" return PF_REASON; YY_BREAK case 98: YY_RULE_SETUP -#line 389 "scanner.l" +#line 367 "scanner.l" return PF_ACTION; YY_BREAK case 99: YY_RULE_SETUP -#line 391 "scanner.l" +#line 369 "scanner.l" return FISU; YY_BREAK case 100: YY_RULE_SETUP -#line 392 "scanner.l" +#line 370 "scanner.l" return LSSU; YY_BREAK case 101: YY_RULE_SETUP -#line 393 "scanner.l" +#line 371 "scanner.l" return LSSU; YY_BREAK case 102: YY_RULE_SETUP -#line 394 "scanner.l" +#line 372 "scanner.l" return MSU; YY_BREAK case 103: YY_RULE_SETUP -#line 395 "scanner.l" +#line 373 "scanner.l" return HFISU; YY_BREAK case 104: YY_RULE_SETUP -#line 396 "scanner.l" +#line 374 "scanner.l" return HLSSU; YY_BREAK case 105: YY_RULE_SETUP -#line 397 "scanner.l" +#line 375 "scanner.l" return HMSU; YY_BREAK case 106: YY_RULE_SETUP -#line 398 "scanner.l" +#line 376 "scanner.l" return SIO; YY_BREAK case 107: YY_RULE_SETUP -#line 399 "scanner.l" +#line 377 "scanner.l" return OPC; YY_BREAK case 108: YY_RULE_SETUP -#line 400 "scanner.l" +#line 378 "scanner.l" return DPC; YY_BREAK case 109: YY_RULE_SETUP -#line 401 "scanner.l" +#line 379 "scanner.l" return SLS; YY_BREAK case 110: YY_RULE_SETUP -#line 402 "scanner.l" +#line 380 "scanner.l" return HSIO; YY_BREAK case 111: YY_RULE_SETUP -#line 403 "scanner.l" +#line 381 "scanner.l" return HOPC; YY_BREAK case 112: YY_RULE_SETUP -#line 404 "scanner.l" +#line 382 "scanner.l" return HDPC; YY_BREAK case 113: YY_RULE_SETUP -#line 405 "scanner.l" +#line 383 "scanner.l" return HSLS; YY_BREAK case 114: /* rule 114 can match eol */ YY_RULE_SETUP -#line 407 "scanner.l" +#line 385 "scanner.l" ; YY_BREAK case 115: YY_RULE_SETUP -#line 408 "scanner.l" +#line 386 "scanner.l" return yytext[0]; YY_BREAK case 116: YY_RULE_SETUP -#line 409 "scanner.l" +#line 387 "scanner.l" return GEQ; YY_BREAK case 117: YY_RULE_SETUP -#line 410 "scanner.l" +#line 388 "scanner.l" return LEQ; YY_BREAK case 118: YY_RULE_SETUP -#line 411 "scanner.l" +#line 389 "scanner.l" return NEQ; YY_BREAK case 119: YY_RULE_SETUP -#line 412 "scanner.l" +#line 390 "scanner.l" return '='; YY_BREAK case 120: YY_RULE_SETUP -#line 413 "scanner.l" +#line 391 "scanner.l" return LSH; YY_BREAK case 121: YY_RULE_SETUP -#line 414 "scanner.l" +#line 392 "scanner.l" return RSH; YY_BREAK case 122: YY_RULE_SETUP -#line 415 "scanner.l" +#line 393 "scanner.l" { yylval->s = sdup(yyextra, yytext); return AID; } YY_BREAK case 123: YY_RULE_SETUP -#line 416 "scanner.l" +#line 394 "scanner.l" { yylval->s = sdup(yyextra, yytext); return EID; } YY_BREAK case 124: YY_RULE_SETUP -#line 417 "scanner.l" +#line 395 "scanner.l" { return stou(yytext, yylval, yyextra); } YY_BREAK case 125: YY_RULE_SETUP -#line 418 "scanner.l" +#line 396 "scanner.l" { yylval->s = sdup(yyextra, (char *)yytext); return HID; } YY_BREAK case 126: YY_RULE_SETUP -#line 420 "scanner.l" +#line 398 "scanner.l" { #ifdef INET6 struct addrinfo hints, *res; @@ -3982,316 +3960,316 @@ YY_RULE_SETUP YY_BREAK case 127: YY_RULE_SETUP -#line 439 "scanner.l" +#line 417 "scanner.l" { bpf_set_error(yyextra, "bogus ethernet address %s", yytext); yylval->s = NULL; return EID; } YY_BREAK case 128: YY_RULE_SETUP -#line 440 "scanner.l" +#line 418 "scanner.l" { yylval->h = 0; return NUM; } YY_BREAK case 129: YY_RULE_SETUP -#line 441 "scanner.l" +#line 419 "scanner.l" { yylval->h = 1; return NUM; } YY_BREAK case 130: YY_RULE_SETUP -#line 442 "scanner.l" +#line 420 "scanner.l" { yylval->h = 0; return NUM; } YY_BREAK case 131: YY_RULE_SETUP -#line 443 "scanner.l" +#line 421 "scanner.l" { yylval->h = 3; return NUM; } YY_BREAK case 132: YY_RULE_SETUP -#line 444 "scanner.l" +#line 422 "scanner.l" { yylval->h = 4; return NUM; } YY_BREAK case 133: YY_RULE_SETUP -#line 445 "scanner.l" +#line 423 "scanner.l" { yylval->h = 5; return NUM; } YY_BREAK case 134: YY_RULE_SETUP -#line 446 "scanner.l" +#line 424 "scanner.l" { yylval->h = 8; return NUM; } YY_BREAK case 135: YY_RULE_SETUP -#line 447 "scanner.l" +#line 425 "scanner.l" { yylval->h = 9; return NUM; } YY_BREAK case 136: YY_RULE_SETUP -#line 448 "scanner.l" +#line 426 "scanner.l" { yylval->h = 10; return NUM; } YY_BREAK case 137: YY_RULE_SETUP -#line 449 "scanner.l" +#line 427 "scanner.l" { yylval->h = 11; return NUM; } YY_BREAK case 138: YY_RULE_SETUP -#line 450 "scanner.l" +#line 428 "scanner.l" { yylval->h = 12; return NUM; } YY_BREAK case 139: YY_RULE_SETUP -#line 451 "scanner.l" +#line 429 "scanner.l" { yylval->h = 13; return NUM; } YY_BREAK case 140: YY_RULE_SETUP -#line 452 "scanner.l" +#line 430 "scanner.l" { yylval->h = 14; return NUM; } YY_BREAK case 141: YY_RULE_SETUP -#line 453 "scanner.l" +#line 431 "scanner.l" { yylval->h = 15; return NUM; } YY_BREAK case 142: YY_RULE_SETUP -#line 454 "scanner.l" +#line 432 "scanner.l" { yylval->h = 16; return NUM; } YY_BREAK case 143: YY_RULE_SETUP -#line 455 "scanner.l" +#line 433 "scanner.l" { yylval->h = 17; return NUM; } YY_BREAK case 144: YY_RULE_SETUP -#line 456 "scanner.l" +#line 434 "scanner.l" { yylval->h = 18; return NUM; } YY_BREAK case 145: YY_RULE_SETUP -#line 458 "scanner.l" +#line 436 "scanner.l" { yylval->h = 0; return NUM; } YY_BREAK case 146: YY_RULE_SETUP -#line 459 "scanner.l" +#line 437 "scanner.l" { yylval->h = 1; return NUM; } YY_BREAK case 147: YY_RULE_SETUP -#line 461 "scanner.l" +#line 439 "scanner.l" { yylval->h = 1; return NUM; } YY_BREAK case 148: YY_RULE_SETUP -#line 462 "scanner.l" +#line 440 "scanner.l" { yylval->h = 2; return NUM; } YY_BREAK case 149: YY_RULE_SETUP -#line 463 "scanner.l" +#line 441 "scanner.l" { yylval->h = 3; return NUM; } YY_BREAK case 150: YY_RULE_SETUP -#line 464 "scanner.l" +#line 442 "scanner.l" { yylval->h = 4; return NUM; } YY_BREAK case 151: YY_RULE_SETUP -#line 465 "scanner.l" +#line 443 "scanner.l" { yylval->h = 128; return NUM; } YY_BREAK case 152: YY_RULE_SETUP -#line 466 "scanner.l" +#line 444 "scanner.l" { yylval->h = 129; return NUM; } YY_BREAK case 153: YY_RULE_SETUP -#line 467 "scanner.l" +#line 445 "scanner.l" { yylval->h = 130; return NUM; } YY_BREAK case 154: YY_RULE_SETUP -#line 468 "scanner.l" +#line 446 "scanner.l" { yylval->h = 131; return NUM; } YY_BREAK case 155: YY_RULE_SETUP -#line 469 "scanner.l" +#line 447 "scanner.l" { yylval->h = 132; return NUM; } YY_BREAK case 156: YY_RULE_SETUP -#line 470 "scanner.l" +#line 448 "scanner.l" { yylval->h = 133; return NUM; } YY_BREAK case 157: YY_RULE_SETUP -#line 471 "scanner.l" +#line 449 "scanner.l" { yylval->h = 134; return NUM; } YY_BREAK case 158: YY_RULE_SETUP -#line 472 "scanner.l" +#line 450 "scanner.l" { yylval->h = 135; return NUM; } YY_BREAK case 159: YY_RULE_SETUP -#line 473 "scanner.l" +#line 451 "scanner.l" { yylval->h = 136; return NUM; } YY_BREAK case 160: YY_RULE_SETUP -#line 474 "scanner.l" +#line 452 "scanner.l" { yylval->h = 137; return NUM; } YY_BREAK case 161: YY_RULE_SETUP -#line 475 "scanner.l" +#line 453 "scanner.l" { yylval->h = 138; return NUM; } YY_BREAK case 162: YY_RULE_SETUP -#line 476 "scanner.l" +#line 454 "scanner.l" { yylval->h = 139; return NUM; } YY_BREAK case 163: YY_RULE_SETUP -#line 477 "scanner.l" +#line 455 "scanner.l" { yylval->h = 140; return NUM; } YY_BREAK case 164: YY_RULE_SETUP -#line 478 "scanner.l" +#line 456 "scanner.l" { yylval->h = 141; return NUM; } YY_BREAK case 165: YY_RULE_SETUP -#line 479 "scanner.l" +#line 457 "scanner.l" { yylval->h = 142; return NUM; } YY_BREAK case 166: YY_RULE_SETUP -#line 480 "scanner.l" +#line 458 "scanner.l" { yylval->h = 143; return NUM; } YY_BREAK case 167: YY_RULE_SETUP -#line 481 "scanner.l" +#line 459 "scanner.l" { yylval->h = 144; return NUM; } YY_BREAK case 168: YY_RULE_SETUP -#line 482 "scanner.l" +#line 460 "scanner.l" { yylval->h = 145; return NUM; } YY_BREAK case 169: YY_RULE_SETUP -#line 483 "scanner.l" +#line 461 "scanner.l" { yylval->h = 146; return NUM; } YY_BREAK case 170: YY_RULE_SETUP -#line 484 "scanner.l" +#line 462 "scanner.l" { yylval->h = 147; return NUM; } YY_BREAK case 171: YY_RULE_SETUP -#line 485 "scanner.l" +#line 463 "scanner.l" { yylval->h = 148; return NUM; } YY_BREAK case 172: YY_RULE_SETUP -#line 486 "scanner.l" +#line 464 "scanner.l" { yylval->h = 149; return NUM; } YY_BREAK case 173: YY_RULE_SETUP -#line 487 "scanner.l" +#line 465 "scanner.l" { yylval->h = 151; return NUM; } YY_BREAK case 174: YY_RULE_SETUP -#line 488 "scanner.l" +#line 466 "scanner.l" { yylval->h = 152; return NUM; } YY_BREAK case 175: YY_RULE_SETUP -#line 489 "scanner.l" +#line 467 "scanner.l" { yylval->h = 153; return NUM; } YY_BREAK case 176: YY_RULE_SETUP -#line 491 "scanner.l" +#line 469 "scanner.l" { yylval->h = 13; return NUM; } YY_BREAK case 177: YY_RULE_SETUP -#line 492 "scanner.l" +#line 470 "scanner.l" { yylval->h = 0x01; return NUM; } YY_BREAK case 178: YY_RULE_SETUP -#line 493 "scanner.l" +#line 471 "scanner.l" { yylval->h = 0x02; return NUM; } YY_BREAK case 179: YY_RULE_SETUP -#line 494 "scanner.l" +#line 472 "scanner.l" { yylval->h = 0x04; return NUM; } YY_BREAK case 180: YY_RULE_SETUP -#line 495 "scanner.l" +#line 473 "scanner.l" { yylval->h = 0x08; return NUM; } YY_BREAK case 181: YY_RULE_SETUP -#line 496 "scanner.l" +#line 474 "scanner.l" { yylval->h = 0x10; return NUM; } YY_BREAK case 182: YY_RULE_SETUP -#line 497 "scanner.l" +#line 475 "scanner.l" { yylval->h = 0x20; return NUM; } YY_BREAK case 183: YY_RULE_SETUP -#line 498 "scanner.l" +#line 476 "scanner.l" { yylval->h = 0x40; return NUM; } YY_BREAK case 184: YY_RULE_SETUP -#line 499 "scanner.l" +#line 477 "scanner.l" { yylval->h = 0x80; return NUM; } YY_BREAK case 185: YY_RULE_SETUP -#line 500 "scanner.l" +#line 478 "scanner.l" { yylval->s = sdup(yyextra, (char *)yytext); return ID; } YY_BREAK case 186: YY_RULE_SETUP -#line 502 "scanner.l" +#line 480 "scanner.l" { yylval->s = sdup(yyextra, (char *)yytext + 1); return ID; } YY_BREAK case 187: YY_RULE_SETUP -#line 503 "scanner.l" +#line 481 "scanner.l" { return LEX_ERROR; } YY_BREAK case 188: YY_RULE_SETUP -#line 504 "scanner.l" +#line 482 "scanner.l" ECHO; YY_BREAK -#line 4295 "scanner.c" +#line 4273 "scanner.c" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -5435,7 +5413,7 @@ void pcap_free (void * ptr , yyscan_t yyscanner) #define YYTABLES_NAME "yytables" -#line 504 "scanner.l" +#line 482 "scanner.l" diff --git a/libpcap/scanner.h b/libpcap/scanner.h index c8b0ea53c..4435145ba 100644 --- a/libpcap/scanner.h +++ b/libpcap/scanner.h @@ -400,7 +400,7 @@ extern int pcap_lex \ #undef YY_DECL #endif -#line 504 "scanner.l" +#line 482 "scanner.l" #line 407 "scanner.h" diff --git a/libpcap/scanner.l b/libpcap/scanner.l index 82e7b318d..577794970 100644 --- a/libpcap/scanner.l +++ b/libpcap/scanner.l @@ -126,28 +126,6 @@ void pcap_set_column(int, yyscan_t); #ifdef _WIN32 #include #include -/* - * To quote the MSDN page for getaddrinfo() at - * - * https://msdn.microsoft.com/en-us/library/windows/desktop/ms738520(v=vs.85).aspx - * - * "Support for getaddrinfo on Windows 2000 and older versions - * The getaddrinfo function was added to the Ws2_32.dll on Windows XP and - * later. To execute an application that uses this function on earlier - * versions of Windows, then you need to include the Ws2tcpip.h and - * Wspiapi.h files. When the Wspiapi.h include file is added, the - * getaddrinfo function is defined to the WspiapiGetAddrInfo inline - * function in the Wspiapi.h file. At runtime, the WspiapiGetAddrInfo - * function is implemented in such a way that if the Ws2_32.dll or the - * Wship6.dll (the file containing getaddrinfo in the IPv6 Technology - * Preview for Windows 2000) does not include getaddrinfo, then a - * version of getaddrinfo is implemented inline based on code in the - * Wspiapi.h header file. This inline code will be used on older Windows - * platforms that do not natively support the getaddrinfo function." - * - * We use getaddrinfo(), so we include Wspiapi.h here. - */ -#include #else /* _WIN32 */ #include /* for "struct sockaddr" in "struct addrinfo" */ #include /* for "struct addrinfo" */ diff --git a/libpcap/sf-pcap.c b/libpcap/sf-pcap.c index 659480b44..fd6c6a45f 100644 --- a/libpcap/sf-pcap.c +++ b/libpcap/sf-pcap.c @@ -108,7 +108,7 @@ * read on systems with the same tv_sec size as the system on which * the file was written. * - * THe fields are unsigned, as that's what the pcap draft specification + * The fields are unsigned, as that's what the pcap draft specification * says they are. (That gives pcap a 68-year Y2.038K reprieve, although * in 2106 it runs out for good. pcapng doesn't have that problem, * unless you pick a *really* high time stamp precision.) @@ -1224,7 +1224,7 @@ pcap_dump_ftell64(pcap_dumper_t *p) } #elif defined(_MSC_VER) /* - * We have Visual Studio; we support only 2005 and later, so we have + * We have Visual Studio; we support only 2015 and later, so we have * _ftelli64(). */ int64_t @@ -1262,11 +1262,16 @@ pcap_dump_flush(pcap_dumper_t *p) void pcap_dump_close(pcap_dumper_t *p) { + FILE *fp = (FILE *)p; #ifdef notyet - if (ferror((FILE *)p)) + if (ferror(fp)) return-an-error; - /* XXX should check return from fclose() too */ + /* XXX should check return from fflush()/fclose() too */ #endif - (void)fclose((FILE *)p); + /* Don't close the standard output, but *do* flush it */ + if (fp == stdout) + (void)fflush(fp); + else + (void)fclose(fp); } diff --git a/libpcre/AUTHORS.md b/libpcre/AUTHORS.md index 708fc2325..ced81e68a 100644 --- a/libpcre/AUTHORS.md +++ b/libpcre/AUTHORS.md @@ -1,14 +1,14 @@ PCRE2 Authorship and Contributors ================================= -COPYRIGHT +Copyright --------- Please see the file [LICENCE](./LICENCE.md) in the PCRE2 distribution for copyright details. -MAINTAINERS +Maintainers ----------- The PCRE and PCRE2 libraries were authored and maintained by Philip Hazel. @@ -62,7 +62,7 @@ Both administrators are volunteers acting in a personal capacity. -CONTRIBUTORS +Contributors ------------ Many others have participated and contributed to PCRE2 over its history. @@ -77,7 +77,7 @@ All names listed alphabetically. ### Contributors to PCRE2 -This list includes names up until the PCRE2 10.44 release. New names will be +This list includes names up until the PCRE2 10.47 release. New names will be added from the Git history on each release. Scott Bell @@ -93,13 +93,16 @@ added from the Git history on each release. Addison Crump Alex Dowad Daniel Engberg + Marco Feuerstein Daniel Richard G + Isaac Oscar Gariano David Gaussmann Andrey Gorbachev Jordan Griege Jason Hood Bumsu Hyeon Roy Ivy + Nobuhiro Iwamatsu Martin Joerg Guillem Jover Ralf Junker @@ -114,13 +117,17 @@ added from the Git history on each release. Kai Lu Behzod Mansurov B. Scott Michel + Greg Minshall Nathan Moinvaziri Mike Munday Marc Mutz Fabio Pagani Christian Persch + Alex Reinking + Joshua Rogers Tristan Ross William A Rowe Jr + Rocco Ruscitti David Seifert Yaakov Selkowitz Rich Siegel @@ -131,6 +138,7 @@ added from the Git history on each release. Greg Thain Lucas Trzesniewski Theodore Tsirpanis + Aaron M. Ucko Matthew Vernon Rémi Verschelde Thomas Voss diff --git a/libpcre/BUILD.bazel b/libpcre/BUILD.bazel index c975eadd7..ec1b0b9b8 100644 --- a/libpcre/BUILD.bazel +++ b/libpcre/BUILD.bazel @@ -20,15 +20,51 @@ copy_file( out = "src/pcre2_chartables.c", ) -# Removed src/pcre2_ucptables.c below because it is #included in -# src/pcre2_tables.c. Also fixed typo: ckdint should be chkdint. -# PH, 22-March-2023. +LOCAL_DEFINES = [ + "HAVE_CONFIG_H", + "SUPPORT_PCRE2_8", + "SUPPORT_UNICODE", +] + select({ + "@platforms//os:windows": [], + "//conditions:default": ["HAVE_UNISTD_H"], +}) + +# Workaround for a Bazel quirk. It is extremely strict about the #include path +# used for internal headers. We have our headers inside src/, but we #include +# them as '#include "pcre2_internal.h"', assuming that src/ is added to the +# compiler's include path. Unfortunately, that violates the conventions used by +# Bazel. +# +# This is a workaround. Note that we can't use the "include = [...]" property +# to add the src/ directory, since that pollutes the include path for projects +# depending on PCRE2 (we must not make our config.h file visible to consumers +# of PCRE2). +cc_library( + name = "pcre2_internal_headers", + hdrs = [ + "src/pcre2_compile.h", + "src/pcre2_internal.h", + "src/pcre2_intmodedep.h", + "src/pcre2_jit_match_inc.h", + "src/pcre2_jit_misc_inc.h", + "src/pcre2_printint_inc.h", + "src/pcre2_ucp.h", + "src/pcre2_ucptables_inc.h", + "src/pcre2_util.h", + "src/pcre2test_inc.h", + ":config_h_generic", + ], + strip_include_prefix = "src", + visibility = ["//visibility:private"], +) + cc_library( name = "pcre2", srcs = [ "src/pcre2_auto_possess.c", "src/pcre2_chkdint.c", "src/pcre2_compile.c", + "src/pcre2_compile_cgroup.c", "src/pcre2_compile_class.c", "src/pcre2_config.c", "src/pcre2_context.c", @@ -41,6 +77,7 @@ cc_library( "src/pcre2_maketables.c", "src/pcre2_match.c", "src/pcre2_match_data.c", + "src/pcre2_match_next.c", "src/pcre2_newline.c", "src/pcre2_ord2utf.c", "src/pcre2_pattern_info.c", @@ -55,53 +92,49 @@ cc_library( "src/pcre2_valid_utf.c", "src/pcre2_xclass.c", ":pcre2_chartables_c", - "src/pcre2_compile.h", - "src/pcre2_internal.h", - "src/pcre2_intmodedep.h", - "src/pcre2_ucp.h", - "src/pcre2_util.h", - ":config_h_generic", ], - textual_hdrs = [ - "src/pcre2_jit_match.c", - "src/pcre2_jit_misc.c", - "src/pcre2_ucptables.c", - ], - hdrs = [ - ":pcre2_h_generic", - ], - local_defines = [ - "HAVE_CONFIG_H", - "HAVE_MEMMOVE", - "PCRE2_CODE_UNIT_WIDTH=8", + hdrs = [":pcre2_h_generic"], + implementation_deps = [":pcre2_internal_headers"], + defines = [ "PCRE2_STATIC", - "SUPPORT_UNICODE", ], - includes = ["src"], + local_defines = LOCAL_DEFINES + [ + "PCRE2_CODE_UNIT_WIDTH=8", + ], strip_include_prefix = "src", + linkstatic = True, visibility = ["//visibility:public"], ) +# See below for explanation of why we need this. +# +# https://github.com/bazelbuild/bazel/issues/680 +cc_library( + name = "pcre2posix_dotc_headers", + hdrs = [ + "src/pcre2_tables.c", + ], + strip_include_prefix = "src", + visibility = ["//visibility:private"], +) + cc_library( name = "pcre2-posix", - srcs = [ - "src/pcre2posix.c", - ":config_h_generic", + srcs = ["src/pcre2posix.c"], + hdrs = ["src/pcre2posix.h"], + implementation_deps = [ + ":pcre2_internal_headers", + ":pcre2posix_dotc_headers", ], - hdrs = [ - "src/pcre2posix.h", - ], - local_defines = [ - "HAVE_CONFIG_H", - "HAVE_MEMMOVE", + local_defines = LOCAL_DEFINES + [ "PCRE2_CODE_UNIT_WIDTH=8", - "PCRE2_STATIC", - "SUPPORT_UNICODE", ], - includes = ["src"], strip_include_prefix = "src", + linkstatic = True, visibility = ["//visibility:public"], - deps = [":pcre2"], + deps = [ + ":pcre2", + ], ) # Totally weird issue in Bazel. It won't let you #include any files unless they @@ -118,7 +151,6 @@ cc_library( name = "pcre2test_dotc_headers", hdrs = [ "src/pcre2_chkdint.c", - "src/pcre2_printint.c", "src/pcre2_tables.c", "src/pcre2_ucd.c", "src/pcre2_valid_utf.c", @@ -129,27 +161,19 @@ cc_library( cc_binary( name = "pcre2test", - srcs = [ - "src/pcre2test.c", - ":config_h_generic", - ], - local_defines = [ - "HAVE_CONFIG_H", - "HAVE_MEMMOVE", - "HAVE_STRERROR", - "PCRE2_STATIC", - "SUPPORT_UNICODE", - "SUPPORT_PCRE2_8", - ] + select({ - "@platforms//os:windows": [], - "//conditions:default": ["HAVE_UNISTD_H"], - }), + srcs = ["src/pcre2test.c"], linkopts = select({ "@platforms//os:windows": ["-STACK:2500000"], "//conditions:default": [], }), + local_defines = LOCAL_DEFINES, visibility = ["//visibility:public"], - deps = [":pcre2test_dotc_headers", ":pcre2", ":pcre2-posix"], + deps = [ + ":pcre2", + ":pcre2-posix", + ":pcre2_internal_headers", + ":pcre2test_dotc_headers", + ], ) filegroup( @@ -159,6 +183,7 @@ filegroup( native_test( name = "pcre2_test", + size = "small", src = select({ "@platforms//os:windows": "RunTest.bat", "//conditions:default": "RunTest", @@ -167,6 +192,8 @@ native_test( "@platforms//os:windows": "RunTest.bat", "//conditions:default": "RunTest", }), - data = [":pcre2test", ":testdata"], - size = "small", -) \ No newline at end of file + data = [ + ":pcre2test", + ":testdata", + ], +) diff --git a/libpcre/CMakeLists.txt b/libpcre/CMakeLists.txt index 11e4e86b0..d31ac6b4e 100644 --- a/libpcre/CMakeLists.txt +++ b/libpcre/CMakeLists.txt @@ -102,41 +102,50 @@ # 2022-12-10 PH added support for pcre2posix_test # 2023-01-15 Carlo added C99 as the minimum required # 2023-08-06 PH added support for setting variable length lookbehind maximum +# 2025-03-27 Theodore used standard CMake constructs to export the library's +# targets. ################################################################################ # We have used `gersemi` for auto-formatting our CMake files. # Applied to all CMake files using: # > pip3 install gersemi # > gersemi --in-place --line-length 120 --indent 2 \ -# ./CMakeLists.txt ./cmake/*.cmake ./cmake/*.cmake.in +# --definitions cmake/*.cmake \ +# -- ./CMakeLists.txt ./cmake/*.cmake ./cmake/*.cmake.in ################################################################################ +message(STATUS "Using CMake version ${CMAKE_VERSION} (${CMAKE_COMMAND})") + # Increased minimum to 3.15 to allow use of string(REPEAT). cmake_minimum_required(VERSION 3.15 FATAL_ERROR) project(PCRE2 C) set(CMAKE_C_STANDARD 99) set(CMAKE_C_STANDARD_REQUIRED TRUE) - set(CMAKE_C_VISIBILITY_PRESET hidden) -cmake_policy(SET CMP0063 NEW) -# Set policy CMP0026 to avoid warnings for the use of LOCATION in -# GET_TARGET_PROPERTY. This should no longer be required. -# CMAKE_POLICY(SET CMP0026 OLD) +# Solaris-specific fix for "CMAKE_C_VISIBILITY_PRESET": this feature was only +# recently added to CMake for the `cc` compiler (Oracle Developer Studio). The +# CMake version from OpenCSW and Oracle's package repository is too old and +# requires this fix. +if( + CMAKE_SYSTEM_NAME STREQUAL "SunOS" + AND CMAKE_VERSION VERSION_LESS 3.31 + AND CMAKE_C_COMPILER_ID STREQUAL "SunPro" + AND CMAKE_C_COMPILER_VERSION VERSION_GREATER_EQUAL 5.15 +) + set(CMAKE_C_COMPILE_OPTIONS_VISIBILITY "-fvisibility=") +endif() -# With a recent cmake, you can provide a rootdir to look for non -# standard installed library dependencies, but to do so, the policy -# needs to be set to new (by uncommenting the following) -# CMAKE_POLICY(SET CMP0074 NEW) - -# For FindReadline.cmake. This was changed to allow setting CMAKE_MODULE_PATH -# on the command line. -# SET(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) +# The following policies have been set in the PCRE2 CMake file in the past. +# Since we specify a minimum of CMake 3.15, these are no longer required. +# cmake_policy(SET CMP0063 NEW) +# cmake_policy(SET CMP0026 OLD) +# cmake_policy(SET CMP0074 NEW) +# For our modules in cmake/. This uses list(APPEND) rather than set() to allow +# setting CMAKE_MODULE_PATH on the command line. list(APPEND CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) -include_directories(${PROJECT_SOURCE_DIR}/src) - # external packages find_package(BZip2) find_package(ZLIB) @@ -148,7 +157,12 @@ include(CheckFunctionExists) include(CheckSymbolExists) include(CheckIncludeFile) include(CheckTypeSize) +include(CMakePackageConfigHelpers) +include(CMakePushCheckState) include(GNUInstallDirs) # for CMAKE_INSTALL_LIBDIR +include(PCRE2CheckVscript) +include(PCRE2UseSystemExtensions) +include(PCRE2WarningAsError) check_include_file(assert.h HAVE_ASSERT_H) check_include_file(dirent.h HAVE_DIRENT_H) @@ -157,11 +171,25 @@ check_include_file(sys/types.h HAVE_SYS_TYPES_H) check_include_file(unistd.h HAVE_UNISTD_H) check_include_file(windows.h HAVE_WINDOWS_H) -check_symbol_exists(bcopy "strings.h" HAVE_BCOPY) -check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE) -check_symbol_exists(memmove "string.h" HAVE_MEMMOVE) -check_symbol_exists(secure_getenv "stdlib.h" HAVE_SECURE_GETENV) -check_symbol_exists(strerror "string.h" HAVE_STRERROR) +# Check whether any system-wide extensions need to be enabled, in order for +# OS functionality to be exposed. +pcre2_use_system_extensions() + +cmake_push_check_state(RESET) +# Somewhat awkward code to propagate the _GNU_SOURCE definition (added to +# COMPILE_DEFINITIONS by pcre2_use_system_extensions()). +get_directory_property(_pcre2_compile_definitions COMPILE_DEFINITIONS) +if(DEFINED _pcre2_compile_definitions) + set(CMAKE_REQUIRED_DEFINITIONS "") + foreach(_def IN LISTS _pcre2_compile_definitions) + list(APPEND CMAKE_REQUIRED_DEFINITIONS "-D${_def}") + endforeach() +endif() + +check_symbol_exists(mkostemp stdlib.h HAVE_MKOSTEMP) # glibc 2.7 +check_symbol_exists(memfd_create "sys/mman.h" HAVE_MEMFD_CREATE) # glibc 2.27 +check_symbol_exists(secure_getenv "stdlib.h" HAVE_SECURE_GETENV) # glibc 2.17 +cmake_pop_check_state() check_c_source_compiles( [=[ @@ -172,26 +200,55 @@ check_c_source_compiles( HAVE_REALPATH ) -set(ORIG_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS}) -if(NOT MSVC AND NOT CMAKE_C_COMPILER_ID STREQUAL "XL") - set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -Werror") +# Many CMake tests use highly-dubious C source code which generates warnings +# (for example, calling a function with the wrong signature just to see whether +# the linker can find it). These couple of tests here though need to be compiled +# with -Werror to be effective. +cmake_push_check_state() +if(NOT DEFINED CMAKE_REQUIRED_FLAGS) + set(CMAKE_REQUIRED_FLAGS "") endif() +pcre2_warning_as_error(WARNING_AS_ERROR_FLAGS) +set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${WARNING_AS_ERROR_FLAGS}") check_c_source_compiles( "int main(void) { char buf[128] __attribute__((uninitialized)); (void)buf; return 0; }" HAVE_ATTRIBUTE_UNINITIALIZED ) -check_c_source_compiles( - [=[ - extern __attribute__ ((visibility ("default"))) int f(void); - int main(void) { return f(); } - int f(void) { return 42; } - ]=] - HAVE_VISIBILITY -) - -set(CMAKE_REQUIRED_FLAGS ${ORIG_CMAKE_REQUIRED_FLAGS}) +if(NOT MSVC) + check_c_source_compiles( + [=[ + extern __attribute__ ((visibility ("default"))) int f(void); + int main(void) { return f(); } + int f(void) { return 42; } + ]=] + HAVE_VISIBILITY + ) +endif() +if(CMAKE_C_COMPILE_OPTIONS_VISIBILITY AND NOT HAVE_VISIBILITY) + # Hmm. We don't know of any way to set a symbol to have default visibility, other + # than the common "__attribute__((visibility("default")))". But CMake thinks that + # the compiler supports CMAKE_C_VISIBILITY_PRESET. The build is likely to fail to + # generate a usable shared library. + message( + WARNING + "C compiler uses the visibility flag ${CMAKE_C_COMPILE_OPTIONS_VISIBILITY}. We did not detect support for __attribute__((visibility(\"default\"))). We do not know how to set a symbol to have default visibility." + ) +elseif(HAVE_VISIBILITY AND NOT CMAKE_C_COMPILE_OPTIONS_VISIBILITY) + # Here, the build may well work, but it's possible that CMake isn't correctly + # suppressing the visibility of private symbols. + message( + WARNING + "C compiler appears to support __attribute__((visibility(\"default\"))). However, CMake is not using a visibility flag. The visibility of private symbols may not be correct." + ) +endif() +if(HAVE_VISIBILITY) + set(PCRE2_EXPORT [=[__attribute__ ((visibility ("default")))]=]) +else() + set(PCRE2_EXPORT) +endif() +cmake_pop_check_state() check_c_source_compiles("int main(void) { __assume(1); return 0; }" HAVE_BUILTIN_ASSUME) @@ -208,11 +265,9 @@ check_c_source_compiles( HAVE_BUILTIN_UNREACHABLE ) -if(HAVE_VISIBILITY) - set(PCRE2_EXPORT [=[__attribute__ ((visibility ("default")))]=]) -else() - set(PCRE2_EXPORT) -endif() +# Detect support for linker scripts. + +pcre2_check_vscript(HAVE_VSCRIPT VSCRIPT_FLAG) # Check whether Intel CET is enabled, and if so, adjust compiler flags. This # code was written by PH, trying to imitate the logic from the autotools @@ -263,6 +318,15 @@ set( set(PCRE2_EBCDIC_NL25 OFF CACHE BOOL "Use 0x25 as EBCDIC NL character instead of 0x15; implies EBCDIC.") +set( + PCRE2_EBCDIC_IGNORING_COMPILER + OFF + CACHE BOOL + "Force EBCDIC 1047 using numeric literals rather than C character literals; implies EBCDIC." +) + +option(PCRE2_REBUILD_CHARTABLES "Rebuild char tables" OFF) + set( PCRE2_LINK_SIZE "2" @@ -317,6 +381,7 @@ set( set(PCRE2_NEWLINE "LF" CACHE STRING "What to recognize as a newline (one of CR, LF, CRLF, ANY, ANYCRLF, NUL).") set(PCRE2_HEAP_MATCH_RECURSE OFF CACHE BOOL "Obsolete option: do not use") +mark_as_advanced(PCRE2_HEAP_MATCH_RECURSE) set(PCRE2_SUPPORT_JIT OFF CACHE BOOL "Enable support for Just-in-time compiling.") @@ -332,7 +397,7 @@ set(PCRE2GREP_SUPPORT_CALLOUT ON CACHE BOOL "Enable callout string support in pc set(PCRE2GREP_SUPPORT_CALLOUT_FORK ON CACHE BOOL "Enable callout string fork support in pcre2grep.") -set(PCRE2_SUPPORT_UNICODE OFF CACHE BOOL "Enable support for Unicode and UTF-8/UTF-16/UTF-32 encoding.") +set(PCRE2_SUPPORT_UNICODE ON CACHE BOOL "Enable support for Unicode and UTF-8/UTF-16/UTF-32 encoding.") set( PCRE2_SUPPORT_BSR_ANYCRLF @@ -346,8 +411,6 @@ set(PCRE2_NEVER_BACKSLASH_C OFF CACHE BOOL "If ON, backslash-C (upper case C) is set(PCRE2_SUPPORT_VALGRIND OFF CACHE BOOL "Enable Valgrind support.") option(PCRE2_SHOW_REPORT "Show the final configuration report" ON) -option(PCRE2_BUILD_PCRE2GREP "Build pcre2grep" OFF) -option(PCRE2_BUILD_TESTS "Build the tests" OFF) set( PCRE2_INSTALL_CMAKEDIR @@ -371,55 +434,37 @@ if(MINGW) endif() if(MSVC) - option(PCRE2_STATIC_RUNTIME "ON=Compile against the static runtime (/MT)." OFF) option(INSTALL_MSVC_PDB "ON=Install .pdb files built by MSVC, if generated" OFF) endif() +if(HAVE_VSCRIPT) + option(PCRE2_SYMVERS "Enable library symbol versioning" ON) +endif() + # bzip2 lib if(BZIP2_FOUND) option(PCRE2_SUPPORT_LIBBZ2 "Enable support for linking pcre2grep with libbz2." ON) endif() -if(PCRE2_SUPPORT_LIBBZ2) - include_directories(${BZIP2_INCLUDE_DIR}) -endif() # zlib if(ZLIB_FOUND) option(PCRE2_SUPPORT_LIBZ "Enable support for linking pcre2grep with libz." ON) endif() -if(PCRE2_SUPPORT_LIBZ) - include_directories(${ZLIB_INCLUDE_DIR}) -endif() # editline lib if(EDITLINE_FOUND) option(PCRE2_SUPPORT_LIBEDIT "Enable support for linking pcre2test with libedit." OFF) endif() -if(EDITLINE_FOUND) - if(PCRE2_SUPPORT_LIBEDIT) - include_directories(${EDITLINE_INCLUDE_DIR}) - endif() -else() - if(PCRE2_SUPPORT_LIBEDIT) - message( - FATAL_ERROR - " libedit not found, set EDITLINE_INCLUDE_DIR to a compatible header\n" - " or set Editline_ROOT to a full libedit installed tree, as needed\n" - " Might need to enable policy CMP0074 in CMakeLists.txt" - ) - endif() -endif() # readline lib if(READLINE_FOUND) option(PCRE2_SUPPORT_LIBREADLINE "Enable support for linking pcre2test with libreadline." ON) endif() -if(PCRE2_SUPPORT_LIBREADLINE) - include_directories(${READLINE_INCLUDE_DIR}) -endif() # Prepare build configuration +include_directories(${PROJECT_BINARY_DIR}/interface ${PROJECT_BINARY_DIR}/src ${PROJECT_SOURCE_DIR}/src) + if(NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) message(FATAL_ERROR "At least one of BUILD_SHARED_LIBS or BUILD_STATIC_LIBS must be enabled.") endif() @@ -443,9 +488,52 @@ if(PCRE2_BUILD_PCRE2_32) set(SUPPORT_PCRE2_32 1) endif() -if(PCRE2_BUILD_PCRE2GREP AND NOT PCRE2_BUILD_PCRE2_8) - message(STATUS "** PCRE2_BUILD_PCRE2_8 must be enabled for the pcre2grep program") - set(PCRE2_BUILD_PCRE2GREP OFF) +if(PCRE2_SUPPORT_LIBBZ2) + if(BZIP2_FOUND) + include_directories(${BZIP2_INCLUDE_DIR}) + else() + message( + FATAL_ERROR + " libbz2 not found. Set BZIP2_INCLUDE_DIR to a compatible header\n" + " or set BZip2_ROOT to a full bzip2 installed tree, as needed." + ) + endif() +endif() + +if(PCRE2_SUPPORT_LIBZ) + if(ZLIB_FOUND) + include_directories(${ZLIB_INCLUDE_DIR}) + else() + message( + FATAL_ERROR + " zlib not found. Set ZLIB_INCLUDE_DIR to a compatible header\n" + " or set ZLIB_ROOT to a full zlib installed tree, as needed." + ) + endif() +endif() + +if(PCRE2_SUPPORT_LIBEDIT) + if(EDITLINE_FOUND) + include_directories(${EDITLINE_INCLUDE_DIR}) + else() + message( + FATAL_ERROR + " libedit not found. Set EDITLINE_INCLUDE_DIR to a compatible header\n" + " or set Editline_ROOT to a full libedit installed tree, as needed." + ) + endif() +endif() + +if(PCRE2_SUPPORT_LIBREADLINE) + if(READLINE_FOUND) + include_directories(${READLINE_INCLUDE_DIR}) + else() + message( + FATAL_ERROR + " libreadline not found. Set READLINE_INCLUDE_DIR to a compatible header\n" + " or set Readline_ROOT to a full libreadline installed tree, as needed." + ) + endif() endif() if(PCRE2_SUPPORT_LIBREADLINE AND PCRE2_SUPPORT_LIBEDIT) @@ -481,19 +569,7 @@ if(PCRE2_SUPPORT_JIT) endif() if(PCRE2_SUPPORT_JIT_SEALLOC) - set(CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE) - check_symbol_exists(mkostemp stdlib.h REQUIRED) - unset(CMAKE_REQUIRED_DEFINITIONS) - if(${REQUIRED}) - if(${CMAKE_SYSTEM_NAME} MATCHES Linux|NetBSD) - add_compile_definitions(_GNU_SOURCE) - set(SLJIT_PROT_EXECUTABLE_ALLOCATOR 1) - else() - message(FATAL_ERROR "Your configuration is not supported") - endif() - else() - set(PCRE2_SUPPORT_JIT_SEALLOC OFF) - endif() + set(SLJIT_PROT_EXECUTABLE_ALLOCATOR 1) endif() if(PCRE2GREP_SUPPORT_JIT) @@ -515,6 +591,9 @@ if(PCRE2_DISABLE_PERCENT_ZT) set(DISABLE_PERCENT_ZT 1) endif() +set(PCRE2TEST_LIBS) +set(PCRE2GREP_LIBS) + # This next one used to reference ${READLINE_LIBRARY}) # but I was advised to add the NCURSES test as well, along with # some modifications to cmake/FindReadline.cmake which should @@ -522,24 +601,27 @@ endif() if(PCRE2_SUPPORT_LIBREADLINE) set(SUPPORT_LIBREADLINE 1) - set(PCRE2TEST_LIBS ${READLINE_LIBRARY} ${NCURSES_LIBRARY}) + list(APPEND PCRE2TEST_LIBS ${READLINE_LIBRARY}) + if(DEFINED NCURSES_LIBRARY) + list(APPEND PCRE2TEST_LIBS ${NCURSES_LIBRARY}) + endif() endif() # libedit is a plug-compatible alternative to libreadline if(PCRE2_SUPPORT_LIBEDIT) set(SUPPORT_LIBEDIT 1) - set(PCRE2TEST_LIBS ${EDITLINE_LIBRARY}) + list(APPEND PCRE2TEST_LIBS ${EDITLINE_LIBRARY}) endif() if(PCRE2_SUPPORT_LIBZ) set(SUPPORT_LIBZ 1) - set(PCRE2GREP_LIBS ${PCRE2GREP_LIBS} ${ZLIB_LIBRARIES}) + list(APPEND PCRE2GREP_LIBS ${ZLIB_LIBRARIES}) endif() if(PCRE2_SUPPORT_LIBBZ2) set(SUPPORT_LIBBZ2 1) - set(PCRE2GREP_LIBS ${PCRE2GREP_LIBS} ${BZIP2_LIBRARIES}) + list(APPEND PCRE2GREP_LIBS ${BZIP2_LIBRARIES}) endif() set(NEWLINE_DEFAULT "") @@ -570,18 +652,53 @@ if(NEWLINE_DEFAULT STREQUAL "") ) endif() +set(REBUILD_CHARTABLES OFF) +if(PCRE2_REBUILD_CHARTABLES) + set(REBUILD_CHARTABLES ON) +endif() + +set(EBCDIC OFF) if(PCRE2_EBCDIC) - set(EBCDIC 1) + set(EBCDIC ON) endif() if(PCRE2_EBCDIC_NL25) - set(EBCDIC 1) - set(EBCDIC_NL25 1) + set(EBCDIC ON) + set(EBCDIC_NL25 ON) endif() +if(PCRE2_EBCDIC_IGNORING_COMPILER) + set(EBCDIC ON) + set(EBCDIC_IGNORING_COMPILER ON) +endif() + +# Make sure that if EBCDIC is set (without EBCDIC_IGNORING_COMPILER), then +# REBUILD_CHARTABLES is also enabled. +# Also check that UTF support is not requested, because PCRE2 cannot handle +# EBCDIC and UTF in the same build. To do so it would need to use different +# character constants depending on the mode. +# Also, EBCDIC cannot be used with 16-bit and 32-bit libraries. +if(EBCDIC) + if(NOT EBCDIC_IGNORING_COMPILER) + set(REBUILD_CHARTABLES ON) + endif() + if(PCRE2_SUPPORT_UNICODE) + message(FATAL_ERROR "Support for EBCDIC and Unicode cannot be enabled at the same time") + endif() + if(PCRE2_BUILD_PCRE2_16 OR PCRE2_BUILD_PCRE2_32) + message(FATAL_ERROR "EBCDIC support is available only for the 8-bit library") + endif() +endif() + +# Remove the Autotools-generated copy of config.h and pcre2.h. I sometimes switch +# between Autoconf and CMake, and the conflicting copies of config.h generate some +# very unintuitive build errors. +file(REMOVE ${PROJECT_SOURCE_DIR}/src/config.h) +file(REMOVE ${PROJECT_SOURCE_DIR}/src/pcre2.h) + # Output files -configure_file(config-cmake.h.in ${PROJECT_BINARY_DIR}/config.h @ONLY) +configure_file(src/config-cmake.h.in ${PROJECT_BINARY_DIR}/src/config.h @ONLY) # Parse version numbers and date out of configure.ac @@ -607,10 +724,9 @@ set( foreach(configure_line ${configure_lines}) foreach(substitution_variable ${SEARCHED_VARIABLES}) string(TOUPPER ${substitution_variable} substitution_variable_upper) - if(NOT ${substitution_variable_upper}) - string(REGEX MATCH "m4_define\\(${substitution_variable}, *\\[(.*)\\]" MATCHED_STRING ${configure_line}) - if(CMAKE_MATCH_1) - set(${substitution_variable_upper} ${CMAKE_MATCH_1}) + if(NOT DEFINED ${substitution_variable_upper}) + if("${configure_line}" MATCHES "m4_define\\(${substitution_variable}, *\\[(.*)\\]") + set(${substitution_variable_upper} "${CMAKE_MATCH_1}") endif() endif() endforeach() @@ -640,7 +756,8 @@ parse_lib_version(LIBPCRE2_8) parse_lib_version(LIBPCRE2_16) parse_lib_version(LIBPCRE2_32) -configure_file(src/pcre2.h.in ${PROJECT_BINARY_DIR}/pcre2.h @ONLY) +configure_file(src/pcre2.h.in ${PROJECT_BINARY_DIR}/interface/pcre2.h @ONLY) +configure_file(src/pcre2posix.h ${PROJECT_BINARY_DIR}/interface/pcre2posix.h COPYONLY) # Make sure to not link debug libs # against release libs and vice versa @@ -650,31 +767,47 @@ endif() # Character table generation -option(PCRE2_REBUILD_CHARTABLES "Rebuild char tables" OFF) -if(PCRE2_REBUILD_CHARTABLES) +if(REBUILD_CHARTABLES) add_executable(pcre2_dftables src/pcre2_dftables.c) add_custom_command( - OUTPUT ${PROJECT_BINARY_DIR}/pcre2_chartables.c + OUTPUT ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c COMMAND pcre2_dftables - ARGS ${PROJECT_BINARY_DIR}/pcre2_chartables.c + ARGS ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c DEPENDS pcre2_dftables COMMENT "Generating character tables (pcre2_chartables.c) for current locale" VERBATIM ) +elseif(NOT PCRE2_EBCDIC) + configure_file( + ${PROJECT_SOURCE_DIR}/src/pcre2_chartables.c.dist + ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c + COPYONLY + ) +elseif(PCRE2_EBCDIC_NL25) + configure_file( + ${PROJECT_SOURCE_DIR}/src/pcre2_chartables.c.ebcdic-1047-nl25 + ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c + COPYONLY + ) else() - configure_file(${PROJECT_SOURCE_DIR}/src/pcre2_chartables.c.dist ${PROJECT_BINARY_DIR}/pcre2_chartables.c COPYONLY) + configure_file( + ${PROJECT_SOURCE_DIR}/src/pcre2_chartables.c.ebcdic-1047-nl15 + ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c + COPYONLY + ) endif() # Source code -set(PCRE2_HEADERS ${PROJECT_BINARY_DIR}/pcre2.h) +set(PCRE2_HEADERS ${PROJECT_BINARY_DIR}/interface/pcre2.h) set( PCRE2_SOURCES src/pcre2_auto_possess.c - ${PROJECT_BINARY_DIR}/pcre2_chartables.c + ${PROJECT_BINARY_DIR}/src/pcre2_chartables.c src/pcre2_chkdint.c src/pcre2_compile.c + src/pcre2_compile_cgroup.c src/pcre2_compile_class.c src/pcre2_config.c src/pcre2_context.c @@ -683,10 +816,10 @@ set( src/pcre2_error.c src/pcre2_extuni.c src/pcre2_find_bracket.c - src/pcre2_jit_compile.c src/pcre2_maketables.c src/pcre2_match.c src/pcre2_match_data.c + src/pcre2_match_next.c src/pcre2_newline.c src/pcre2_ord2utf.c src/pcre2_pattern_info.c @@ -702,7 +835,7 @@ set( src/pcre2_xclass.c ) -set(PCRE2POSIX_HEADERS src/pcre2posix.h) +set(PCRE2POSIX_HEADERS ${PROJECT_BINARY_DIR}/interface/pcre2posix.h) set(PCRE2POSIX_SOURCES src/pcre2posix.c) if(MINGW AND BUILD_SHARED_LIBS) @@ -714,7 +847,7 @@ if(MINGW AND BUILD_SHARED_LIBS) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Using pcre2 coff info in mingw build" ) - set(PCRE2_SOURCES ${PCRE2_SOURCES} ${PROJECT_SOURCE_DIR}/pcre2.o) + list(APPEND PCRE2_SOURCES ${PROJECT_SOURCE_DIR}/pcre2.o) endif() if(EXISTS ${PROJECT_SOURCE_DIR}/pcre2posix.rc) @@ -725,37 +858,20 @@ if(MINGW AND BUILD_SHARED_LIBS) WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} COMMENT "Using pcre2posix coff info in mingw build" ) - set(PCRE2POSIX_SOURCES ${PCRE2POSIX_SOURCES} ${PROJECT_SOURCE_DIR}/pcre2posix.o) + list(APPEND PCRE2POSIX_SOURCES ${PROJECT_SOURCE_DIR}/pcre2posix.o) endif() endif() if(MSVC AND BUILD_SHARED_LIBS) if(EXISTS ${PROJECT_SOURCE_DIR}/pcre2.rc) - set(PCRE2_SOURCES ${PCRE2_SOURCES} pcre2.rc) + list(APPEND PCRE2_SOURCES pcre2.rc) endif() if(EXISTS ${PROJECT_SOURCE_DIR}/pcre2posix.rc) - set(PCRE2POSIX_SOURCES ${PCRE2POSIX_SOURCES} pcre2posix.rc) + list(APPEND PCRE2POSIX_SOURCES pcre2posix.rc) endif() endif() -# Fix static compilation with MSVC: https://bugs.exim.org/show_bug.cgi?id=1681 -# This code was taken from the CMake wiki, not from WebM. - -if(MSVC AND PCRE2_STATIC_RUNTIME) - message(STATUS "** MSVC and PCRE2_STATIC_RUNTIME: modifying compiler flags to use static runtime library") - foreach( - flag_var - CMAKE_C_FLAGS - CMAKE_C_FLAGS_DEBUG - CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL - CMAKE_C_FLAGS_RELWITHDEBINFO - ) - string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}") - endforeach() -endif() - # Build setup add_compile_definitions(HAVE_CONFIG_H) @@ -770,15 +886,15 @@ if(MSVC) add_compile_definitions(_CRT_SECURE_NO_DEPRECATE _CRT_SECURE_NO_WARNINGS) endif() -set(CMAKE_INCLUDE_CURRENT_DIR 1) - set(TARGETS) +set(DLL_PDB_FILES) +set(DLL_PDB_DEBUG_FILES) # 8-bit library if(PCRE2_BUILD_PCRE2_8) if(BUILD_STATIC_LIBS) - add_library(pcre2-8-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) + add_library(pcre2-8-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES}) set_target_properties( pcre2-8-static PROPERTIES @@ -789,11 +905,14 @@ if(PCRE2_BUILD_PCRE2_8) SOVERSION ${LIBPCRE2_8_SOVERSION} ) target_compile_definitions(pcre2-8-static PUBLIC PCRE2_STATIC) - target_include_directories(pcre2-8-static PUBLIC ${PROJECT_BINARY_DIR}) + target_include_directories( + pcre2-8-static + PUBLIC "$" "$" + ) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-8-static Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-8-static) + list(APPEND TARGETS pcre2-8-static) add_library(pcre2-posix-static STATIC ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES}) set_target_properties( pcre2-posix-static @@ -805,8 +924,11 @@ if(PCRE2_BUILD_PCRE2_8) SOVERSION ${LIBPCRE2_POSIX_SOVERSION} ) target_link_libraries(pcre2-posix-static pcre2-8-static) - target_include_directories(pcre2-posix-static PUBLIC ${PROJECT_SOURCE_DIR}/src) - set(TARGETS ${TARGETS} pcre2-posix-static) + target_include_directories( + pcre2-posix-static + PUBLIC "$" "$" + ) + list(APPEND TARGETS pcre2-posix-static) if(MSVC) set_target_properties(pcre2-8-static PROPERTIES OUTPUT_NAME pcre2-8-static) @@ -821,8 +943,11 @@ if(PCRE2_BUILD_PCRE2_8) endif() if(BUILD_SHARED_LIBS) - add_library(pcre2-8-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) - target_include_directories(pcre2-8-shared PUBLIC ${PROJECT_BINARY_DIR}) + add_library(pcre2-8-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES}) + target_include_directories( + pcre2-8-shared + PUBLIC "$" "$" + ) set_target_properties( pcre2-8-shared PROPERTIES @@ -836,12 +961,19 @@ if(PCRE2_BUILD_PCRE2_8) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-8-shared Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-8-shared) - set(DLL_PDB_FILES $/pcre2-8.pdb ${DLL_PDB_FILES}) - set(DLL_PDB_DEBUG_FILES $/pcre2-8d.pdb ${DLL_PDB_DEBUG_FILES}) + if(HAVE_VSCRIPT AND PCRE2_SYMVERS) + target_link_options(pcre2-8-shared PRIVATE -Wl,${VSCRIPT_FLAG},${PROJECT_SOURCE_DIR}/src/libpcre2-8.sym) + set_target_properties(pcre2-8-shared PROPERTIES LINK_DEPENDS ${PROJECT_SOURCE_DIR}/src/libpcre2-8.sym) + endif() + list(APPEND TARGETS pcre2-8-shared) + list(APPEND DLL_PDB_FILES $/pcre2-8.pdb) + list(APPEND DLL_PDB_DEBUG_FILES $/pcre2-8d.pdb) add_library(pcre2-posix-shared SHARED ${PCRE2POSIX_HEADERS} ${PCRE2POSIX_SOURCES}) - target_include_directories(pcre2-posix-shared PUBLIC ${PROJECT_SOURCE_DIR}/src) + target_include_directories( + pcre2-posix-shared + PUBLIC "$" "$" + ) set_target_properties( pcre2-posix-shared PROPERTIES @@ -852,12 +984,15 @@ if(PCRE2_BUILD_PCRE2_8) SOVERSION ${LIBPCRE2_POSIX_SOVERSION} OUTPUT_NAME pcre2-posix ) - set(PCRE2POSIX_CFLAG "-DPCRE2POSIX_SHARED") - target_compile_definitions(pcre2-posix-shared PUBLIC ${PCRE2POSIX_CFLAG}) + if(HAVE_VSCRIPT AND PCRE2_SYMVERS) + target_link_options(pcre2-posix-shared PRIVATE -Wl,${VSCRIPT_FLAG},${PROJECT_SOURCE_DIR}/src/libpcre2-posix.sym) + set_target_properties(pcre2-posix-shared PROPERTIES LINK_DEPENDS ${PROJECT_SOURCE_DIR}/src/libpcre2-posix.sym) + endif() + target_compile_definitions(pcre2-posix-shared PUBLIC PCRE2POSIX_SHARED) target_link_libraries(pcre2-posix-shared pcre2-8-shared) - set(TARGETS ${TARGETS} pcre2-posix-shared) - set(DLL_PDB_FILES $/pcre2-posix.pdb ${DLL_PDB_FILES}) - set(DLL_PDB_DEBUG_FILES $/pcre2-posixd.pdb ${DLL_PDB_DEBUG_FILES}) + list(APPEND TARGETS pcre2-posix-shared) + list(APPEND DLL_PDB_FILES $/pcre2-posix.pdb) + list(APPEND DLL_PDB_DEBUG_FILES $/pcre2-posixd.pdb) if(MINGW) if(NON_STANDARD_LIB_PREFIX) @@ -882,12 +1017,14 @@ endif() if(PCRE2_BUILD_PCRE2_16) if(BUILD_STATIC_LIBS) - add_library(pcre2-16-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) - target_include_directories(pcre2-16-static PUBLIC ${PROJECT_BINARY_DIR}) + add_library(pcre2-16-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES}) + target_include_directories( + pcre2-16-static + PUBLIC "$" "$" + ) set_target_properties( pcre2-16-static PROPERTIES - UNITY_BUILD OFF COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" MACHO_CURRENT_VERSION "${LIBPCRE2_32_MACHO_CURRENT_VERSION}" @@ -898,7 +1035,7 @@ if(PCRE2_BUILD_PCRE2_16) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-16-static Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-16-static) + list(APPEND TARGETS pcre2-16-static) if(MSVC) set_target_properties(pcre2-16-static PROPERTIES OUTPUT_NAME pcre2-16-static) @@ -911,12 +1048,14 @@ if(PCRE2_BUILD_PCRE2_16) endif() if(BUILD_SHARED_LIBS) - add_library(pcre2-16-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) - target_include_directories(pcre2-16-shared PUBLIC ${PROJECT_BINARY_DIR}) + add_library(pcre2-16-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES}) + target_include_directories( + pcre2-16-shared + PUBLIC "$" "$" + ) set_target_properties( pcre2-16-shared PROPERTIES - UNITY_BUILD OFF COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=16 MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" MACHO_CURRENT_VERSION "${LIBPCRE2_32_MACHO_CURRENT_VERSION}" @@ -927,9 +1066,13 @@ if(PCRE2_BUILD_PCRE2_16) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-16-shared Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-16-shared) - set(DLL_PDB_FILES $/pcre2-16.pdb ${DLL_PDB_FILES}) - set(DLL_PDB_DEBUG_FILES $/pcre2-16d.pdb ${DLL_PDB_DEBUG_FILES}) + if(HAVE_VSCRIPT AND PCRE2_SYMVERS) + target_link_options(pcre2-16-shared PRIVATE -Wl,${VSCRIPT_FLAG},${PROJECT_SOURCE_DIR}/src/libpcre2-16.sym) + set_target_properties(pcre2-16-shared PROPERTIES LINK_DEPENDS ${PROJECT_SOURCE_DIR}/src/libpcre2-16.sym) + endif() + list(APPEND TARGETS pcre2-16-shared) + list(APPEND DLL_PDB_FILES $/pcre2-16.pdb) + list(APPEND DLL_PDB_DEBUG_FILES $/pcre2-16d.pdb) if(MINGW) if(NON_STANDARD_LIB_PREFIX) @@ -952,12 +1095,14 @@ endif() if(PCRE2_BUILD_PCRE2_32) if(BUILD_STATIC_LIBS) - add_library(pcre2-32-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) - target_include_directories(pcre2-32-static PUBLIC ${PROJECT_BINARY_DIR}) + add_library(pcre2-32-static STATIC ${PCRE2_HEADERS} ${PCRE2_SOURCES}) + target_include_directories( + pcre2-32-static + PUBLIC "$" "$" + ) set_target_properties( pcre2-32-static PROPERTIES - UNITY_BUILD OFF COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" MACHO_CURRENT_VERSION "${LIBPCRE2_32_MACHO_CURRENT_VERSION}" @@ -968,7 +1113,7 @@ if(PCRE2_BUILD_PCRE2_32) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-32-static Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-32-static) + list(APPEND TARGETS pcre2-32-static) if(MSVC) set_target_properties(pcre2-32-static PROPERTIES OUTPUT_NAME pcre2-32-static) @@ -981,12 +1126,14 @@ if(PCRE2_BUILD_PCRE2_32) endif() if(BUILD_SHARED_LIBS) - add_library(pcre2-32-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES} ${PROJECT_BINARY_DIR}/config.h) - target_include_directories(pcre2-32-shared PUBLIC ${PROJECT_BINARY_DIR}) + add_library(pcre2-32-shared SHARED ${PCRE2_HEADERS} ${PCRE2_SOURCES}) + target_include_directories( + pcre2-32-shared + PUBLIC "$" "$" + ) set_target_properties( pcre2-32-shared PROPERTIES - UNITY_BUILD OFF COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=32 MACHO_COMPATIBILITY_VERSION "${LIBPCRE2_32_MACHO_COMPATIBILITY_VERSION}" MACHO_CURRENT_VERSION "${LIBPCRE2_32_MACHO_CURRENT_VERSION}" @@ -997,9 +1144,13 @@ if(PCRE2_BUILD_PCRE2_32) if(REQUIRE_PTHREAD) target_link_libraries(pcre2-32-shared Threads::Threads) endif() - set(TARGETS ${TARGETS} pcre2-32-shared) - set(DLL_PDB_FILES $/pcre2-32.pdb ${DLL_PDB_FILES}) - set(DLL_PDB_DEBUG_FILES $/pcre2-32d.pdb ${DLL_PDB_DEBUG_FILES}) + if(HAVE_VSCRIPT AND PCRE2_SYMVERS) + target_link_options(pcre2-32-shared PRIVATE -Wl,${VSCRIPT_FLAG},${PROJECT_SOURCE_DIR}/src/libpcre2-32.sym) + set_target_properties(pcre2-32-shared PROPERTIES LINK_DEPENDS ${PROJECT_SOURCE_DIR}/src/libpcre2-32.sym) + endif() + list(APPEND TARGETS pcre2-32-shared) + list(APPEND DLL_PDB_FILES $/pcre2-32.pdb) + list(APPEND DLL_PDB_DEBUG_FILES $/pcre2-32d.pdb) if(MINGW) if(NON_STANDARD_LIB_PREFIX) @@ -1025,10 +1176,29 @@ set(prefix ${CMAKE_INSTALL_PREFIX}) set(exec_prefix "\${prefix}") set(libdir "\${exec_prefix}/${CMAKE_INSTALL_LIBDIR}") set(includedir "\${prefix}/include") + +set(LIB_POSTFIX "") if(WIN32 AND (CMAKE_BUILD_TYPE MATCHES Debug)) set(LIB_POSTFIX ${CMAKE_DEBUG_POSTFIX}) endif() +set(PCRE2_STATIC_CFLAG "") +if(NOT BUILD_SHARED_LIBS) + set(PCRE2_STATIC_CFLAG "-DPCRE2_STATIC") +endif() + +set(PCRE2POSIX_CFLAG "") +if(BUILD_SHARED_LIBS) + set(PCRE2POSIX_CFLAG "-DPCRE2POSIX_SHARED") +endif() + +set(PTHREAD_CFLAGS "") +set(PTHREAD_LIBS "") +if(REQUIRE_PTHREAD) + set(PTHREAD_CFLAGS "$") + set(PTHREAD_LIBS "$") +endif() + if(PCRE2_BUILD_PCRE2_8) set(enable_pcre2_8 "yes") else() @@ -1051,223 +1221,63 @@ configure_file(pcre2-config.in pcre2-config @ONLY NEWLINE_STYLE LF) # Executables -if(PCRE2_BUILD_PCRE2GREP) - add_executable(pcre2grep src/pcre2grep.c) - set_property(TARGET pcre2grep PROPERTY COMPILE_DEFINITIONS PCRE2_CODE_UNIT_WIDTH=8) - set(TARGETS ${TARGETS} pcre2grep) - target_link_libraries(pcre2grep pcre2-posix ${PCRE2GREP_LIBS}) -endif() - -# Testing - -if(PCRE2_BUILD_TESTS) - enable_testing() - - set(PCRE2TEST_SOURCES src/pcre2test.c) - - if(MSVC) - # This is needed to avoid a stack overflow error in the standard tests. The - # flag should be indicated with a forward-slash instead of a hyphen, but - # then CMake treats it as a file path. - set(PCRE2TEST_LINKER_FLAGS -STACK:2500000) - endif() - - add_executable(pcre2test ${PCRE2TEST_SOURCES}) - set(TARGETS ${TARGETS} pcre2test) - if(PCRE2_BUILD_PCRE2_8) - list(APPEND PCRE2TEST_LIBS pcre2-posix pcre2-8) - endif() - if(PCRE2_BUILD_PCRE2_16) - list(APPEND PCRE2TEST_LIBS pcre2-16) - endif() - if(PCRE2_BUILD_PCRE2_32) - list(APPEND PCRE2TEST_LIBS pcre2-32) - endif() - target_link_libraries(pcre2test ${PCRE2TEST_LIBS} ${PCRE2TEST_LINKER_FLAGS}) - - if(PCRE2_BUILD_PCRE2_8) - add_executable(pcre2posix_test src/pcre2posix_test.c) - target_link_libraries(pcre2posix_test pcre2-posix pcre2-8) - endif() - - if(PCRE2_SUPPORT_JIT) - add_executable(pcre2_jit_test src/pcre2_jit_test.c) - set(PCRE2_JIT_TEST_LIBS) - if(PCRE2_BUILD_PCRE2_8) - list(APPEND PCRE2_JIT_TEST_LIBS pcre2-8) - endif() - if(PCRE2_BUILD_PCRE2_16) - list(APPEND PCRE2_JIT_TEST_LIBS pcre2-16) - endif() - if(PCRE2_BUILD_PCRE2_32) - list(APPEND PCRE2_JIT_TEST_LIBS pcre2-32) - endif() - target_link_libraries(pcre2_jit_test ${PCRE2_JIT_TEST_LIBS}) - endif() - - # ================================================= - # Write out a CTest configuration file - # - file( - WRITE - ${PROJECT_BINARY_DIR}/CTestCustom.ctest - "# This is a generated file. -MESSAGE(\"When testing is complete, review test output in the -\\\"${PROJECT_BINARY_DIR}/Testing/Temporary\\\" folder.\") -MESSAGE(\" \") -" - ) - - file( - WRITE - ${PROJECT_BINARY_DIR}/pcre2_test.sh - "#! /bin/sh -# This is a generated file. -srcdir=${PROJECT_SOURCE_DIR} -pcre2test=${PROJECT_BINARY_DIR}/pcre2test -test -z \"$CMAKE_CONFIG_TYPE\" || pcre2test=${PROJECT_BINARY_DIR}/$CMAKE_CONFIG_TYPE/pcre2test -. ${PROJECT_SOURCE_DIR}/RunTest -if test \"$?\" != \"0\"; then exit 1; fi -# End -" - ) - - if(UNIX) - add_test(pcre2_test sh ${PROJECT_BINARY_DIR}/pcre2_test.sh) - endif() - - if(PCRE2_BUILD_PCRE2GREP) - file( - WRITE - ${PROJECT_BINARY_DIR}/pcre2_grep_test.sh - "#! /bin/sh -# This is a generated file. -srcdir=${PROJECT_SOURCE_DIR} -pcre2grep=${PROJECT_BINARY_DIR}/pcre2grep -test -z \"$CMAKE_CONFIG_TYPE\" || pcre2grep=${PROJECT_BINARY_DIR}/$CMAKE_CONFIG_TYPE/pcre2grep -pcre2test=${PROJECT_BINARY_DIR}/pcre2test -test -z \"$CMAKE_CONFIG_TYPE\" || pcre2test=${PROJECT_BINARY_DIR}/$CMAKE_CONFIG_TYPE/pcre2test -. ${PROJECT_SOURCE_DIR}/RunGrepTest -if test \"$?\" != \"0\"; then exit 1; fi -# End -" - ) - - if(UNIX) - add_test(pcre2_grep_test sh ${PROJECT_BINARY_DIR}/pcre2_grep_test.sh) - endif() - endif() - - if(WIN32) - # Provide environment for executing the bat file version of RunTest - file(TO_NATIVE_PATH ${PROJECT_SOURCE_DIR} winsrc) - file(TO_NATIVE_PATH ${PROJECT_BINARY_DIR} winbin) - - file( - WRITE - ${PROJECT_BINARY_DIR}/pcre2_test.bat - "\@REM This is a generated file. -\@echo off -setlocal -SET srcdir=\"${winsrc}\" -SET pcre2test=\"${winbin}\\pcre2test.exe\" -if not [%CMAKE_CONFIG_TYPE%]==[] SET pcre2test=\"${winbin}\\%CMAKE_CONFIG_TYPE%\\pcre2test.exe\" -call %srcdir%\\RunTest.bat -if errorlevel 1 exit /b 1 -echo RunTest.bat tests successfully completed -" - ) - - add_test(NAME pcre2_test_bat COMMAND pcre2_test.bat) - set_tests_properties(pcre2_test_bat PROPERTIES PASS_REGULAR_EXPRESSION "RunTest\\.bat tests successfully completed") - - if(PCRE2_BUILD_PCRE2GREP) - file( - WRITE - ${PROJECT_BINARY_DIR}/pcre2_grep_test.bat - "\@REM This is a generated file. -\@echo off -setlocal -SET srcdir=\"${winsrc}\" -SET pcre2test=\"${winbin}\\pcre2test.exe\" -if not [%CMAKE_CONFIG_TYPE%]==[] SET pcre2test=\"${winbin}\\%CMAKE_CONFIG_TYPE%\\pcre2test.exe\" -SET pcre2grep=\"${winbin}\\pcre2grep.exe\" -if not [%CMAKE_CONFIG_TYPE%]==[] SET pcre2grep=\"${winbin}\\%CMAKE_CONFIG_TYPE%\\pcre2grep.exe\" -call %srcdir%\\RunGrepTest.bat -if errorlevel 1 exit /b 1 -echo RunGrepTest.bat tests successfully completed -" - ) - - add_test(NAME pcre2_grep_test_bat COMMAND pcre2_grep_test.bat) - set_tests_properties( - pcre2_grep_test_bat - PROPERTIES PASS_REGULAR_EXPRESSION "RunGrepTest\\.bat tests successfully completed" - ) - endif() - - if("$ENV{OSTYPE}" STREQUAL "msys") - # Both the sh and bat file versions of RunTest are run if make test is used - # in msys - add_test(pcre2_test_sh sh.exe ${PROJECT_BINARY_DIR}/pcre2_test.sh) - if(PCRE2_BUILD_PCRE2GREP) - add_test(pcre2_grep_test sh.exe ${PROJECT_BINARY_DIR}/pcre2_grep_test.sh) - endif() - endif() - endif() - - # Changed to accommodate testing whichever location was just built - - if(PCRE2_SUPPORT_JIT) - add_test(pcre2_jit_test pcre2_jit_test) - endif() - - if(PCRE2_BUILD_PCRE2_8) - add_test(pcre2posix_test pcre2posix_test) - endif() -endif() - # Installation set(CMAKE_INSTALL_ALWAYS 1) install( TARGETS ${TARGETS} - RUNTIME DESTINATION bin + EXPORT pcre2-targets + RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} ) +install(EXPORT pcre2-targets DESTINATION ${PCRE2_INSTALL_CMAKEDIR} NAMESPACE pcre2::) install(FILES ${pkg_config_files} DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig) install( - FILES "${CMAKE_CURRENT_BINARY_DIR}/pcre2-config" - DESTINATION bin + FILES "${PROJECT_BINARY_DIR}/pcre2-config" + DESTINATION ${CMAKE_INSTALL_BINDIR} # Set 0755 permissions PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE ) -install(FILES ${PCRE2_HEADERS} ${PCRE2POSIX_HEADERS} DESTINATION include) +install(FILES ${PCRE2_HEADERS} ${PCRE2POSIX_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}) # CMake config files. -set(PCRE2_CONFIG_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config.cmake.in) -set(PCRE2_CONFIG_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config.cmake) -configure_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} @ONLY) -set(PCRE2_CONFIG_VERSION_IN ${CMAKE_CURRENT_SOURCE_DIR}/cmake/pcre2-config-version.cmake.in) -set(PCRE2_CONFIG_VERSION_OUT ${CMAKE_CURRENT_BINARY_DIR}/cmake/pcre2-config-version.cmake) -configure_file(${PCRE2_CONFIG_VERSION_IN} ${PCRE2_CONFIG_VERSION_OUT} @ONLY) -install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION "${PCRE2_INSTALL_CMAKEDIR}") +set(PCRE2_CONFIG_IN ${PROJECT_SOURCE_DIR}/cmake/pcre2-config.cmake.in) +set(PCRE2_CONFIG_OUT ${PROJECT_BINARY_DIR}/cmake/pcre2-config.cmake) +configure_package_config_file(${PCRE2_CONFIG_IN} ${PCRE2_CONFIG_OUT} INSTALL_DESTINATION ${PCRE2_INSTALL_CMAKEDIR}) +set(PCRE2_CONFIG_VERSION_OUT ${PROJECT_BINARY_DIR}/cmake/pcre2-config-version.cmake) +write_basic_package_version_file( + ${PCRE2_CONFIG_VERSION_OUT} + VERSION ${PCRE2_MAJOR}.${PCRE2_MINOR}.0 + COMPATIBILITY SameMajorVersion +) +install(FILES ${PCRE2_CONFIG_OUT} ${PCRE2_CONFIG_VERSION_OUT} DESTINATION ${PCRE2_INSTALL_CMAKEDIR}) +file(GLOB html ${PROJECT_SOURCE_DIR}/doc/html/*.html ${PROJECT_SOURCE_DIR}/doc/html/*.txt) file( GLOB txts + ${PROJECT_SOURCE_DIR}/doc/*.txt AUTHORS.md + COPYING + ChangeLog LICENCE.md + NEWS + README SECURITY.md ) +file(GLOB man1 ${PROJECT_SOURCE_DIR}/doc/*.1) +file(GLOB man3 ${PROJECT_SOURCE_DIR}/doc/*.3) +install(FILES ${man1} DESTINATION ${CMAKE_INSTALL_MANDIR}/man1) +install(FILES ${man3} DESTINATION ${CMAKE_INSTALL_MANDIR}/man3) install(FILES ${txts} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/pcre2) +install(FILES ${html} DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/doc/pcre2/html) if(MSVC AND INSTALL_MSVC_PDB) - install(FILES ${DLL_PDB_FILES} DESTINATION bin CONFIGURATIONS RelWithDebInfo) - install(FILES ${DLL_PDB_DEBUG_FILES} DESTINATION bin CONFIGURATIONS Debug) + install(FILES ${DLL_PDB_FILES} DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS RelWithDebInfo) + install(FILES ${DLL_PDB_DEBUG_FILES} DESTINATION ${CMAKE_INSTALL_BINDIR} CONFIGURATIONS Debug) endif() # Help, only for nice output @@ -1289,6 +1299,7 @@ if(PCRE2_SHOW_REPORT) message(STATUS " Install prefix .................... : ${CMAKE_INSTALL_PREFIX}") message(STATUS " C compiler ........................ : ${CMAKE_C_COMPILER}") + set(CFSP "") if(CMAKE_C_FLAGS) set(CFSP " ") endif() @@ -1302,7 +1313,12 @@ if(PCRE2_SHOW_REPORT) endforeach() else() string(TOUPPER "${CMAKE_BUILD_TYPE}" buildtype) - message(STATUS " C compiler flags .................. : ${CMAKE_C_FLAGS}${CFSP}${CMAKE_C_FLAGS_${buildtype}}") + if(buildtype STREQUAL "") + set(CFBLD "") + else() + set(CFBLD "${CMAKE_C_FLAGS_${buildtype}}") + endif() + message(STATUS " C compiler flags .................. : ${CMAKE_C_FLAGS}${CFSP}${CFBLD}") endif() message(STATUS "") @@ -1311,9 +1327,9 @@ if(PCRE2_SHOW_REPORT) else() message(STATUS " Build type ........................ : ${CMAKE_BUILD_TYPE}") endif() - message(STATUS " Build 8 bit PCRE2 library ......... : ${PCRE2_BUILD_PCRE2_8}") - message(STATUS " Build 16 bit PCRE2 library ........ : ${PCRE2_BUILD_PCRE2_16}") - message(STATUS " Build 32 bit PCRE2 library ........ : ${PCRE2_BUILD_PCRE2_32}") + message(STATUS " Build 8 bit pcre2 library ......... : ${PCRE2_BUILD_PCRE2_8}") + message(STATUS " Build 16 bit pcre2 library ........ : ${PCRE2_BUILD_PCRE2_16}") + message(STATUS " Build 32 bit pcre2 library ........ : ${PCRE2_BUILD_PCRE2_32}") message(STATUS " Include debugging code ............ : ${PCRE2_DEBUG}") message(STATUS " Enable JIT compiling support ...... : ${PCRE2_SUPPORT_JIT}") message(STATUS " Use SELinux allocator in JIT ...... : ${PCRE2_SUPPORT_JIT_SEALLOC}") @@ -1321,25 +1337,38 @@ if(PCRE2_SHOW_REPORT) message(STATUS " Newline char/sequence ............. : ${PCRE2_NEWLINE}") message(STATUS " \\R matches only ANYCRLF ........... : ${PCRE2_SUPPORT_BSR_ANYCRLF}") message(STATUS " \\C is disabled .................... : ${PCRE2_NEVER_BACKSLASH_C}") - message(STATUS " EBCDIC coding ..................... : ${PCRE2_EBCDIC}") - message(STATUS " EBCDIC coding with NL=0x25 ........ : ${PCRE2_EBCDIC_NL25}") - message(STATUS " Rebuild char tables ............... : ${PCRE2_REBUILD_CHARTABLES}") + + if(NOT EBCDIC) + set(EBCDIC_NL_CODE "n/a") + elseif(EBCDIC_NL25) + set(EBCDIC_NL_CODE "0x25") + else() + set(EBCDIC_NL_CODE "0x15") + endif() + message(STATUS " EBCDIC coding ..................... : ${EBCDIC}") + message(STATUS " EBCDIC code for NL ................ : ${EBCDIC_NL_CODE}") + message(STATUS " EBCDIC coding ignoring compiler ... : ${PCRE2_EBCDIC_IGNORING_COMPILER}") + message(STATUS " Rebuild char tables ............... : ${REBUILD_CHARTABLES}") + message(STATUS " Internal link size ................ : ${PCRE2_LINK_SIZE}") message(STATUS " Maximum variable lookbehind ....... : ${PCRE2_MAX_VARLOOKBEHIND}") - message(STATUS " Parentheses nest limit ............ : ${PCRE2_PARENS_NEST_LIMIT}") + message(STATUS " Nested parentheses limit .......... : ${PCRE2_PARENS_NEST_LIMIT}") message(STATUS " Heap limit ........................ : ${PCRE2_HEAP_LIMIT}") message(STATUS " Match limit ....................... : ${PCRE2_MATCH_LIMIT}") message(STATUS " Match depth limit ................. : ${PCRE2_MATCH_LIMIT_DEPTH}") message(STATUS " Build shared libs ................. : ${BUILD_SHARED_LIBS}") + if(NOT HAVE_VSCRIPT) + message(STATUS " with symbol versioning ........ : n/a") + else() + message(STATUS " with symbol versioning ........ : ${PCRE2_SYMVERS}") + endif() message(STATUS " Build static libs ................. : ${BUILD_STATIC_LIBS}") - message(STATUS " with PIC enabled ............... : ${PCRE2_STATIC_PIC}") - message(STATUS " Build pcre2grep ................... : ${PCRE2_BUILD_PCRE2GREP}") + message(STATUS " with PIC enabled .............. : ${PCRE2_STATIC_PIC}") message(STATUS " Enable JIT in pcre2grep ........... : ${PCRE2GREP_SUPPORT_JIT}") message(STATUS " Enable callouts in pcre2grep ...... : ${PCRE2GREP_SUPPORT_CALLOUT}") message(STATUS " Enable callout fork in pcre2grep .. : ${PCRE2GREP_SUPPORT_CALLOUT_FORK}") - message(STATUS " Buffer size for pcre2grep ......... : ${PCRE2GREP_BUFSIZE}") - message(STATUS " Build tests (implies pcre2test .... : ${PCRE2_BUILD_TESTS}") - message(STATUS " and pcre2grep)") + message(STATUS " Initial buffer size for pcre2grep . : ${PCRE2GREP_BUFSIZE}") + message(STATUS " Maximum buffer size for pcre2grep . : ${PCRE2GREP_MAX_BUFSIZE}") if(ZLIB_FOUND) message(STATUS " Link pcre2grep with libz .......... : ${PCRE2_SUPPORT_LIBZ}") else() @@ -1360,7 +1389,7 @@ if(PCRE2_SHOW_REPORT) else() message(STATUS " Link pcre2test with libreadline ... : Library not found") endif() - message(STATUS " Support Valgrind .................. : ${PCRE2_SUPPORT_VALGRIND}") + message(STATUS " Enable Valgrind support ........... : ${PCRE2_SUPPORT_VALGRIND}") if(PCRE2_DISABLE_PERCENT_ZT) message(STATUS " Use %zu and %td ................... : OFF") else() diff --git a/libpcre/LICENCE.md b/libpcre/LICENCE.md index f58ceb75a..f6fba35db 100644 --- a/libpcre/LICENCE.md +++ b/libpcre/LICENCE.md @@ -1,4 +1,4 @@ -PCRE2 License +PCRE2 Licence ============= | SPDX-License-Identifier: | BSD-3-Clause WITH PCRE2-exception | @@ -16,7 +16,8 @@ testdata directory is not copyrighted and is in the public domain. The basic library functions are written in C and are freestanding. Also included in the distribution is a just-in-time compiler that can be used to optimize pattern matching. This is an optional feature that can be omitted when -the library is built. +the library is built. The just-in-time compiler is separately licensed under the +"2-clause BSD" licence. COPYRIGHT @@ -53,6 +54,8 @@ COPYRIGHT Copyright (c) 2009-2024 Zoltan Herczeg All rights reserved. +The code in the `deps/sljit` directory has its own LICENSE file. + ### All other contributions Many other contributors have participated in the authorship of PCRE2. As PCRE2 @@ -99,5 +102,3 @@ not apply all the way down a chain of software. If binary package A includes PCRE2, it must respect the condition, but if package B is software that includes package A, the condition is not imposed on package B unless it uses PCRE2 independently. - -End diff --git a/libpcre/MODULE.bazel b/libpcre/MODULE.bazel index 8f4c0b46c..abed25aa8 100644 --- a/libpcre/MODULE.bazel +++ b/libpcre/MODULE.bazel @@ -1,9 +1,9 @@ module( name = "pcre2", - version = "10.45", + version = "10.47", compatibility_level = 1, ) -bazel_dep(name = "rules_cc", version = "0.0.1") -bazel_dep(name = "bazel_skylib", version = "1.2.1") -bazel_dep(name = "platforms", version = "0.0.4") +bazel_dep(name = "rules_cc", version = "0.2.8") +bazel_dep(name = "bazel_skylib", version = "1.8.1") +bazel_dep(name = "platforms", version = "1.0.0") diff --git a/libpcre/Makefile.am b/libpcre/Makefile.am index 721ca204d..31f42b43a 100644 --- a/libpcre/Makefile.am +++ b/libpcre/Makefile.am @@ -7,6 +7,12 @@ ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS="-I$(srcdir)/src" +## Set some variables to accumulate conditionally-set Automake targets. + +CLEAN_LOCAL_TARGETS= +DISTCLEAN_LOCAL_TARGETS= +PHONY_TARGETS= + ## Specify the documentation files that are distributed. dist_doc_DATA = \ @@ -22,6 +28,7 @@ lib_LTLIBRARIES = # TESTS is for binary unit tests, check_SCRIPTS for script-based tests TESTS = +XFAIL_TESTS = check_SCRIPTS = dist_noinst_SCRIPTS = @@ -38,12 +45,7 @@ noinst_PROGRAMS = # we list them here. CLEANFILES = \ - pcre2_dftables \ - pcre2_jit_test \ - pcre2fuzzcheck-8 \ - pcre2fuzzcheck-16 \ - pcre2fuzzcheck-32 \ - pcre2demo + pcre2_dftables DISTCLEANFILES = src/config.h.in~ MAINTAINERCLEANFILES = @@ -56,14 +58,16 @@ EXTRA_DIST = # These files contain additional m4 macros that are used by autoconf. EXTRA_DIST += \ - m4/ax_pthread.m4 m4/pcre2_visibility.m4 + m4/ax_check_vscript.m4 \ + m4/ax_pthread.m4 \ + m4/pcre2_visibility.m4 \ + m4/pcre2_zos.m4 # These are support files for building with Bazel or Zig EXTRA_DIST += \ BUILD.bazel \ MODULE.bazel \ - WORKSPACE.bazel \ build.zig # These are support files for building under VMS @@ -97,8 +101,9 @@ src/pcre2.h.generic: src/pcre2.h.in configure.ac # running configure in a new directory, it complains. For this reason, we move # config.status out of the way while doing the default configuration. The # resulting config.h is munged by perl to put #ifdefs round any #defines for -# macros with values, and to #undef all boolean macros such as HAVE_xxx and -# SUPPORT_xxx. We also get rid of any gcc-specific visibility settings. +# macros with values, and to #undef all boolean macros such as HAVE_xxx, +# SUPPORT_xxx, and PCRE2_STATIC/PCRE2POSIX_SHARED. We also get rid of any +# GCC-specific visibility settings. src/config.h.generic: configure.ac rm -rf $@ _generic @@ -108,13 +113,13 @@ src/config.h.generic: configure.ac cs=$(srcdir)/config.status; test ! -f $$cs.aside || mv -f $$cs.aside $$cs test -f _generic/src/config.h perl -n \ - -e 'BEGIN{$$blank=0;}' \ - -e 'if(/(.+?)\s*__attribute__ \(\(visibility/){print"$$1\n";$$blank=0;next;}' \ - -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \ - -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \ - -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \ - -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \ - _generic/src/config.h >$@ + -e 'BEGIN{$$blank=0;}' \ + -e 'if(/(.+?)\s*__attribute__ \(\(visibility/){print"$$1\n";$$blank=0;next;}' \ + -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \ + -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+|PCRE2_STATIC|PCRE2POSIX_SHARED)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \ + -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \ + -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \ + _generic/src/config.h >$@ rm -rf _generic MAINTAINERCLEANFILES += src/pcre2.h.generic src/config.h.generic @@ -143,9 +148,21 @@ src/pcre2_chartables.c: pcre2_dftables$(EXEEXT) rm -f $@ ./pcre2_dftables$(EXEEXT) $@ else +if WITH_EBCDIC +if WITH_EBCDIC_NL25 +src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl25 + rm -f $@ + $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl25 $(abs_builddir)/src/pcre2_chartables.c +else # WITH_EBCDIC_NL25 +src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl15 + rm -f $@ + $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl15 $(abs_builddir)/src/pcre2_chartables.c +endif # WITH_EBCDIC_NL25 +else # WITH_EBCDIC src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.dist rm -f $@ $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.dist $(abs_builddir)/src/pcre2_chartables.c +endif # WITH_EBCDIC endif # WITH_REBUILD_CHARTABLES BUILT_SOURCES = src/pcre2_chartables.c @@ -159,6 +176,7 @@ COMMON_SOURCES = \ src/pcre2_chkdint.c \ src/pcre2_compile.c \ src/pcre2_compile.h \ + src/pcre2_compile_cgroup.c \ src/pcre2_compile_class.c \ src/pcre2_config.c \ src/pcre2_context.c \ @@ -169,11 +187,10 @@ COMMON_SOURCES = \ src/pcre2_find_bracket.c \ src/pcre2_internal.h \ src/pcre2_intmodedep.h \ - src/pcre2_jit_char_inc.h \ - src/pcre2_jit_compile.c \ src/pcre2_maketables.c \ src/pcre2_match.c \ src/pcre2_match_data.c \ + src/pcre2_match_next.c \ src/pcre2_newline.c \ src/pcre2_ord2utf.c \ src/pcre2_pattern_info.c \ @@ -186,14 +203,11 @@ COMMON_SOURCES = \ src/pcre2_tables.c \ src/pcre2_ucd.c \ src/pcre2_ucp.h \ + src/pcre2_ucptables_inc.h \ src/pcre2_util.h \ src/pcre2_valid_utf.c \ src/pcre2_xclass.c -# The pcre2_ucptables.c file is #included by pcre2_tables.c - -EXTRA_DIST += src/pcre2_ucptables.c - if WITH_PCRE2_8 lib_LTLIBRARIES += libpcre2-8.la libpcre2_8_la_SOURCES = \ @@ -239,10 +253,12 @@ endif # WITH_PCRE2_32 # The pcre2_chartables.c.dist file is the default version of # pcre2_chartables.c, used unless --enable-rebuild-chartables is specified. -EXTRA_DIST += src/pcre2_chartables.c.dist +EXTRA_DIST += \ + src/pcre2_chartables.c.dist \ + src/pcre2_chartables.c.ebcdic-1047-nl15 \ + src/pcre2_chartables.c.ebcdic-1047-nl25 CLEANFILES += src/pcre2_chartables.c - if WITH_PCRE2_8 libpcre2_8_la_LDFLAGS = $(EXTRA_LIBPCRE2_8_LDFLAGS) endif # WITH_PCRE2_8 @@ -292,9 +308,44 @@ libpcre2_posix_la_CFLAGS += $(GCOV_CFLAGS) endif # WITH_GCOV endif # WITH_PCRE2_8 -## If fuzzer support is enabled, build a non-distributed library containing the -## fuzzing function. Also build the standalone checking binary from the same -## source but using -DSTANDALONE. + +## -------- Testing ---------- + +# RunTest and RunGrepTest should clean up after themselves, but just in case +# they don't, add their working files to CLEANFILES. + +CLEANFILES += \ + testSinput \ + testSoutput \ + test3input \ + test3output \ + test3outputA \ + test3outputB \ + testtry \ + teststdout \ + teststderr \ + teststderrgrep \ + testtemp1grep \ + testtemp2grep \ + testtrygrep \ + testNinputgrep + +testoutput-clean: + -rm -rf testoutput8 testoutput8-jit testoutput8-dfa + -rm -rf testoutput16 testoutput16-jit testoutput16-dfa + -rm -rf testoutput32 testoutput32-jit testoutput32-dfa + +CLEAN_LOCAL_TARGETS += testoutput-clean +PHONY_TARGETS += testoutput-clean + +## ------------ End of testing ------------- + +# Symbol version files for use with GNU and Sun ld. + +EXTRA_DIST += \ + src/libpcre2-8.sym src/libpcre2-16.sym src/libpcre2-32.sym \ + src/libpcre2-posix.sym + # gcov/lcov code coverage reporting # @@ -375,35 +426,48 @@ coverage-clean: coverage-reset coverage-clean-report coverage-clean-data coverage-distclean: coverage-clean coverage: coverage-reset coverage-baseline coverage-check coverage-report -clean-local: coverage-clean -distclean-local: coverage-distclean -.PHONY: coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean - -# Without coverage support, still arrange for 'make distclean' to get rid of -# any coverage files that may have been left from a different configuration. +CLEAN_LOCAL_TARGETS += coverage-clean +DISTCLEAN_LOCAL_TARGETS += coverage-distclean +PHONY_TARGETS += coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean else coverage: @echo "Configuring with --enable-coverage is required to generate code coverage report." +# Without coverage support, still arrange for 'make distclean' to get rid of +# any coverage files that may have been left from a different configuration. + DISTCLEANFILES += src/*.gcda src/*.gcno -distclean-local: +coverage-distclean: rm -rf $(PACKAGE)-$(VERSION)-coverage* +DISTCLEAN_LOCAL_TARGETS += coverage-distclean +PHONY_TARGETS += coverage-distclean + endif # WITH_GCOV ## CMake support EXTRA_DIST += \ cmake/COPYING-CMAKE-SCRIPTS \ - cmake/FindEditline.cmake \ - cmake/FindReadline.cmake \ - cmake/pcre2-config-version.cmake.in \ cmake/pcre2-config.cmake.in \ - CMakeLists.txt \ - config-cmake.h.in + cmake/PCRE2CheckVscript.cmake \ + cmake/PCRE2UseSystemExtensions.cmake \ + cmake/PCRE2WarningAsError.cmake \ + src/config-cmake.h.in \ + CMakeLists.txt + +## Set the special make and Automake targets. We could very easily simply +## redefine these targets to append prerequisites to them, rather than +## collecting the prerequisites in variables. However, there is an annoying +## Automake behaviour where it emits a warning if a target has prerequisites +## appended in a conditional block. + +clean-local: $(CLEAN_LOCAL_TARGETS) +distclean-local: $(DISTCLEAN_LOCAL_TARGETS) +.PHONY: $(PHONY_TARGETS) ## end Makefile.am diff --git a/libpcre/Makefile.in b/libpcre/Makefile.in index ccde2c261..5f3463d20 100644 --- a/libpcre/Makefile.in +++ b/libpcre/Makefile.in @@ -93,6 +93,7 @@ POST_UNINSTALL = : build_triplet = @build@ host_triplet = @host@ TESTS = +XFAIL_TESTS = bin_PROGRAMS = noinst_PROGRAMS = $(am__EXEEXT_1) @WITH_REBUILD_CHARTABLES_TRUE@am__append_1 = pcre2_dftables @@ -107,15 +108,23 @@ noinst_PROGRAMS = $(am__EXEEXT_1) @WITH_GCOV_TRUE@@WITH_PCRE2_32_TRUE@am__append_10 = $(GCOV_CFLAGS) @WITH_PCRE2_8_TRUE@am__append_11 = libpcre2-posix.la @WITH_GCOV_TRUE@@WITH_PCRE2_8_TRUE@am__append_12 = $(GCOV_CFLAGS) -@WITH_GCOV_FALSE@am__append_13 = src/*.gcda src/*.gcno +@WITH_GCOV_TRUE@am__append_13 = coverage-clean +@WITH_GCOV_TRUE@am__append_14 = coverage-distclean +@WITH_GCOV_TRUE@am__append_15 = coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean + +# Without coverage support, still arrange for 'make distclean' to get rid of +# any coverage files that may have been left from a different configuration. +@WITH_GCOV_FALSE@am__append_16 = src/*.gcda src/*.gcno +@WITH_GCOV_FALSE@am__append_17 = coverage-distclean +@WITH_GCOV_FALSE@am__append_18 = coverage-distclean subdir = . ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 -am__aclocal_m4_deps = $(top_srcdir)/m4/ax_pthread.m4 \ - $(top_srcdir)/m4/libtool.m4 $(top_srcdir)/m4/ltoptions.m4 \ - $(top_srcdir)/m4/ltsugar.m4 $(top_srcdir)/m4/ltversion.m4 \ - $(top_srcdir)/m4/lt~obsolete.m4 \ +am__aclocal_m4_deps = $(top_srcdir)/m4/ax_check_vscript.m4 \ + $(top_srcdir)/m4/ax_pthread.m4 $(top_srcdir)/m4/libtool.m4 \ + $(top_srcdir)/m4/ltoptions.m4 $(top_srcdir)/m4/ltsugar.m4 \ + $(top_srcdir)/m4/ltversion.m4 $(top_srcdir)/m4/lt~obsolete.m4 \ $(top_srcdir)/m4/pcre2_visibility.m4 \ - $(top_srcdir)/configure.ac + $(top_srcdir)/m4/pcre2_zos.m4 $(top_srcdir)/configure.ac am__configure_deps = $(am__aclocal_m4_deps) $(CONFIGURE_DEPENDENCIES) \ $(ACLOCAL_M4) DIST_COMMON = $(srcdir)/Makefile.am $(top_srcdir)/configure \ @@ -163,22 +172,24 @@ LTLIBRARIES = $(lib_LTLIBRARIES) libpcre2_16_la_DEPENDENCIES = am__libpcre2_16_la_SOURCES_DIST = src/pcre2_auto_possess.c \ src/pcre2_chkdint.c src/pcre2_compile.c src/pcre2_compile.h \ - src/pcre2_compile_class.c src/pcre2_config.c \ - src/pcre2_context.c src/pcre2_convert.c src/pcre2_dfa_match.c \ - src/pcre2_error.c src/pcre2_extuni.c src/pcre2_find_bracket.c \ - src/pcre2_internal.h src/pcre2_intmodedep.h \ - src/pcre2_jit_char_inc.h src/pcre2_jit_compile.c \ - src/pcre2_maketables.c src/pcre2_match.c \ - src/pcre2_match_data.c src/pcre2_newline.c src/pcre2_ord2utf.c \ + src/pcre2_compile_cgroup.c src/pcre2_compile_class.c \ + src/pcre2_config.c src/pcre2_context.c src/pcre2_convert.c \ + src/pcre2_dfa_match.c src/pcre2_error.c src/pcre2_extuni.c \ + src/pcre2_find_bracket.c src/pcre2_internal.h \ + src/pcre2_intmodedep.h src/pcre2_maketables.c \ + src/pcre2_match.c src/pcre2_match_data.c \ + src/pcre2_match_next.c src/pcre2_newline.c src/pcre2_ord2utf.c \ src/pcre2_pattern_info.c src/pcre2_script_run.c \ src/pcre2_serialize.c src/pcre2_string_utils.c \ src/pcre2_study.c src/pcre2_substitute.c src/pcre2_substring.c \ src/pcre2_tables.c src/pcre2_ucd.c src/pcre2_ucp.h \ - src/pcre2_util.h src/pcre2_valid_utf.c src/pcre2_xclass.c + src/pcre2_ucptables_inc.h src/pcre2_util.h \ + src/pcre2_valid_utf.c src/pcre2_xclass.c am__dirstamp = $(am__leading_dot)dirstamp am__objects_1 = src/libpcre2_16_la-pcre2_auto_possess.lo \ src/libpcre2_16_la-pcre2_chkdint.lo \ src/libpcre2_16_la-pcre2_compile.lo \ + src/libpcre2_16_la-pcre2_compile_cgroup.lo \ src/libpcre2_16_la-pcre2_compile_class.lo \ src/libpcre2_16_la-pcre2_config.lo \ src/libpcre2_16_la-pcre2_context.lo \ @@ -187,10 +198,10 @@ am__objects_1 = src/libpcre2_16_la-pcre2_auto_possess.lo \ src/libpcre2_16_la-pcre2_error.lo \ src/libpcre2_16_la-pcre2_extuni.lo \ src/libpcre2_16_la-pcre2_find_bracket.lo \ - src/libpcre2_16_la-pcre2_jit_compile.lo \ src/libpcre2_16_la-pcre2_maketables.lo \ src/libpcre2_16_la-pcre2_match.lo \ src/libpcre2_16_la-pcre2_match_data.lo \ + src/libpcre2_16_la-pcre2_match_next.lo \ src/libpcre2_16_la-pcre2_newline.lo \ src/libpcre2_16_la-pcre2_ord2utf.lo \ src/libpcre2_16_la-pcre2_pattern_info.lo \ @@ -221,21 +232,23 @@ libpcre2_16_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libpcre2_32_la_DEPENDENCIES = am__libpcre2_32_la_SOURCES_DIST = src/pcre2_auto_possess.c \ src/pcre2_chkdint.c src/pcre2_compile.c src/pcre2_compile.h \ - src/pcre2_compile_class.c src/pcre2_config.c \ - src/pcre2_context.c src/pcre2_convert.c src/pcre2_dfa_match.c \ - src/pcre2_error.c src/pcre2_extuni.c src/pcre2_find_bracket.c \ - src/pcre2_internal.h src/pcre2_intmodedep.h \ - src/pcre2_jit_char_inc.h src/pcre2_jit_compile.c \ - src/pcre2_maketables.c src/pcre2_match.c \ - src/pcre2_match_data.c src/pcre2_newline.c src/pcre2_ord2utf.c \ + src/pcre2_compile_cgroup.c src/pcre2_compile_class.c \ + src/pcre2_config.c src/pcre2_context.c src/pcre2_convert.c \ + src/pcre2_dfa_match.c src/pcre2_error.c src/pcre2_extuni.c \ + src/pcre2_find_bracket.c src/pcre2_internal.h \ + src/pcre2_intmodedep.h src/pcre2_maketables.c \ + src/pcre2_match.c src/pcre2_match_data.c \ + src/pcre2_match_next.c src/pcre2_newline.c src/pcre2_ord2utf.c \ src/pcre2_pattern_info.c src/pcre2_script_run.c \ src/pcre2_serialize.c src/pcre2_string_utils.c \ src/pcre2_study.c src/pcre2_substitute.c src/pcre2_substring.c \ src/pcre2_tables.c src/pcre2_ucd.c src/pcre2_ucp.h \ - src/pcre2_util.h src/pcre2_valid_utf.c src/pcre2_xclass.c + src/pcre2_ucptables_inc.h src/pcre2_util.h \ + src/pcre2_valid_utf.c src/pcre2_xclass.c am__objects_3 = src/libpcre2_32_la-pcre2_auto_possess.lo \ src/libpcre2_32_la-pcre2_chkdint.lo \ src/libpcre2_32_la-pcre2_compile.lo \ + src/libpcre2_32_la-pcre2_compile_cgroup.lo \ src/libpcre2_32_la-pcre2_compile_class.lo \ src/libpcre2_32_la-pcre2_config.lo \ src/libpcre2_32_la-pcre2_context.lo \ @@ -244,10 +257,10 @@ am__objects_3 = src/libpcre2_32_la-pcre2_auto_possess.lo \ src/libpcre2_32_la-pcre2_error.lo \ src/libpcre2_32_la-pcre2_extuni.lo \ src/libpcre2_32_la-pcre2_find_bracket.lo \ - src/libpcre2_32_la-pcre2_jit_compile.lo \ src/libpcre2_32_la-pcre2_maketables.lo \ src/libpcre2_32_la-pcre2_match.lo \ src/libpcre2_32_la-pcre2_match_data.lo \ + src/libpcre2_32_la-pcre2_match_next.lo \ src/libpcre2_32_la-pcre2_newline.lo \ src/libpcre2_32_la-pcre2_ord2utf.lo \ src/libpcre2_32_la-pcre2_pattern_info.lo \ @@ -274,21 +287,23 @@ libpcre2_32_la_LINK = $(LIBTOOL) $(AM_V_lt) --tag=CC \ libpcre2_8_la_DEPENDENCIES = am__libpcre2_8_la_SOURCES_DIST = src/pcre2_auto_possess.c \ src/pcre2_chkdint.c src/pcre2_compile.c src/pcre2_compile.h \ - src/pcre2_compile_class.c src/pcre2_config.c \ - src/pcre2_context.c src/pcre2_convert.c src/pcre2_dfa_match.c \ - src/pcre2_error.c src/pcre2_extuni.c src/pcre2_find_bracket.c \ - src/pcre2_internal.h src/pcre2_intmodedep.h \ - src/pcre2_jit_char_inc.h src/pcre2_jit_compile.c \ - src/pcre2_maketables.c src/pcre2_match.c \ - src/pcre2_match_data.c src/pcre2_newline.c src/pcre2_ord2utf.c \ + src/pcre2_compile_cgroup.c src/pcre2_compile_class.c \ + src/pcre2_config.c src/pcre2_context.c src/pcre2_convert.c \ + src/pcre2_dfa_match.c src/pcre2_error.c src/pcre2_extuni.c \ + src/pcre2_find_bracket.c src/pcre2_internal.h \ + src/pcre2_intmodedep.h src/pcre2_maketables.c \ + src/pcre2_match.c src/pcre2_match_data.c \ + src/pcre2_match_next.c src/pcre2_newline.c src/pcre2_ord2utf.c \ src/pcre2_pattern_info.c src/pcre2_script_run.c \ src/pcre2_serialize.c src/pcre2_string_utils.c \ src/pcre2_study.c src/pcre2_substitute.c src/pcre2_substring.c \ src/pcre2_tables.c src/pcre2_ucd.c src/pcre2_ucp.h \ - src/pcre2_util.h src/pcre2_valid_utf.c src/pcre2_xclass.c + src/pcre2_ucptables_inc.h src/pcre2_util.h \ + src/pcre2_valid_utf.c src/pcre2_xclass.c am__objects_5 = src/libpcre2_8_la-pcre2_auto_possess.lo \ src/libpcre2_8_la-pcre2_chkdint.lo \ src/libpcre2_8_la-pcre2_compile.lo \ + src/libpcre2_8_la-pcre2_compile_cgroup.lo \ src/libpcre2_8_la-pcre2_compile_class.lo \ src/libpcre2_8_la-pcre2_config.lo \ src/libpcre2_8_la-pcre2_context.lo \ @@ -297,10 +312,10 @@ am__objects_5 = src/libpcre2_8_la-pcre2_auto_possess.lo \ src/libpcre2_8_la-pcre2_error.lo \ src/libpcre2_8_la-pcre2_extuni.lo \ src/libpcre2_8_la-pcre2_find_bracket.lo \ - src/libpcre2_8_la-pcre2_jit_compile.lo \ src/libpcre2_8_la-pcre2_maketables.lo \ src/libpcre2_8_la-pcre2_match.lo \ src/libpcre2_8_la-pcre2_match_data.lo \ + src/libpcre2_8_la-pcre2_match_next.lo \ src/libpcre2_8_la-pcre2_newline.lo \ src/libpcre2_8_la-pcre2_ord2utf.lo \ src/libpcre2_8_la-pcre2_pattern_info.lo \ @@ -359,6 +374,7 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_16_la-pcre2_chartables.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_chkdint.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_compile.Plo \ + src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_config.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_context.Plo \ @@ -367,10 +383,10 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_16_la-pcre2_error.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_extuni.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_find_bracket.Plo \ - src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_match.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_match_data.Plo \ + src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_ord2utf.Plo \ src/$(DEPDIR)/libpcre2_16_la-pcre2_pattern_info.Plo \ @@ -388,6 +404,7 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_32_la-pcre2_chartables.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_chkdint.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_compile.Plo \ + src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_config.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_context.Plo \ @@ -396,10 +413,10 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_32_la-pcre2_error.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_extuni.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_find_bracket.Plo \ - src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_match.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_match_data.Plo \ + src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_ord2utf.Plo \ src/$(DEPDIR)/libpcre2_32_la-pcre2_pattern_info.Plo \ @@ -417,6 +434,7 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_8_la-pcre2_chartables.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_chkdint.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_compile.Plo \ + src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_config.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_context.Plo \ @@ -425,10 +443,10 @@ am__depfiles_remade = \ src/$(DEPDIR)/libpcre2_8_la-pcre2_error.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_extuni.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_find_bracket.Plo \ - src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_match.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_match_data.Plo \ + src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_ord2utf.Plo \ src/$(DEPDIR)/libpcre2_8_la-pcre2_pattern_info.Plo \ @@ -708,6 +726,7 @@ CC = @CC@ CCDEPMODE = @CCDEPMODE@ CET_CFLAGS = @CET_CFLAGS@ CFLAGS = @CFLAGS@ +CPP = @CPP@ CPPFLAGS = @CPPFLAGS@ CSCOPE = @CSCOPE@ CTAGS = @CTAGS@ @@ -784,6 +803,7 @@ PKG_CONFIG_LIBDIR = @PKG_CONFIG_LIBDIR@ PKG_CONFIG_PATH = @PKG_CONFIG_PATH@ PTHREAD_CC = @PTHREAD_CC@ PTHREAD_CFLAGS = @PTHREAD_CFLAGS@ +PTHREAD_CXX = @PTHREAD_CXX@ PTHREAD_LIBS = @PTHREAD_LIBS@ RANLIB = @RANLIB@ SED = @SED@ @@ -795,6 +815,7 @@ VALGRIND_CFLAGS = @VALGRIND_CFLAGS@ VALGRIND_LIBS = @VALGRIND_LIBS@ VERSION = @VERSION@ VISIBILITY_CFLAGS = @VISIBILITY_CFLAGS@ +VSCRIPT_LDFLAGS = @VSCRIPT_LDFLAGS@ abs_builddir = @abs_builddir@ abs_srcdir = @abs_srcdir@ abs_top_builddir = @abs_top_builddir@ @@ -855,6 +876,9 @@ top_srcdir = @top_srcdir@ AUTOMAKE_OPTIONS = subdir-objects ACLOCAL_AMFLAGS = -I m4 AM_CPPFLAGS = "-I$(srcdir)/src" +CLEAN_LOCAL_TARGETS = testoutput-clean $(am__append_13) +DISTCLEAN_LOCAL_TARGETS = $(am__append_14) $(am__append_17) +PHONY_TARGETS = testoutput-clean $(am__append_15) $(am__append_18) dist_doc_DATA = \ AUTHORS.md \ LICENCE.md \ @@ -872,10 +896,14 @@ dist_noinst_SCRIPTS = # those binaries that *this* configuration has created. If the configuration # has been changed, some binaries may not get automatically deleted. Therefore # we list them here. -CLEANFILES = pcre2_dftables pcre2_jit_test pcre2fuzzcheck-8 \ - pcre2fuzzcheck-16 pcre2fuzzcheck-32 pcre2demo \ - src/pcre2_chartables.c -DISTCLEANFILES = src/config.h.in~ $(am__append_13) + +# RunTest and RunGrepTest should clean up after themselves, but just in case +# they don't, add their working files to CLEANFILES. +CLEANFILES = pcre2_dftables src/pcre2_chartables.c testSinput \ + testSoutput test3input test3output test3outputA test3outputB \ + testtry teststdout teststderr teststderrgrep testtemp1grep \ + testtemp2grep testtrygrep testNinputgrep +DISTCLEANFILES = src/config.h.in~ $(am__append_16) MAINTAINERCLEANFILES = src/pcre2.h.generic src/config.h.generic # Additional files to bundle with the distribution, over and above what @@ -891,18 +919,24 @@ MAINTAINERCLEANFILES = src/pcre2.h.generic src/config.h.generic # for the benefit of people who are building PCRE2 manually, without the # Autotools support. -# The pcre2_ucptables.c file is #included by pcre2_tables.c - # The pcre2_chartables.c.dist file is the default version of # pcre2_chartables.c, used unless --enable-rebuild-chartables is specified. -EXTRA_DIST = m4/ax_pthread.m4 m4/pcre2_visibility.m4 BUILD.bazel \ - MODULE.bazel WORKSPACE.bazel build.zig vms/configure.com \ + +# Symbol version files for use with GNU and Sun ld. +EXTRA_DIST = m4/ax_check_vscript.m4 m4/ax_pthread.m4 \ + m4/pcre2_visibility.m4 m4/pcre2_zos.m4 BUILD.bazel \ + MODULE.bazel build.zig vms/configure.com \ vms/openvms_readme.txt vms/pcre2.h_patch vms/stdint.h \ - src/pcre2.h.generic src/config.h.generic src/pcre2_ucptables.c \ - src/pcre2_chartables.c.dist cmake/COPYING-CMAKE-SCRIPTS \ - cmake/FindEditline.cmake cmake/FindReadline.cmake \ - cmake/pcre2-config-version.cmake.in \ - cmake/pcre2-config.cmake.in CMakeLists.txt config-cmake.h.in + src/pcre2.h.generic src/config.h.generic \ + src/pcre2_chartables.c.dist \ + src/pcre2_chartables.c.ebcdic-1047-nl15 \ + src/pcre2_chartables.c.ebcdic-1047-nl25 src/libpcre2-8.sym \ + src/libpcre2-16.sym src/libpcre2-32.sym src/libpcre2-posix.sym \ + cmake/COPYING-CMAKE-SCRIPTS cmake/pcre2-config.cmake.in \ + cmake/PCRE2CheckVscript.cmake \ + cmake/PCRE2UseSystemExtensions.cmake \ + cmake/PCRE2WarningAsError.cmake src/config-cmake.h.in \ + CMakeLists.txt # These are the header files we'll install. We do not distribute pcre2.h # because it is generated from pcre2.h.in. @@ -919,6 +953,7 @@ COMMON_SOURCES = \ src/pcre2_chkdint.c \ src/pcre2_compile.c \ src/pcre2_compile.h \ + src/pcre2_compile_cgroup.c \ src/pcre2_compile_class.c \ src/pcre2_config.c \ src/pcre2_context.c \ @@ -929,11 +964,10 @@ COMMON_SOURCES = \ src/pcre2_find_bracket.c \ src/pcre2_internal.h \ src/pcre2_intmodedep.h \ - src/pcre2_jit_char_inc.h \ - src/pcre2_jit_compile.c \ src/pcre2_maketables.c \ src/pcre2_match.c \ src/pcre2_match_data.c \ + src/pcre2_match_next.c \ src/pcre2_newline.c \ src/pcre2_ord2utf.c \ src/pcre2_pattern_info.c \ @@ -946,6 +980,7 @@ COMMON_SOURCES = \ src/pcre2_tables.c \ src/pcre2_ucd.c \ src/pcre2_ucp.h \ + src/pcre2_ucptables_inc.h \ src/pcre2_util.h \ src/pcre2_valid_utf.c \ src/pcre2_xclass.c @@ -1181,6 +1216,8 @@ src/libpcre2_16_la-pcre2_chkdint.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_compile.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_16_la-pcre2_compile_cgroup.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_compile_class.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_config.lo: src/$(am__dirstamp) \ @@ -1197,14 +1234,14 @@ src/libpcre2_16_la-pcre2_extuni.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_find_bracket.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) -src/libpcre2_16_la-pcre2_jit_compile.lo: src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_maketables.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_match.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_match_data.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_16_la-pcre2_match_next.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_newline.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_16_la-pcre2_ord2utf.lo: src/$(am__dirstamp) \ @@ -1242,6 +1279,8 @@ src/libpcre2_32_la-pcre2_chkdint.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_compile.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_32_la-pcre2_compile_cgroup.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_compile_class.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_config.lo: src/$(am__dirstamp) \ @@ -1258,14 +1297,14 @@ src/libpcre2_32_la-pcre2_extuni.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_find_bracket.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) -src/libpcre2_32_la-pcre2_jit_compile.lo: src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_maketables.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_match.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_match_data.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_32_la-pcre2_match_next.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_newline.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_32_la-pcre2_ord2utf.lo: src/$(am__dirstamp) \ @@ -1303,6 +1342,8 @@ src/libpcre2_8_la-pcre2_chkdint.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_compile.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_8_la-pcre2_compile_cgroup.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_compile_class.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_config.lo: src/$(am__dirstamp) \ @@ -1319,14 +1360,14 @@ src/libpcre2_8_la-pcre2_extuni.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_find_bracket.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) -src/libpcre2_8_la-pcre2_jit_compile.lo: src/$(am__dirstamp) \ - src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_maketables.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_match.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_match_data.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) +src/libpcre2_8_la-pcre2_match_next.lo: src/$(am__dirstamp) \ + src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_newline.lo: src/$(am__dirstamp) \ src/$(DEPDIR)/$(am__dirstamp) src/libpcre2_8_la-pcre2_ord2utf.lo: src/$(am__dirstamp) \ @@ -1417,6 +1458,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_chartables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_chkdint.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_compile.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_config.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_context.Plo@am__quote@ # am--include-marker @@ -1425,10 +1467,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_error.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_extuni.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_find_bracket.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_match.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_match_data.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_ord2utf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_16_la-pcre2_pattern_info.Plo@am__quote@ # am--include-marker @@ -1446,6 +1488,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_chartables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_chkdint.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_compile.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_config.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_context.Plo@am__quote@ # am--include-marker @@ -1454,10 +1497,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_error.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_extuni.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_find_bracket.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_match.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_match_data.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_ord2utf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_32_la-pcre2_pattern_info.Plo@am__quote@ # am--include-marker @@ -1475,6 +1518,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_chartables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_chkdint.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_compile.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_config.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_context.Plo@am__quote@ # am--include-marker @@ -1483,10 +1527,10 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_error.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_extuni.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_find_bracket.Plo@am__quote@ # am--include-marker -@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_match.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_match_data.Plo@am__quote@ # am--include-marker +@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_ord2utf.Plo@am__quote@ # am--include-marker @AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/libpcre2_8_la-pcre2_pattern_info.Plo@am__quote@ # am--include-marker @@ -1554,6 +1598,13 @@ src/libpcre2_16_la-pcre2_compile.lo: src/pcre2_compile.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_compile.lo `test -f 'src/pcre2_compile.c' || echo '$(srcdir)/'`src/pcre2_compile.c +src/libpcre2_16_la-pcre2_compile_cgroup.lo: src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_compile_cgroup.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Tpo -c -o src/libpcre2_16_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_compile_cgroup.c' object='src/libpcre2_16_la-pcre2_compile_cgroup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c + src/libpcre2_16_la-pcre2_compile_class.lo: src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_compile_class.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Tpo -c -o src/libpcre2_16_la-pcre2_compile_class.lo `test -f 'src/pcre2_compile_class.c' || echo '$(srcdir)/'`src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Plo @@ -1610,13 +1661,6 @@ src/libpcre2_16_la-pcre2_find_bracket.lo: src/pcre2_find_bracket.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_find_bracket.lo `test -f 'src/pcre2_find_bracket.c' || echo '$(srcdir)/'`src/pcre2_find_bracket.c -src/libpcre2_16_la-pcre2_jit_compile.lo: src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_jit_compile.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Tpo -c -o src/libpcre2_16_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_jit_compile.c' object='src/libpcre2_16_la-pcre2_jit_compile.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c - src/libpcre2_16_la-pcre2_maketables.lo: src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_maketables.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Tpo -c -o src/libpcre2_16_la-pcre2_maketables.lo `test -f 'src/pcre2_maketables.c' || echo '$(srcdir)/'`src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Plo @@ -1638,6 +1682,13 @@ src/libpcre2_16_la-pcre2_match_data.lo: src/pcre2_match_data.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_match_data.lo `test -f 'src/pcre2_match_data.c' || echo '$(srcdir)/'`src/pcre2_match_data.c +src/libpcre2_16_la-pcre2_match_next.lo: src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_match_next.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Tpo -c -o src/libpcre2_16_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_match_next.c' object='src/libpcre2_16_la-pcre2_match_next.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_16_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c + src/libpcre2_16_la-pcre2_newline.lo: src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_16_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_16_la-pcre2_newline.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Tpo -c -o src/libpcre2_16_la-pcre2_newline.lo `test -f 'src/pcre2_newline.c' || echo '$(srcdir)/'`src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Tpo src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Plo @@ -1757,6 +1808,13 @@ src/libpcre2_32_la-pcre2_compile.lo: src/pcre2_compile.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_compile.lo `test -f 'src/pcre2_compile.c' || echo '$(srcdir)/'`src/pcre2_compile.c +src/libpcre2_32_la-pcre2_compile_cgroup.lo: src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_compile_cgroup.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Tpo -c -o src/libpcre2_32_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_compile_cgroup.c' object='src/libpcre2_32_la-pcre2_compile_cgroup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c + src/libpcre2_32_la-pcre2_compile_class.lo: src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_compile_class.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Tpo -c -o src/libpcre2_32_la-pcre2_compile_class.lo `test -f 'src/pcre2_compile_class.c' || echo '$(srcdir)/'`src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Plo @@ -1813,13 +1871,6 @@ src/libpcre2_32_la-pcre2_find_bracket.lo: src/pcre2_find_bracket.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_find_bracket.lo `test -f 'src/pcre2_find_bracket.c' || echo '$(srcdir)/'`src/pcre2_find_bracket.c -src/libpcre2_32_la-pcre2_jit_compile.lo: src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_jit_compile.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Tpo -c -o src/libpcre2_32_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_jit_compile.c' object='src/libpcre2_32_la-pcre2_jit_compile.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c - src/libpcre2_32_la-pcre2_maketables.lo: src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_maketables.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Tpo -c -o src/libpcre2_32_la-pcre2_maketables.lo `test -f 'src/pcre2_maketables.c' || echo '$(srcdir)/'`src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Plo @@ -1841,6 +1892,13 @@ src/libpcre2_32_la-pcre2_match_data.lo: src/pcre2_match_data.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_match_data.lo `test -f 'src/pcre2_match_data.c' || echo '$(srcdir)/'`src/pcre2_match_data.c +src/libpcre2_32_la-pcre2_match_next.lo: src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_match_next.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Tpo -c -o src/libpcre2_32_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_match_next.c' object='src/libpcre2_32_la-pcre2_match_next.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_32_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c + src/libpcre2_32_la-pcre2_newline.lo: src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_32_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_32_la-pcre2_newline.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Tpo -c -o src/libpcre2_32_la-pcre2_newline.lo `test -f 'src/pcre2_newline.c' || echo '$(srcdir)/'`src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Tpo src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Plo @@ -1960,6 +2018,13 @@ src/libpcre2_8_la-pcre2_compile.lo: src/pcre2_compile.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_compile.lo `test -f 'src/pcre2_compile.c' || echo '$(srcdir)/'`src/pcre2_compile.c +src/libpcre2_8_la-pcre2_compile_cgroup.lo: src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_compile_cgroup.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Tpo -c -o src/libpcre2_8_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_compile_cgroup.c' object='src/libpcre2_8_la-pcre2_compile_cgroup.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_compile_cgroup.lo `test -f 'src/pcre2_compile_cgroup.c' || echo '$(srcdir)/'`src/pcre2_compile_cgroup.c + src/libpcre2_8_la-pcre2_compile_class.lo: src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_compile_class.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Tpo -c -o src/libpcre2_8_la-pcre2_compile_class.lo `test -f 'src/pcre2_compile_class.c' || echo '$(srcdir)/'`src/pcre2_compile_class.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Plo @@ -2016,13 +2081,6 @@ src/libpcre2_8_la-pcre2_find_bracket.lo: src/pcre2_find_bracket.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_find_bracket.lo `test -f 'src/pcre2_find_bracket.c' || echo '$(srcdir)/'`src/pcre2_find_bracket.c -src/libpcre2_8_la-pcre2_jit_compile.lo: src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_jit_compile.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Tpo -c -o src/libpcre2_8_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c -@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Plo -@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_jit_compile.c' object='src/libpcre2_8_la-pcre2_jit_compile.lo' libtool=yes @AMDEPBACKSLASH@ -@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ -@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_jit_compile.lo `test -f 'src/pcre2_jit_compile.c' || echo '$(srcdir)/'`src/pcre2_jit_compile.c - src/libpcre2_8_la-pcre2_maketables.lo: src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_maketables.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Tpo -c -o src/libpcre2_8_la-pcre2_maketables.lo `test -f 'src/pcre2_maketables.c' || echo '$(srcdir)/'`src/pcre2_maketables.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Plo @@ -2044,6 +2102,13 @@ src/libpcre2_8_la-pcre2_match_data.lo: src/pcre2_match_data.c @AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ @am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_match_data.lo `test -f 'src/pcre2_match_data.c' || echo '$(srcdir)/'`src/pcre2_match_data.c +src/libpcre2_8_la-pcre2_match_next.lo: src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_match_next.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Tpo -c -o src/libpcre2_8_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c +@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Plo +@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/pcre2_match_next.c' object='src/libpcre2_8_la-pcre2_match_next.lo' libtool=yes @AMDEPBACKSLASH@ +@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@ +@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -c -o src/libpcre2_8_la-pcre2_match_next.lo `test -f 'src/pcre2_match_next.c' || echo '$(srcdir)/'`src/pcre2_match_next.c + src/libpcre2_8_la-pcre2_newline.lo: src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_CC)$(LIBTOOL) $(AM_V_lt) --tag=CC $(AM_LIBTOOLFLAGS) $(LIBTOOLFLAGS) --mode=compile $(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(libpcre2_8_la_CFLAGS) $(CFLAGS) -MT src/libpcre2_8_la-pcre2_newline.lo -MD -MP -MF src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Tpo -c -o src/libpcre2_8_la-pcre2_newline.lo `test -f 'src/pcre2_newline.c' || echo '$(srcdir)/'`src/pcre2_newline.c @am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Tpo src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Plo @@ -2660,7 +2725,6 @@ maintainer-clean-generic: @echo "it deletes files that may require special tools to rebuild." -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) -@WITH_GCOV_FALSE@clean-local: clean: clean-am clean-am: clean-binPROGRAMS clean-generic clean-libLTLIBRARIES \ @@ -2672,6 +2736,7 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_context.Plo @@ -2680,10 +2745,10 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_pattern_info.Plo @@ -2701,6 +2766,7 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_context.Plo @@ -2709,10 +2775,10 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_pattern_info.Plo @@ -2730,6 +2796,7 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_context.Plo @@ -2738,10 +2805,10 @@ distclean: distclean-am -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_pattern_info.Plo @@ -2810,6 +2877,7 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_context.Plo @@ -2818,10 +2886,10 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_16_la-pcre2_pattern_info.Plo @@ -2839,6 +2907,7 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_context.Plo @@ -2847,10 +2916,10 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_32_la-pcre2_pattern_info.Plo @@ -2868,6 +2937,7 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_chartables.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_chkdint.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile.Plo + -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_cgroup.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_compile_class.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_config.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_context.Plo @@ -2876,10 +2946,10 @@ maintainer-clean: maintainer-clean-am -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_error.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_extuni.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_find_bracket.Plo - -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_jit_compile.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_maketables.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match_data.Plo + -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_match_next.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_newline.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_ord2utf.Plo -rm -f src/$(DEPDIR)/libpcre2_8_la-pcre2_pattern_info.Plo @@ -2961,8 +3031,9 @@ src/pcre2.h.generic: src/pcre2.h.in configure.ac # running configure in a new directory, it complains. For this reason, we move # config.status out of the way while doing the default configuration. The # resulting config.h is munged by perl to put #ifdefs round any #defines for -# macros with values, and to #undef all boolean macros such as HAVE_xxx and -# SUPPORT_xxx. We also get rid of any gcc-specific visibility settings. +# macros with values, and to #undef all boolean macros such as HAVE_xxx, +# SUPPORT_xxx, and PCRE2_STATIC/PCRE2POSIX_SHARED. We also get rid of any +# GCC-specific visibility settings. src/config.h.generic: configure.ac rm -rf $@ _generic @@ -2972,20 +3043,31 @@ src/config.h.generic: configure.ac cs=$(srcdir)/config.status; test ! -f $$cs.aside || mv -f $$cs.aside $$cs test -f _generic/src/config.h perl -n \ - -e 'BEGIN{$$blank=0;}' \ - -e 'if(/(.+?)\s*__attribute__ \(\(visibility/){print"$$1\n";$$blank=0;next;}' \ - -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \ - -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \ - -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \ - -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \ - _generic/src/config.h >$@ + -e 'BEGIN{$$blank=0;}' \ + -e 'if(/(.+?)\s*__attribute__ \(\(visibility/){print"$$1\n";$$blank=0;next;}' \ + -e 'if(/LT_OBJDIR/){print"/* This is ignored unless you are using libtool. */\n";}' \ + -e 'if(/^#define\s((?:HAVE|SUPPORT|STDC)_\w+|PCRE2_STATIC|PCRE2POSIX_SHARED)/){print"/* #undef $$1 */\n";$$blank=0;next;}' \ + -e 'if(/^#define\s(?!PACKAGE|VERSION)(\w+)/){print"#ifndef $$1\n$$_#endif\n";$$blank=0;next;}' \ + -e 'if(/^\s*$$/){print unless $$blank; $$blank=1;} else{print;$$blank=0;}' \ + _generic/src/config.h >$@ rm -rf _generic @WITH_REBUILD_CHARTABLES_TRUE@src/pcre2_chartables.c: pcre2_dftables$(EXEEXT) @WITH_REBUILD_CHARTABLES_TRUE@ rm -f $@ @WITH_REBUILD_CHARTABLES_TRUE@ ./pcre2_dftables$(EXEEXT) $@ -@WITH_REBUILD_CHARTABLES_FALSE@src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.dist -@WITH_REBUILD_CHARTABLES_FALSE@ rm -f $@ -@WITH_REBUILD_CHARTABLES_FALSE@ $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.dist $(abs_builddir)/src/pcre2_chartables.c +@WITH_EBCDIC_NL25_TRUE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl25 +@WITH_EBCDIC_NL25_TRUE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@ rm -f $@ +@WITH_EBCDIC_NL25_TRUE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@ $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl25 $(abs_builddir)/src/pcre2_chartables.c +@WITH_EBCDIC_NL25_FALSE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl15 +@WITH_EBCDIC_NL25_FALSE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@ rm -f $@ +@WITH_EBCDIC_NL25_FALSE@@WITH_EBCDIC_TRUE@@WITH_REBUILD_CHARTABLES_FALSE@ $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.ebcdic-1047-nl15 $(abs_builddir)/src/pcre2_chartables.c +@WITH_EBCDIC_FALSE@@WITH_REBUILD_CHARTABLES_FALSE@src/pcre2_chartables.c: $(srcdir)/src/pcre2_chartables.c.dist +@WITH_EBCDIC_FALSE@@WITH_REBUILD_CHARTABLES_FALSE@ rm -f $@ +@WITH_EBCDIC_FALSE@@WITH_REBUILD_CHARTABLES_FALSE@ $(LN_S) $(abs_srcdir)/src/pcre2_chartables.c.dist $(abs_builddir)/src/pcre2_chartables.c + +testoutput-clean: + -rm -rf testoutput8 testoutput8-jit testoutput8-dfa + -rm -rf testoutput16 testoutput16-jit testoutput16-dfa + -rm -rf testoutput32 testoutput32-jit testoutput32-dfa @WITH_GCOV_TRUE@coverage-check: all @WITH_GCOV_TRUE@ -$(MAKE) $(AM_MAKEFLAGS) -k check @@ -3039,20 +3121,17 @@ src/config.h.generic: configure.ac @WITH_GCOV_TRUE@coverage-distclean: coverage-clean @WITH_GCOV_TRUE@coverage: coverage-reset coverage-baseline coverage-check coverage-report -@WITH_GCOV_TRUE@clean-local: coverage-clean -@WITH_GCOV_TRUE@distclean-local: coverage-distclean - -@WITH_GCOV_TRUE@.PHONY: coverage coverage-baseline coverage-check coverage-report coverage-reset coverage-clean-report coverage-clean-data coverage-clean coverage-distclean - -# Without coverage support, still arrange for 'make distclean' to get rid of -# any coverage files that may have been left from a different configuration. @WITH_GCOV_FALSE@coverage: @WITH_GCOV_FALSE@ @echo "Configuring with --enable-coverage is required to generate code coverage report." -@WITH_GCOV_FALSE@distclean-local: +@WITH_GCOV_FALSE@coverage-distclean: @WITH_GCOV_FALSE@ rm -rf $(PACKAGE)-$(VERSION)-coverage* +clean-local: $(CLEAN_LOCAL_TARGETS) +distclean-local: $(DISTCLEAN_LOCAL_TARGETS) +.PHONY: $(PHONY_TARGETS) + # Tell versions [3.59,3.63) of GNU make to not export all variables. # Otherwise a system limit (for SysV at least) may be exceeded. .NOEXPORT: diff --git a/libpcre/NMAP_MODIFICATIONS b/libpcre/NMAP_MODIFICATIONS index bb695e116..f8140cfd8 100644 --- a/libpcre/NMAP_MODIFICATIONS +++ b/libpcre/NMAP_MODIFICATIONS @@ -18,6 +18,7 @@ src/pcre2grep.c src/pcre2demo.c src/pcre2_fuzzsupport.c src/pcre2_printint.c +src/pcre2_jit_compile.c src/pcre2_jit_char_inc.h src/pcre2_jit_match.c src/pcre2_jit_misc.c @@ -42,6 +43,6 @@ README INSTALL NON-AUTOTOOLS-BUILDS -o Made relevant changes to Makefile.am, configure.ac, CMakeLists.txt, and - src/pcre2_jit_compile.c to accommodate our smaller, non-JIT build - and to disable Unicode support by default. +o Made relevant changes to Makefile.am, configure.ac, and CMakeLists.txt to + accommodate our smaller, non-JIT build and to disable Unicode support by + default. diff --git a/libpcre/SECURITY.md b/libpcre/SECURITY.md index 1e3a05b9a..a9cd7c166 100644 --- a/libpcre/SECURITY.md +++ b/libpcre/SECURITY.md @@ -1,6 +1,8 @@ -# Security policies +Security policies +================= -## Release security +Release security +---------------- The PCRE2 project provides source-only releases, with no binaries. @@ -20,7 +22,14 @@ Git checkout of the (GPG-signed) release tag. Please contact the maintainers for any queries about release integrity or the project's supply-chain. -## Reporting vulnerabilities +Previous vulnerabilities +------------------------ + +* CVE-2025-58050 (August 2025). Affects 10.45 only (not earlier), and is fixed + in 10.46. + +Reporting vulnerabilities +------------------------- The PCRE2 project prioritises security. We appreciate third-party testing and security research, and would be grateful if you could responsibly disclose your @@ -38,7 +47,13 @@ aim to respond within 1 week, or perhaps 2 during holidays. ### Response procedure -PCRE2 has never previously made a rapid or embargoed release in response to a -security incident. We would work with security managers from trusted downstream -distributors, such as major Linux distributions, before disclosing the -vulnerability publicly. +PCRE2 has in the past made at least one rapid release in response to +security incidents. + +We have never produced an embargoed release, or provided preferential +access to security fixes to any clients. + +We would aim to notify security managers from trusted downstream distributors, +such as major Linux distributions, via the `pcre2-dev` mailing list, by +publicly signalling an upcoming security release before disclosing the +vulnerability publicly, where advance notification is possible. diff --git a/libpcre/WORKSPACE.bazel b/libpcre/WORKSPACE.bazel deleted file mode 100644 index 4ce2c8ced..000000000 --- a/libpcre/WORKSPACE.bazel +++ /dev/null @@ -1 +0,0 @@ -# See MODULE.bazel diff --git a/libpcre/aclocal.m4 b/libpcre/aclocal.m4 index d7c332c20..ea61c79a4 100644 --- a/libpcre/aclocal.m4 +++ b/libpcre/aclocal.m4 @@ -1588,6 +1588,7 @@ AC_SUBST([am__tar]) AC_SUBST([am__untar]) ]) # _AM_PROG_TAR +m4_include([m4/ax_check_vscript.m4]) m4_include([m4/ax_pthread.m4]) m4_include([m4/libtool.m4]) m4_include([m4/ltoptions.m4]) @@ -1595,3 +1596,4 @@ m4_include([m4/ltsugar.m4]) m4_include([m4/ltversion.m4]) m4_include([m4/lt~obsolete.m4]) m4_include([m4/pcre2_visibility.m4]) +m4_include([m4/pcre2_zos.m4]) diff --git a/libpcre/build.zig b/libpcre/build.zig index 4cb6d99d6..960137ab3 100644 --- a/libpcre/build.zig +++ b/libpcre/build.zig @@ -11,13 +11,14 @@ pub fn build(b: *std.Build) !void { const optimize = b.standardOptimizeOption(.{}); const linkage = b.option(std.builtin.LinkMode, "linkage", "whether to statically or dynamically link the library") orelse @as(std.builtin.LinkMode, if (target.result.isGnuLibC()) .dynamic else .static); const codeUnitWidth = b.option(CodeUnitWidth, "code-unit-width", "Sets the code unit width") orelse .@"8"; + const jit = b.option(bool, "support_jit", "Enable/disable JIT compiler support") orelse false; const pcre2_header_dir = b.addWriteFiles(); const pcre2_header = pcre2_header_dir.addCopyFile(b.path("src/pcre2.h.generic"), "pcre2.h"); const config_header = b.addConfigHeader( .{ - .style = .{ .cmake = b.path("config-cmake.h.in") }, + .style = .{ .cmake = b.path("src/config-cmake.h.in") }, .include_path = "config.h", }, .{ @@ -25,13 +26,15 @@ pub fn build(b: *std.Build) !void { .HAVE_UNISTD_H = (target.result.os.tag != .windows), .HAVE_WINDOWS_H = (target.result.os.tag == .windows), - .HAVE_MEMMOVE = true, - .HAVE_STRERROR = true, + .HAVE_ATTRIBUTE_UNINITIALIZED = true, + .HAVE_BUILTIN_MUL_OVERFLOW = true, + .HAVE_BUILTIN_UNREACHABLE = true, .SUPPORT_PCRE2_8 = codeUnitWidth == CodeUnitWidth.@"8", .SUPPORT_PCRE2_16 = codeUnitWidth == CodeUnitWidth.@"16", .SUPPORT_PCRE2_32 = codeUnitWidth == CodeUnitWidth.@"32", .SUPPORT_UNICODE = true, + .SUPPORT_JIT = jit, .PCRE2_EXPORT = null, .PCRE2_LINK_SIZE = 2, @@ -41,28 +44,31 @@ pub fn build(b: *std.Build) !void { .PCRE2_MAX_VARLOOKBEHIND = 255, .NEWLINE_DEFAULT = 2, .PCRE2_PARENS_NEST_LIMIT = 250, + .PCRE2GREP_BUFSIZE = 20480, + .PCRE2GREP_MAX_BUFSIZE = 1048576, }, ); - // pcre2-8/16/32.so + // pcre2-8/16/32 library - const lib = std.Build.Step.Compile.create(b, .{ - .name = b.fmt("pcre2-{s}", .{@tagName(codeUnitWidth)}), - .root_module = .{ - .target = target, - .optimize = optimize, - .link_libc = true, - }, - .kind = .lib, - .linkage = linkage, + const lib_mod = b.createModule(.{ + .target = target, + .optimize = optimize, + .link_libc = true, }); - lib.defineCMacro("HAVE_CONFIG_H", null); - lib.defineCMacro("PCRE2_CODE_UNIT_WIDTH", @tagName(codeUnitWidth)); + lib_mod.addCMacro("HAVE_CONFIG_H", ""); + lib_mod.addCMacro("PCRE2_CODE_UNIT_WIDTH", @tagName(codeUnitWidth)); if (linkage == .static) { - lib.defineCMacro("PCRE2_STATIC", null); + lib_mod.addCMacro("PCRE2_STATIC", ""); } + const lib = b.addLibrary(.{ + .name = b.fmt("pcre2-{s}", .{@tagName(codeUnitWidth)}), + .root_module = lib_mod, + .linkage = linkage, + }); + lib.addConfigHeader(config_header); lib.addIncludePath(pcre2_header_dir.getDirectory()); lib.addIncludePath(b.path("src")); @@ -76,6 +82,7 @@ pub fn build(b: *std.Build) !void { "src/pcre2_auto_possess.c", "src/pcre2_chkdint.c", "src/pcre2_compile.c", + "src/pcre2_compile_cgroup.c", "src/pcre2_compile_class.c", "src/pcre2_config.c", "src/pcre2_context.c", @@ -88,6 +95,7 @@ pub fn build(b: *std.Build) !void { "src/pcre2_maketables.c", "src/pcre2_match.c", "src/pcre2_match_data.c", + "src/pcre2_match_next.c", "src/pcre2_newline.c", "src/pcre2_ord2utf.c", "src/pcre2_pattern_info.c", @@ -107,36 +115,49 @@ pub fn build(b: *std.Build) !void { lib.installHeader(pcre2_header, "pcre2.h"); b.installArtifact(lib); - // pcre2test + const pcre2test_mod = b.createModule(.{ + .target = target, + .optimize = optimize, + .link_libc = true, + }); + + pcre2test_mod.addCMacro("HAVE_CONFIG_H", ""); + if (linkage == .static) { + pcre2test_mod.addCMacro("PCRE2_STATIC", ""); + } else { + pcre2test_mod.addCMacro("PCRE2POSIX_SHARED", ""); + } + const pcre2test = b.addExecutable(.{ .name = "pcre2test", - .target = target, - .optimize = optimize, + .root_module = pcre2test_mod, }); - - // pcre2-posix.so + // pcre2-posix library if (codeUnitWidth == CodeUnitWidth.@"8") { - const posixLib = std.Build.Step.Compile.create(b, .{ - .name = "pcre2-posix", - .root_module = .{ - .target = target, - .optimize = optimize, - .link_libc = true, - }, - .kind = .lib, - .linkage = linkage, + const posixLib_mod = b.createModule(.{ + .target = target, + .optimize = optimize, + .link_libc = true, }); - posixLib.defineCMacro("HAVE_CONFIG_H", null); - posixLib.defineCMacro("PCRE2_CODE_UNIT_WIDTH", @tagName(codeUnitWidth)); + posixLib_mod.addCMacro("HAVE_CONFIG_H", ""); + posixLib_mod.addCMacro("PCRE2_CODE_UNIT_WIDTH", @tagName(codeUnitWidth)); if (linkage == .static) { - posixLib.defineCMacro("PCRE2_STATIC", null); + posixLib_mod.addCMacro("PCRE2_STATIC", ""); + } else { + posixLib_mod.addCMacro("PCRE2POSIX_SHARED", ""); } + const posixLib = b.addLibrary(.{ + .name = "pcre2-posix", + .root_module = posixLib_mod, + .linkage = linkage, + }); + posixLib.addConfigHeader(config_header); posixLib.addIncludePath(pcre2_header_dir.getDirectory()); posixLib.addIncludePath(b.path("src")); @@ -147,17 +168,16 @@ pub fn build(b: *std.Build) !void { }, }); + posixLib.linkLibrary(lib); + posixLib.installHeader(b.path("src/pcre2posix.h"), "pcre2posix.h"); b.installArtifact(posixLib); pcre2test.linkLibrary(posixLib); } - // pcre2test (again) - pcre2test.defineCMacro("HAVE_CONFIG_H", null); - pcre2test.addConfigHeader(config_header); pcre2test.addIncludePath(pcre2_header_dir.getDirectory()); pcre2test.addIncludePath(b.path("src")); @@ -166,7 +186,6 @@ pub fn build(b: *std.Build) !void { .file = b.path("src/pcre2test.c"), }); - pcre2test.linkLibC(); pcre2test.linkLibrary(lib); b.installArtifact(pcre2test); diff --git a/libpcre/cmake/PCRE2CheckVscript.cmake b/libpcre/cmake/PCRE2CheckVscript.cmake new file mode 100644 index 000000000..ed3ae12f8 --- /dev/null +++ b/libpcre/cmake/PCRE2CheckVscript.cmake @@ -0,0 +1,112 @@ +# Similarly to Autoconf's ax_check_vscript.m4, check whether the linker supports +# version scripts (GNU ld) or map files (Sun linker). +# Sets the "have_var" to TRUE or FALSE depending on the detected support; and if +# support is detected then sets "flag_var" to the appropriate flag to pass to +# the linker (namely, --version-script or -M). + +function(pcre2_check_vscript have_var flag_var) + set(${have_var} FALSE PARENT_SCOPE) + set(${flag_var} "" PARENT_SCOPE) + + if(MSVC) + return() + endif() + + set(first_run FALSE) + if(NOT DEFINED HAVE_VSCRIPT_GNU) + set(first_run TRUE) + message(STATUS "Detecting linker version script support") + endif() + + include(CheckCSourceCompiles) + include(CMakePushCheckState) + + # The BSD file here is a workaround for the fact that check_c_source_compiles + # very unfortunately only supports linking executables + # with an entrypoint (or a static library), and yet the symbol visibility + # requirements for executables are understandably different on some platforms + # as compared to linking a shared library. On FreeBSD, linking fails if you + # use the linker script to hide various global symbols from /usr/lib/crt1.o. + # https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269370 + # Basically, everyone using --version-script is actually going to be creating + # a shared library. It's a frustrating mismatch. + file(WRITE ${PROJECT_BINARY_DIR}/test-map-file.sym "PCRE2_10.00 { global: exposethis; local: *; };") + file(WRITE ${PROJECT_BINARY_DIR}/test-map-file-bsd.sym "PCRE2_10.00 { global: exposethis; environ; __progname; local: *; };") + file(WRITE ${PROJECT_BINARY_DIR}/test-map-file-broken.sym "PCRE2_10.00 { global: exposethis; local: *; }; {") + + set(HAVE_VSCRIPT FALSE) + + # Using an executable to check for version-script support is rather delicate, + # because linking in an entrypoint (main) adds extra symbols into the mix. + # If CMake ever added a SHARED_LIBRARY option to check_c_source_compiles, we'd + # use it here. + set( + test_source + [=[ + int exposethis = 0, hidethis = 0; + int main(void) { + return exposethis + hidethis; + } + ]=] + ) + + cmake_push_check_state(RESET) + set(CMAKE_REQUIRED_QUIET TRUE) + + set(CMAKE_REQUIRED_LINK_OPTIONS "-Wl,--version-script,${PROJECT_BINARY_DIR}/test-map-file.sym") + check_c_source_compiles("${test_source}" HAVE_VSCRIPT_GNU) + + if(HAVE_VSCRIPT_GNU) + set(VSCRIPT_FLAG --version-script) + set(HAVE_VSCRIPT TRUE) + else() + set(CMAKE_REQUIRED_LINK_OPTIONS "-Wl,--version-script,${PROJECT_BINARY_DIR}/test-map-file-bsd.sym") + check_c_source_compiles("${test_source}" HAVE_VSCRIPT_BSD) + + if(HAVE_VSCRIPT_BSD) + set(VSCRIPT_FLAG --version-script) + set(HAVE_VSCRIPT TRUE) + else() + set(CMAKE_REQUIRED_LINK_OPTIONS "-Wl,-M,${PROJECT_BINARY_DIR}/test-map-file.sym") + check_c_source_compiles("${test_source}" HAVE_VSCRIPT_SUN) + + if(HAVE_VSCRIPT_SUN) + set(VSCRIPT_FLAG -M) + set(HAVE_VSCRIPT TRUE) + endif() + endif() + endif() + + if(HAVE_VSCRIPT) + # Perform the same logic as ax_check_vscript.m4, to test whether the linker + # silently ignores (and overwrites) linker scripts it doesn't understand. + set(CMAKE_REQUIRED_LINK_OPTIONS "-Wl,${VSCRIPT_FLAG},${PROJECT_BINARY_DIR}/test-map-file-broken.sym") + check_c_source_compiles("${test_source}" HAVE_VSCRIPT_BROKEN) + + if(HAVE_VSCRIPT_BROKEN) + set(HAVE_VSCRIPT FALSE) + if(first_run) + message(STATUS "Detecting linker version script support - no (linker overwrites unknown scripts)") + endif() + else() + if(first_run) + message(STATUS "Detecting linker version script support - yes (${VSCRIPT_FLAG})") + endif() + endif() + else() + if(first_run) + message(STATUS "Detecting linker version script support - none detected") + endif() + endif() + + cmake_pop_check_state() + + file(REMOVE ${PROJECT_BINARY_DIR}/test-map-file.sym) + file(REMOVE ${PROJECT_BINARY_DIR}/test-map-file-bsd.sym) + file(REMOVE ${PROJECT_BINARY_DIR}/test-map-file-broken.sym) + + if(HAVE_VSCRIPT) + set(${have_var} TRUE PARENT_SCOPE) + set(${flag_var} "${VSCRIPT_FLAG}" PARENT_SCOPE) + endif() +endfunction() diff --git a/libpcre/cmake/PCRE2UseSystemExtensions.cmake b/libpcre/cmake/PCRE2UseSystemExtensions.cmake new file mode 100644 index 000000000..a70a5f7bf --- /dev/null +++ b/libpcre/cmake/PCRE2UseSystemExtensions.cmake @@ -0,0 +1,89 @@ +# This CMake module is supposed to give similar results to the +# AC_USE_SYSTEM_EXTENSIONS Autoconf macro, which turns on a load of +# system feature-check macros, including _ALL_SOURCE, _GNU_SOURCE, +# _NETBSD_SOURCE, and many more. +# +# Because PCRE2 uses so few OS features, we don't seem to actually need to +# enable many of these. Modern platforms with CMake users generally enable +# all the basic POSIX features by default. +# +# So far, we know that we require: +# - _ALL_SOURCE on IBM systems (z/OS, probably AIX) in order to call +# getrlimit() in pcre2test. +# - _GNU_SOURCE on Linux in order to call mkostemp() in some (non-default) +# configurations of the JIT. +# +# Autoconf enables this unconditionally. However, our CMake script potentially +# supports *more* platforms than Autoconf, so we use a feature check. + +function(pcre2_use_system_extensions) + if(WIN32) + return() + endif() + + set(first_run FALSE) + set(found_macro FALSE) + if(NOT DEFINED HAVE_GETRLIMIT_NAKED) + set(first_run TRUE) + message(STATUS "Detecting platform feature test macros") + endif() + + include(CheckSymbolExists) + include(CheckCSourceCompiles) + include(CMakePushCheckState) + + cmake_push_check_state(RESET) + set( + _pcre2_test_src + [=[ + #include + #include + + int main(void) { + struct rlimit rlim; + getrlimit(RLIMIT_STACK, &rlim); + return 0; + } + ]=] + ) + set(CMAKE_REQUIRED_QUIET TRUE) + check_c_source_compiles("${_pcre2_test_src}" HAVE_GETRLIMIT_NAKED) + + if(NOT HAVE_GETRLIMIT_NAKED) + # Try again with _ALL_SOURCE + set(CMAKE_REQUIRED_DEFINITIONS "-D_ALL_SOURCE") + check_c_source_compiles("${_pcre2_test_src}" HAVE_GETRLIMIT_ALLSOURCE) + unset(CMAKE_REQUIRED_DEFINITIONS) + + if(HAVE_GETRLIMIT_ALLSOURCE) + add_compile_definitions(_ALL_SOURCE) + set(found_macro TRUE) + if(first_run) + message(STATUS "Detecting platform feature test macros - _ALL_SOURCE") + endif() + endif() + endif() + + check_symbol_exists(mkostemp stdlib.h HAVE_MKOSTEMP_NAKED) + + if(NOT HAVE_MKOSTEMP_NAKED) + # Try again with _GNU_SOURCE + set(CMAKE_REQUIRED_DEFINITIONS "-D_GNU_SOURCE") + check_symbol_exists(mkostemp stdlib.h HAVE_MKOSTEMP_GNUSOURCE) + unset(CMAKE_REQUIRED_DEFINITIONS) + + if(HAVE_MKOSTEMP_GNUSOURCE) + add_compile_definitions(_GNU_SOURCE) + set(found_macro TRUE) + if(first_run) + message(STATUS "Detecting platform feature test macros - _GNU_SOURCE") + endif() + endif() + endif() + + if(first_run AND NOT found_macro) + message(STATUS "Detecting platform feature test macros - none") + endif() + + cmake_pop_check_state() +endfunction() diff --git a/libpcre/cmake/PCRE2WarningAsError.cmake b/libpcre/cmake/PCRE2WarningAsError.cmake new file mode 100644 index 000000000..78b76a593 --- /dev/null +++ b/libpcre/cmake/PCRE2WarningAsError.cmake @@ -0,0 +1,35 @@ +# This file can be removed once the minimum CMake version is increased to 3.24 +# or higher. Calls to pcre2_warning_as_error can be changed to the built in +# CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR. + +function(pcre2_warning_as_error out_var) + set(${out_var} "" PARENT_SCOPE) + + if(CMAKE_VERSION VERSION_GREATER_EQUAL 3.24) + # Since CMake 3.24, we should use the CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR + # variable for greatest compiler compatibility. + if(DEFINED CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR) + set(${out_var} "${CMAKE_C_COMPILE_OPTIONS_WARNING_AS_ERROR}" PARENT_SCOPE) + endif() + else() + # The fallback probes for support, trying a few common flags. + + if(NOT MSVC) + include(CheckCCompilerFlag) + include(CMakePushCheckState) + + cmake_push_check_state(RESET) + check_c_compiler_flag("-Werror" HAVE_WERROR) + if(HAVE_WERROR) + set(${out_var} "-Werror" PARENT_SCOPE) + else() + check_c_compiler_flag("-errwarn=%all" HAVE_ERRWARN_ALL) + if(HAVE_ERRWARN_ALL) + set(${out_var} "-errwarn=%all" PARENT_SCOPE) + endif() + endif() + + cmake_pop_check_state() + endif() + endif() +endfunction() diff --git a/libpcre/cmake/pcre2-config-version.cmake.in b/libpcre/cmake/pcre2-config-version.cmake.in deleted file mode 100644 index db0060633..000000000 --- a/libpcre/cmake/pcre2-config-version.cmake.in +++ /dev/null @@ -1,14 +0,0 @@ -set(PACKAGE_VERSION_MAJOR @PCRE2_MAJOR@) -set(PACKAGE_VERSION_MINOR @PCRE2_MINOR@) -set(PACKAGE_VERSION_PATCH 0) -set(PACKAGE_VERSION @PCRE2_MAJOR@.@PCRE2_MINOR@.0) - -# Check whether the requested PACKAGE_FIND_VERSION is compatible -if(PACKAGE_VERSION VERSION_LESS PACKAGE_FIND_VERSION OR PACKAGE_VERSION_MAJOR GREATER PACKAGE_FIND_VERSION_MAJOR) - set(PACKAGE_VERSION_COMPATIBLE FALSE) -else() - set(PACKAGE_VERSION_COMPATIBLE TRUE) - if(PACKAGE_VERSION VERSION_EQUAL PACKAGE_FIND_VERSION) - set(PACKAGE_VERSION_EXACT TRUE) - endif() -endif() diff --git a/libpcre/cmake/pcre2-config.cmake.in b/libpcre/cmake/pcre2-config.cmake.in index 082dc1983..bda4841dd 100644 --- a/libpcre/cmake/pcre2-config.cmake.in +++ b/libpcre/cmake/pcre2-config.cmake.in @@ -5,11 +5,17 @@ # # Static vs. shared # ----------------- -# To make use of the static library instead of the shared one, one needs +# To force using the static library instead of the shared one, one needs # to set the variable PCRE2_USE_STATIC_LIBS to ON before calling find_package. +# If the variable is not set, the static library will be used if only that has +# been built, otherwise the shared library will be used. +# +# The following components are supported: 8BIT, 16BIT, 32BIT and POSIX. +# They used to be required but not anymore; all available targets will +# be defined regardless of the requested components. # Example: # set(PCRE2_USE_STATIC_LIBS ON) -# find_package(PCRE2 CONFIG COMPONENTS 8BIT) +# find_package(PCRE2 CONFIG) # # This will define the following variables: # @@ -23,88 +29,42 @@ # PCRE2::32BIT - The 32 bit PCRE2 library. # PCRE2::POSIX - The POSIX PCRE2 library. -set(PCRE2_NON_STANDARD_LIB_PREFIX @NON_STANDARD_LIB_PREFIX@) -set(PCRE2_NON_STANDARD_LIB_SUFFIX @NON_STANDARD_LIB_SUFFIX@) -set(PCRE2_8BIT_NAME pcre2-8) -set(PCRE2_16BIT_NAME pcre2-16) -set(PCRE2_32BIT_NAME pcre2-32) -set(PCRE2_POSIX_NAME pcre2-posix) -find_path(PCRE2_INCLUDE_DIR NAMES pcre2.h DOC "PCRE2 include directory") -if(PCRE2_USE_STATIC_LIBS) - if(MSVC) - set(PCRE2_8BIT_NAME pcre2-8-static) - set(PCRE2_16BIT_NAME pcre2-16-static) - set(PCRE2_32BIT_NAME pcre2-32-static) - set(PCRE2_POSIX_NAME pcre2-posix-static) - endif() +@PACKAGE_INIT@ - set(PCRE2_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX}) - set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) -else() - set(PCRE2_PREFIX ${CMAKE_SHARED_LIBRARY_PREFIX}) - if(MINGW AND PCRE2_NON_STANDARD_LIB_PREFIX) - set(PCRE2_PREFIX "") - endif() - - set(PCRE2_SUFFIX ${CMAKE_SHARED_LIBRARY_SUFFIX}) - if(MINGW AND PCRE2_NON_STANDARD_LIB_SUFFIX) - set(PCRE2_SUFFIX "-0.dll") - elseif(MSVC) - set(PCRE2_SUFFIX ${CMAKE_STATIC_LIBRARY_SUFFIX}) - endif() +include(CMakeFindDependencyMacro) +if("@REQUIRE_PTHREAD@") # REQUIRE_PTHREAD + find_dependency(Threads) endif() -find_library( - PCRE2_8BIT_LIBRARY - NAMES ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_8BIT_NAME}d${PCRE2_SUFFIX} - DOC "8 bit PCRE2 library" -) -find_library( - PCRE2_16BIT_LIBRARY - NAMES ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_16BIT_NAME}d${PCRE2_SUFFIX} - DOC "16 bit PCRE2 library" -) -find_library( - PCRE2_32BIT_LIBRARY - NAMES ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_32BIT_NAME}d${PCRE2_SUFFIX} - DOC "32 bit PCRE2 library" -) -find_library( - PCRE2_POSIX_LIBRARY - NAMES ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}${PCRE2_SUFFIX} ${PCRE2_PREFIX}${PCRE2_POSIX_NAME}d${PCRE2_SUFFIX} - DOC "8 bit POSIX PCRE2 library" -) -unset(PCRE2_NON_STANDARD_LIB_PREFIX) -unset(PCRE2_NON_STANDARD_LIB_SUFFIX) -unset(PCRE2_8BIT_NAME) -unset(PCRE2_16BIT_NAME) -unset(PCRE2_32BIT_NAME) -unset(PCRE2_POSIX_NAME) + +include("${CMAKE_CURRENT_LIST_DIR}/pcre2-targets.cmake") # Set version -if(PCRE2_INCLUDE_DIR) - set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") -endif() +set(PCRE2_VERSION "@PCRE2_MAJOR@.@PCRE2_MINOR@.0") -# Which components have been found. -if(PCRE2_8BIT_LIBRARY) - set(PCRE2_8BIT_FOUND TRUE) -endif() -if(PCRE2_16BIT_LIBRARY) - set(PCRE2_16BIT_FOUND TRUE) -endif() -if(PCRE2_32BIT_LIBRARY) - set(PCRE2_32BIT_FOUND TRUE) -endif() -if(PCRE2_POSIX_LIBRARY) - set(PCRE2_POSIX_FOUND TRUE) -endif() - -# Check if at least one component has been specified. -list(LENGTH PCRE2_FIND_COMPONENTS PCRE2_NCOMPONENTS) -if(PCRE2_NCOMPONENTS LESS 1) - message(FATAL_ERROR "No components have been specified. This is not allowed. Please, specify at least one component.") -endif() -unset(PCRE2_NCOMPONENTS) +# Chooses the linkage of the library to expose in the +# unsuffixed edition of the target. +macro(_pcre2_add_component_target component target) + # If the static library exists and either PCRE2_USE_STATIC_LIBS + # is defined, or the dynamic library does not exist, use the static library. + if(NOT TARGET PCRE2::${component}) + if(TARGET pcre2::pcre2-${target}-static AND (PCRE2_USE_STATIC_LIBS OR NOT TARGET pcre2::pcre2-${target}-shared)) + add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-static) + set(PCRE2_${component}_FOUND TRUE) + # Otherwise use the dynamic library if it exists. + elseif(TARGET pcre2::pcre2-${target}-shared AND NOT PCRE2_USE_STATIC_LIBS) + add_library(PCRE2::${component} ALIAS pcre2::pcre2-${target}-shared) + set(PCRE2_${component}_FOUND TRUE) + endif() + if(PCRE2_${component}_FOUND) + get_target_property(PCRE2_${component}_LIBRARY PCRE2::${component} IMPORTED_LOCATION) + set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) + endif() + endif() +endmacro() +_pcre2_add_component_target(8BIT 8) +_pcre2_add_component_target(16BIT 16) +_pcre2_add_component_target(32BIT 32) +_pcre2_add_component_target(POSIX posix) # When POSIX component has been specified make sure that also 8BIT component is specified. set(PCRE2_8BIT_COMPONENT FALSE) @@ -126,43 +86,5 @@ endif() unset(PCRE2_8BIT_COMPONENT) unset(PCRE2_POSIX_COMPONENT) -include(FindPackageHandleStandardArgs) -set(${CMAKE_FIND_PACKAGE_NAME}_CONFIG "${CMAKE_CURRENT_LIST_FILE}") -find_package_handle_standard_args( - PCRE2 - FOUND_VAR PCRE2_FOUND - REQUIRED_VARS PCRE2_INCLUDE_DIR - HANDLE_COMPONENTS - VERSION_VAR PCRE2_VERSION - CONFIG_MODE -) - -set(PCRE2_LIBRARIES) -if(PCRE2_FOUND) - foreach(component ${PCRE2_FIND_COMPONENTS}) - if(PCRE2_USE_STATIC_LIBS) - add_library(PCRE2::${component} STATIC IMPORTED) - target_compile_definitions(PCRE2::${component} INTERFACE PCRE2_STATIC) - else() - add_library(PCRE2::${component} SHARED IMPORTED) - endif() - set_target_properties( - PCRE2::${component} - PROPERTIES - IMPORTED_LOCATION "${PCRE2_${component}_LIBRARY}" - IMPORTED_IMPLIB "${PCRE2_${component}_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${PCRE2_INCLUDE_DIR}" - ) - if(component STREQUAL "POSIX") - set_target_properties( - PCRE2::${component} - PROPERTIES INTERFACE_LINK_LIBRARIES "PCRE2::8BIT" LINK_LIBRARIES "PCRE2::8BIT" - ) - endif() - - set(PCRE2_LIBRARIES ${PCRE2_LIBRARIES} ${PCRE2_${component}_LIBRARY}) - mark_as_advanced(PCRE2_${component}_LIBRARY) - endforeach() -endif() - -mark_as_advanced(PCRE2_INCLUDE_DIR) +# Check for required components. +check_required_components("PCRE2") diff --git a/libpcre/configure b/libpcre/configure index 4bd105317..8dad8be64 100755 --- a/libpcre/configure +++ b/libpcre/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.71 for PCRE2 10.45. +# Generated by GNU Autoconf 2.71 for PCRE2 10.47. # # # Copyright (C) 1992-1996, 1998-2017, 2020-2021 Free Software Foundation, @@ -618,8 +618,8 @@ MAKEFLAGS= # Identity of this package. PACKAGE_NAME='PCRE2' PACKAGE_TARNAME='pcre2' -PACKAGE_VERSION='10.45' -PACKAGE_STRING='PCRE2 10.45' +PACKAGE_VERSION='10.47' +PACKAGE_STRING='PCRE2 10.47' PACKAGE_BUGREPORT='' PACKAGE_URL='' @@ -684,8 +684,10 @@ EXTRA_LIBPCRE2_16_LDFLAGS EXTRA_LIBPCRE2_8_LDFLAGS PTHREAD_CFLAGS PTHREAD_LIBS +PTHREAD_CXX PTHREAD_CC ax_pthread_config +CPP PCRE2POSIX_CFLAG PCRE2_STATIC_CFLAG LIBREADLINE @@ -695,6 +697,10 @@ WITH_FUZZ_SUPPORT_FALSE WITH_FUZZ_SUPPORT_TRUE WITH_VALGRIND_FALSE WITH_VALGRIND_TRUE +WITH_EBCDIC_NL25_FALSE +WITH_EBCDIC_NL25_TRUE +WITH_EBCDIC_FALSE +WITH_EBCDIC_TRUE WITH_UNICODE_FALSE WITH_UNICODE_TRUE WITH_JIT_FALSE @@ -714,6 +720,11 @@ PCRE2_DATE PCRE2_PRERELEASE PCRE2_MINOR PCRE2_MAJOR +HAVE_VSCRIPT_COMPLEX_FALSE +HAVE_VSCRIPT_COMPLEX_TRUE +HAVE_VSCRIPT_FALSE +HAVE_VSCRIPT_TRUE +VSCRIPT_LDFLAGS HAVE_VISIBILITY VISIBILITY_CFLAGS LT_SYS_LIBRARY_PATH @@ -852,6 +863,7 @@ with_gnu_ld with_sysroot enable_libtool_lock enable_largefile +enable_symvers enable_pcre8 enable_pcre16 enable_pcre32 @@ -876,6 +888,7 @@ enable_bsr_anycrlf enable_never_backslash_C enable_ebcdic enable_ebcdic_nl25 +enable_ebcdic_ignoring_compiler enable_pcre2grep_libz enable_pcre2grep_libbz2 with_pcre2grep_bufsize @@ -895,6 +908,8 @@ enable_fuzz_support enable_diff_fuzz_support enable_stack_for_recursion enable_percent_zt +enable_Werror +enable_errwarn ' ac_precious_vars='build_alias host_alias @@ -905,6 +920,7 @@ LDFLAGS LIBS CPPFLAGS LT_SYS_LIBRARY_PATH +CPP PKG_CONFIG PKG_CONFIG_PATH PKG_CONFIG_LIBDIR @@ -1460,7 +1476,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures PCRE2 10.45 to adapt to many kinds of systems. +\`configure' configures PCRE2 10.47 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1531,7 +1547,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of PCRE2 10.45:";; + short | recursive ) echo "Configuration of PCRE2 10.47:";; esac cat <<\_ACEOF @@ -1554,6 +1570,7 @@ Optional Features: optimize for fast installation [default=yes] --disable-libtool-lock avoid locking (might break parallel builds) --disable-largefile omit support for large files + --disable-symvers disable library symbol versioning [default=auto] --disable-pcre2-8 disable 8 bit character support --enable-pcre2-16 enable 16 bit character support @@ -1583,9 +1600,12 @@ Optional Features: use of \C causes an error --enable-ebcdic assume EBCDIC coding rather than ASCII; incompatible with --enable-unicode; use only in (uncommon) EBCDIC - environments; it implies --enable-rebuild-chartables + environments --enable-ebcdic-nl25 set EBCDIC code for NL to 0x25 instead of 0x15; it implies --enable-ebcdic + --enable-ebcdic-ignoring-compiler + force EBCDIC 1047 using numeric literals rather than + C character literals; it implies --enable-ebcdic --enable-pcre2grep-libz link pcre2grep with libz to handle .gz files --enable-pcre2grep-libbz2 link pcre2grep with libbz2 to handle .bz2 files @@ -1599,6 +1619,10 @@ Optional Features: --enable-diff-fuzz-support enable differential fuzzer support --disable-percent-zt disable the use of z and t formatting modifiers + --enable-Werror Add -Werror to CFLAGS (GCC/Clang style); if -Werror + is passed to ./configure via CFLAGS it interferes + with feature detection + --enable-errwarn Add -errwarn=%all to CFLAGS (Sun cc style) Optional Packages: --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] @@ -1640,6 +1664,7 @@ Some influential environment variables: you have headers in a nonstandard directory LT_SYS_LIBRARY_PATH User-defined run-time library search path. + CPP C preprocessor PKG_CONFIG path to pkg-config utility PKG_CONFIG_PATH directories to add to pkg-config's search path @@ -1719,7 +1744,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -PCRE2 configure 10.45 +PCRE2 configure 10.47 generated by GNU Autoconf 2.71 Copyright (C) 2021 Free Software Foundation, Inc. @@ -2050,6 +2075,44 @@ printf "%s\n" "$ac_res" >&6; } eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno } # ac_fn_c_check_type + +# ac_fn_c_try_cpp LINENO +# ---------------------- +# Try to preprocess conftest.$ac_ext, and return whether this succeeded. +ac_fn_c_try_cpp () +{ + as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack + if { { ac_try="$ac_cpp conftest.$ac_ext" +case "(($ac_try" in + *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;; + *) ac_try_echo=$ac_try;; +esac +eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\"" +printf "%s\n" "$ac_try_echo"; } >&5 + (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err + ac_status=$? + if test -s conftest.err; then + grep -v '^ *+' conftest.err >conftest.er1 + cat conftest.er1 >&5 + mv -f conftest.er1 conftest.err + fi + printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5 + test $ac_status = 0; } > conftest.i && { + test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" || + test ! -s conftest.err + } +then : + ac_retval=0 +else $as_nop + printf "%s\n" "$as_me: failed program was:" >&5 +sed 's/^/| /' conftest.$ac_ext >&5 + + ac_retval=1 +fi + eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno + as_fn_set_status $ac_retval + +} # ac_fn_c_try_cpp ac_configure_args_raw= for ac_arg do @@ -2074,7 +2137,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by PCRE2 $as_me 10.45, which was +It was created by PCRE2 $as_me 10.47, which was generated by GNU Autoconf 2.71. Invocation command line was $ $0$ac_configure_args_raw @@ -3346,7 +3409,7 @@ fi # Define the identity of the package. PACKAGE='pcre2' - VERSION='10.45' + VERSION='10.47' printf "%s\n" "#define PACKAGE \"$PACKAGE\"" >>confdefs.h @@ -5160,6 +5223,127 @@ printf "%s\n" "#define int64_t $ac_cv_c_int64_t" >>confdefs.h esac +# Check for xlc which has some special (broken/non-standard) behaviour on z/OS. + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for OS/390 (z/OS)" >&5 +printf %s "checking for OS/390 (z/OS)... " >&6; } +if test ${pcre2_cv_os390+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test "`uname`" = "OS/390"; then + pcre2_cv_os390=yes + else + pcre2_cv_os390=no + fi +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pcre2_cv_os390" >&5 +printf "%s\n" "$pcre2_cv_os390" >&6; } + if test "$pcre2_cv_os390" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether the compiler supports -qhaltonmsg=CCN3296" >&5 +printf %s "checking whether the compiler supports -qhaltonmsg=CCN3296... " >&6; } +if test ${pcre2_cv_xlc_qhaltonmsg_support+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + pcre2_cv_xlc_qhaltonmsg_support=yes +else $as_nop + pcre2_cv_xlc_qhaltonmsg_support=no +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS="$save_CFLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pcre2_cv_xlc_qhaltonmsg_support" >&5 +printf "%s\n" "$pcre2_cv_xlc_qhaltonmsg_support" >&6; } + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether non-existent headers fail the compile" >&5 +printf %s "checking whether non-existent headers fail the compile... " >&6; } +if test ${pcre2_cv_xlc_nonexistent_fatal+y} +then : + printf %s "(cached) " >&6 +else $as_nop + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + pcre2_cv_xlc_nonexistent_fatal=no +else $as_nop + pcre2_cv_xlc_nonexistent_fatal=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pcre2_cv_xlc_nonexistent_fatal" >&5 +printf "%s\n" "$pcre2_cv_xlc_nonexistent_fatal" >&6; } + + if test "$pcre2_cv_xlc_nonexistent_fatal" = "no" && test "$pcre2_cv_xlc_qhaltonmsg_support" = "yes"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether -qhaltonmsg=CCN3296 fixes the non-existent-header issue" >&5 +printf %s "checking whether -qhaltonmsg=CCN3296 fixes the non-existent-header issue... " >&6; } +if test ${pcre2_cv_xlc_qhaltonmsg_fixes+y} +then : + printf %s "(cached) " >&6 +else $as_nop + save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_compile "$LINENO" +then : + pcre2_cv_xlc_qhaltonmsg_fixes=no +else $as_nop + pcre2_cv_xlc_qhaltonmsg_fixes=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext + CFLAGS="$save_CFLAGS" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $pcre2_cv_xlc_qhaltonmsg_fixes" >&5 +printf "%s\n" "$pcre2_cv_xlc_qhaltonmsg_fixes" >&6; } + + if test "$pcre2_cv_xlc_qhaltonmsg_fixes" = "no"; then + as_fn_error $? "-qhaltonmsg=CCN3296 not effective on non-existent headers" "$LINENO" 5 + fi + + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + fi + + fi + + case `pwd` in *\ * | *\ *) @@ -13886,7 +14070,7 @@ _ACEOF if ac_fn_c_try_compile "$LINENO" then : - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ int @@ -13975,6 +14159,341 @@ printf "%s\n" "#define HAVE_VISIBILITY $HAVE_VISIBILITY" >>confdefs.h +# Check for the availability of -Wl,--version-script (or -Wl,-M on Solaris) + + + + # Check whether --enable-symvers was given. +if test ${enable_symvers+y} +then : + enableval=$enable_symvers; want_symvers=$enableval +else $as_nop + want_symvers=yes + +fi + + + if test x$want_symvers = xyes +then : + + + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking linker version script flag" >&5 +printf %s "checking linker version script flag... " >&6; } +if test ${ax_cv_check_vscript_flag+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ax_cv_check_vscript_flag=unsupported + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: show; local: *; };" > conftest.map + if test x = xyes +then : + + echo "{" >> conftest.map + +fi + LDFLAGS="$LDFLAGS -Wl,--version-script,conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int show, hide; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + ax_cv_check_vscript_flag=--version-script + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + if test x$ax_cv_check_vscript_flag = xunsupported +then : + + # PCRE2: Support for FreeBSD. Rather annoyingly, AC_LINK_IFELSE will + # only test linking executables, and in turn, on FreeBSD the main + # entrypoint will fail to link if you use "local: *" to hide the + # visibility of various shared symbols injected from /usr/lib/crt1.o. + # It's not at all pretty to hardcode those symbol names here, but I + # can't think of an obvious way to improve on this. + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: show;environ;__progname; local: *; };" > conftest.map + if test x = xyes +then : + + echo "{" >> conftest.map + +fi + LDFLAGS="$LDFLAGS -Wl,--version-script,conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int show, hide; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + ax_cv_check_vscript_flag=--version-script + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +fi + if test x$ax_cv_check_vscript_flag = xunsupported +then : + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: show; local: *; };" > conftest.map + if test x = xyes +then : + + echo "{" >> conftest.map + +fi + LDFLAGS="$LDFLAGS -Wl,-M,conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int show, hide; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_cv_check_vscript_flag=-M +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +fi + + + if test x$ax_cv_check_vscript_flag != xunsupported +then : + + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: show; local: *; };" > conftest.map + if test xyes = xyes +then : + + echo "{" >> conftest.map + +fi + LDFLAGS="$LDFLAGS -Wl,$ax_cv_check_vscript_flag,conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int show, hide; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ax_cv_check_vscript_flag=unsupported +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_vscript_flag" >&5 +printf "%s\n" "$ax_cv_check_vscript_flag" >&6; } + + + if test x$ax_cv_check_vscript_flag != xunsupported +then : + + ax_check_vscript_flag=$ax_cv_check_vscript_flag + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if version scripts can use complex wildcards" >&5 +printf %s "checking if version scripts can use complex wildcards... " >&6; } +if test ${ax_cv_check_vscript_complex_wildcards+y} +then : + printf %s "(cached) " >&6 +else $as_nop + + ax_cv_check_vscript_complex_wildcards=no + + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: sh*; local: *; };" > conftest.map + if test x = xyes +then : + + echo "{" >> conftest.map + +fi + LDFLAGS="$LDFLAGS -Wl,$ax_cv_check_vscript_flag,conftest.map" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int show, hide; +int +main (void) +{ + + ; + return 0; +} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + + ax_cv_check_vscript_complex_wildcards=yes +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_check_vscript_complex_wildcards" >&5 +printf "%s\n" "$ax_cv_check_vscript_complex_wildcards" >&6; } + ax_check_vscript_complex_wildcards="$ax_cv_check_vscript_complex_wildcards" + +else $as_nop + + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + +fi + +else $as_nop + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking linker version script flag" >&5 +printf %s "checking linker version script flag... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: disabled" >&5 +printf "%s\n" "disabled" >&6; } + + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + +fi + + if test x$ax_check_vscript_flag != x +then : + + VSCRIPT_LDFLAGS="-Wl,$ax_check_vscript_flag" + + +fi + + if test x$ax_check_vscript_flag != x; then + HAVE_VSCRIPT_TRUE= + HAVE_VSCRIPT_FALSE='#' +else + HAVE_VSCRIPT_TRUE='#' + HAVE_VSCRIPT_FALSE= +fi + + if test x$ax_check_vscript_complex_wildcards = xyes; then + HAVE_VSCRIPT_COMPLEX_TRUE= + HAVE_VSCRIPT_COMPLEX_FALSE='#' +else + HAVE_VSCRIPT_COMPLEX_TRUE='#' + HAVE_VSCRIPT_COMPLEX_FALSE= +fi + + + + # Check for Clang __attribute__((uninitialized)) feature { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for __attribute__((uninitialized))" >&5 @@ -14162,9 +14681,9 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu # Versioning PCRE2_MAJOR="10" -PCRE2_MINOR="45" +PCRE2_MINOR="47" PCRE2_PRERELEASE="" -PCRE2_DATE="2025-02-05" +PCRE2_DATE="2025-10-21" if test "$PCRE2_MINOR" = "08" -o "$PCRE2_MINOR" = "09" then @@ -14364,7 +14883,7 @@ if test ${enable_unicode+y} then : enableval=$enable_unicode; else $as_nop - enable_unicode=no + enable_unicode=unset fi @@ -14448,6 +14967,16 @@ else $as_nop fi +# Handle --enable-ebcdic-ignoring-compiler +# Check whether --enable-ebcdic-ignoring-compiler was given. +if test ${enable_ebcdic_ignoring_compiler+y} +then : + enableval=$enable_ebcdic_ignoring_compiler; +else $as_nop + enable_ebcdic_ignoring_compiler=no +fi + + # Handle --enable-pcre2grep-libz # Check whether --enable-pcre2grep-libz was given. if test ${enable_pcre2grep_libz+y} @@ -14661,6 +15190,24 @@ else $as_nop fi +# Handle --enable-Werror/errwarn +# Check whether --enable-Werror was given. +if test ${enable_Werror+y} +then : + enableval=$enable_Werror; +else $as_nop + enable_Werror=no +fi + +# Check whether --enable-errwarn was given. +if test ${enable_errwarn+y} +then : + enableval=$enable_errwarn; +else $as_nop + enable_errwarn=no +fi + + # Set the default value for pcre2-8 if test "x$enable_pcre2_8" = "xunset" then @@ -14706,19 +15253,21 @@ case "$enable_newline" in ;; esac -# --enable-ebcdic-nl25 implies --enable-ebcdic -if test "x$enable_ebcdic_nl25" = "xyes"; then +# --enable-ebcdic-nl25 and --enable-ebcdic-ignoring-compiler imply --enable-ebcdic +if test "x$enable_ebcdic_nl25" = "xyes" -o "x$enable_ebcdic_ignoring_compiler" = "xyes"; then enable_ebcdic=yes fi -# Make sure that if enable_ebcdic is set, rebuild_chartables is also enabled. +# Make sure that if enable_ebcdic is set (without +# enable_ebcdic_ignoring_compiler), rebuild_chartables is also enabled. # Also check that UTF support is not requested, because PCRE2 cannot handle # EBCDIC and UTF in the same build. To do so it would need to use different -# character constants depending on the mode. Also, EBCDIC cannot be used with -# 16-bit and 32-bit libraries. -# +# character constants depending on the mode. +# Also, EBCDIC cannot be used with 16-bit and 32-bit libraries. if test "x$enable_ebcdic" = "xyes"; then - enable_rebuild_chartables=yes + if test "x$enable_ebcdic_ignoring_compiler" != "xyes"; then + enable_rebuild_chartables=yes + fi if test "x$enable_unicode" = "xyes"; then as_fn_error $? "support for EBCDIC and Unicode cannot be enabled at the same time" "$LINENO" 5 fi @@ -14839,6 +15388,22 @@ else WITH_UNICODE_FALSE= fi + if test "x$enable_ebcdic" = "xyes"; then + WITH_EBCDIC_TRUE= + WITH_EBCDIC_FALSE='#' +else + WITH_EBCDIC_TRUE='#' + WITH_EBCDIC_FALSE= +fi + + if test "x$enable_ebcdic_nl25" = "xyes"; then + WITH_EBCDIC_NL25_TRUE= + WITH_EBCDIC_NL25_FALSE='#' +else + WITH_EBCDIC_NL25_TRUE='#' + WITH_EBCDIC_NL25_FALSE= +fi + if test "x$enable_valgrind" = "xyes"; then WITH_VALGRIND_TRUE= WITH_VALGRIND_FALSE='#' @@ -14981,23 +15546,11 @@ fi # Checks for library functions. -ac_fn_c_check_func "$LINENO" "bcopy" "ac_cv_func_bcopy" -if test "x$ac_cv_func_bcopy" = xyes -then : - printf "%s\n" "#define HAVE_BCOPY 1" >>confdefs.h - -fi ac_fn_c_check_func "$LINENO" "memfd_create" "ac_cv_func_memfd_create" if test "x$ac_cv_func_memfd_create" = xyes then : printf "%s\n" "#define HAVE_MEMFD_CREATE 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "memmove" "ac_cv_func_memmove" -if test "x$ac_cv_func_memmove" = xyes -then : - printf "%s\n" "#define HAVE_MEMMOVE 1" >>confdefs.h - fi ac_fn_c_check_func "$LINENO" "mkostemp" "ac_cv_func_mkostemp" if test "x$ac_cv_func_mkostemp" = xyes @@ -15010,12 +15563,6 @@ if test "x$ac_cv_func_secure_getenv" = xyes then : printf "%s\n" "#define HAVE_SECURE_GETENV 1" >>confdefs.h -fi -ac_fn_c_check_func "$LINENO" "strerror" "ac_cv_func_strerror" -if test "x$ac_cv_func_strerror" = xyes -then : - printf "%s\n" "#define HAVE_STRERROR 1" >>confdefs.h - fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for realpath" >&5 @@ -15166,7 +15713,7 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext LIBS="$OLD_LIBS" -# Check for the availabiity of libreadline +# Check for the availability of libreadline if test "$enable_pcre2test_libreadline" = "yes"; then for ac_header in readline/readline.h @@ -15349,7 +15896,7 @@ then : LIBREADLINE="-lncurses" else $as_nop unset ac_cv_lib_readline_readline; - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 printf %s "checking for readline in -lreadline... " >&6; } if test ${ac_cv_lib_readline_readline+y} then : @@ -15389,7 +15936,7 @@ then : LIBREADLINE="-lncursesw" else $as_nop unset ac_cv_lib_readline_readline; - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for readline in -lreadline" >&5 printf %s "checking for readline in -lreadline... " >&6; } if test ${ac_cv_lib_readline_readline+y} then : @@ -15512,6 +16059,8 @@ fi fi +# Set up shared/static library flags + PCRE2_STATIC_CFLAG="" if test "x$enable_shared" = "xno" ; then @@ -15523,6 +16072,9 @@ fi PCRE2POSIX_CFLAG="" if test "x$enable_shared" = "xyes" ; then + +printf "%s\n" "#define PCRE2POSIX_SHARED 1" >>confdefs.h + PCRE2POSIX_CFLAG="-DPCRE2POSIX_SHARED" fi @@ -15565,6 +16117,141 @@ fi if test "$enable_jit" = "yes"; then if test "$HAVE_WINDOWS_H" != "1"; then + ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5 +printf %s "checking how to run the C preprocessor... " >&6; } +# On Suns, sometimes $CPP names a directory. +if test -n "$CPP" && test -d "$CPP"; then + CPP= +fi +if test -z "$CPP"; then + if test ${ac_cv_prog_CPP+y} +then : + printf %s "(cached) " >&6 +else $as_nop + # Double quotes because $CC needs to be expanded + for CPP in "$CC -E" "$CC -E -traditional-cpp" cpp /lib/cpp + do + ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + break +fi + + done + ac_cv_prog_CPP=$CPP + +fi + CPP=$ac_cv_prog_CPP +else + ac_cv_prog_CPP=$CPP +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5 +printf "%s\n" "$CPP" >&6; } +ac_preproc_ok=false +for ac_c_preproc_warn_flag in '' yes +do + # Use a header file that comes with gcc, so configuring glibc + # with a fresh cross-compiler works. + # On the NeXT, cc -E runs the code through the compiler's parser, + # not just through cpp. "Syntax error" is here to catch this case. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include + Syntax error +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + +else $as_nop + # Broken: fails on valid input. +continue +fi +rm -f conftest.err conftest.i conftest.$ac_ext + + # OK, works on sane cases. Now check whether nonexistent headers + # can be detected and how. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +#include +_ACEOF +if ac_fn_c_try_cpp "$LINENO" +then : + # Broken: success on invalid input. +continue +else $as_nop + # Passes both tests. +ac_preproc_ok=: +break +fi +rm -f conftest.err conftest.i conftest.$ac_ext + +done +# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. +rm -f conftest.i conftest.err conftest.$ac_ext +if $ac_preproc_ok +then : + +else $as_nop + { { printf "%s\n" "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 +printf "%s\n" "$as_me: error: in \`$ac_pwd':" >&2;} +as_fn_error $? "C preprocessor \"$CPP\" fails sanity check +See \`config.log' for more details" "$LINENO" 5; } +fi + +ac_ext=c +ac_cpp='$CPP $CPPFLAGS' +ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' +ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' +ac_compiler_gnu=$ac_cv_c_compiler_gnu + + + + ac_ext=c @@ -15576,19 +16263,28 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). +# requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + if test "x$PTHREAD_CC" != "x" +then : + CC="$PTHREAD_CC" +fi + if test "x$PTHREAD_CXX" != "x" +then : + CXX="$PTHREAD_CXX" +fi CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS" >&5 -printf %s "checking for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS... " >&6; } + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS" >&5 +printf %s "checking for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS... " >&6; } cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ @@ -15612,12 +16308,13 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 printf "%s\n" "$ax_pthread_ok" >&6; } - if test x"$ax_pthread_ok" = xno; then + if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different @@ -15625,12 +16322,14 @@ fi # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: @@ -15639,51 +16338,178 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) -case ${host_os} in +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ + +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "AX_PTHREAD_ZOS_MISSING" >/dev/null 2>&1 +then : + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&5 +printf "%s\n" "$as_me: WARNING: IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support." >&2;} +fi +rm -rf conftest* + + ;; + solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" ;; esac -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do +# Are we compiling with Clang? - case $flag in +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether $CC is Clang" >&5 +printf %s "checking whether $CC is Clang... " >&6; } +if test ${ax_cv_PTHREAD_CLANG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + +_ACEOF +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | + $EGREP "AX_PTHREAD_CC_IS_CLANG" >/dev/null 2>&1 +then : + ax_cv_PTHREAD_CLANG=yes +fi +rm -rf conftest* + + fi + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG" >&5 +printf "%s\n" "$ax_cv_PTHREAD_CLANG" >&6; } +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +if test "x$GCC" = "xyes" +then : + ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags" +fi + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +if test "x$ax_pthread_clang" = "xyes" +then : + ax_pthread_flags="-pthread,-lpthread -pthread" +fi + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +if test "x$ax_pthread_check_macro" = "x--" +then : + ax_pthread_check_cond=0 +else $as_nop + ax_pthread_check_cond="!defined($ax_pthread_check_macro)" +fi + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in none) { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work without any flags" >&5 printf %s "checking whether pthreads work without any flags... " >&6; } ;; + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"" >&5 +printf %s "checking whether pthreads work with \"$PTHREAD_CFLAGS\" and \"$PTHREAD_LIBS\"... " >&6; } + ;; + -*) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $flag" >&5 -printf %s "checking whether pthreads work with $flag... " >&6; } - PTHREAD_CFLAGS="$flag" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether pthreads work with $ax_pthread_try_flag" >&5 +printf %s "checking whether pthreads work with $ax_pthread_try_flag... " >&6; } + PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) @@ -15730,22 +16556,25 @@ printf "%s\n" "no" >&6; } fi - if test x"$ax_pthread_config" = xno; then continue; fi + if test "x$ax_pthread_config" = "xno" +then : + continue +fi PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$flag" >&5 -printf %s "checking for the pthreads library -l$flag... " >&6; } - PTHREAD_LIBS="-l$flag" + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the pthreads library -l$ax_pthread_try_flag" >&5 +printf %s "checking for the pthreads library -l$ax_pthread_try_flag... " >&6; } + PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we @@ -15756,10 +16585,20 @@ printf %s "checking for the pthreads library -l$flag... " >&6; } # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include - static void routine(void *a) { a = 0; } +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } static void *start_routine(void *a) { return a; } int main (void) @@ -15781,77 +16620,195 @@ fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_pthread_ok" >&5 printf "%s\n" "$ax_pthread_ok" >&6; } - if test "x$ax_pthread_ok" = xyes; then - break; - fi + if test "x$ax_pthread_ok" = "xyes" +then : + break +fi PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread" >&5 +printf %s "checking whether Clang needs flag to prevent \"argument unused\" warning when linking with -pthread... " >&6; } +if test ${ax_cv_PTHREAD_CLANG_NO_WARN_FLAG+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`printf "%s\n" "$ac_link" | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + if test "x$ax_pthread_try" = "xunknown" +then : + break +fi + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main(void){return 0;} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + ac_link="$ax_pthread_2step_ac_link" + cat confdefs.h - <<_ACEOF >conftest.$ac_ext +/* end confdefs.h. */ +int main(void){return 0;} +_ACEOF +if ac_fn_c_try_link "$LINENO" +then : + break +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + +fi +rm -f core conftest.err conftest.$ac_objext conftest.beam \ + conftest$ac_exeext conftest.$ac_ext + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + if test "x$ax_pthread_try" = "x" +then : + ax_pthread_try=no +fi + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&5 +printf "%s\n" "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" >&6; } + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + # Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for joinable pthread attribute" >&5 printf %s "checking for joinable pthread attribute... " >&6; } - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - cat confdefs.h - <<_ACEOF >conftest.$ac_ext +if test ${ax_cv_PTHREAD_JOINABLE_ATTR+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ #include int main (void) { -int attr = $attr; return attr /* ; */ +int attr = $ax_pthread_attr; return attr /* ; */ ; return 0; } _ACEOF if ac_fn_c_try_link "$LINENO" then : - attr_name=$attr; break + ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break fi rm -f core conftest.err conftest.$ac_objext conftest.beam \ conftest$ac_exeext conftest.$ac_ext - done - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $attr_name" >&5 -printf "%s\n" "$attr_name" >&6; } - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then + done -printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $attr_name" >>confdefs.h +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_JOINABLE_ATTR" >&5 +printf "%s\n" "$ax_cv_PTHREAD_JOINABLE_ATTR" >&6; } + if test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes" +then : - fi +printf "%s\n" "#define PTHREAD_CREATE_JOINABLE $ax_cv_PTHREAD_JOINABLE_ATTR" >>confdefs.h - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking if more special flags are required for pthreads" >&5 -printf %s "checking if more special flags are required for pthreads... " >&6; } - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - flag="-mt -D_REENTRANT" - fi - ;; - esac - { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: ${flag}" >&5 -printf "%s\n" "${flag}" >&6; } - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi + ax_pthread_joinable_attr_defined=yes + +fi + + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether more special flags are required for pthreads" >&5 +printf %s "checking whether more special flags are required for pthreads... " >&6; } +if test ${ax_cv_PTHREAD_SPECIAL_FLAGS+y} +then : + printf %s "(cached) " >&6 +else $as_nop + ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + +fi +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_SPECIAL_FLAGS" >&5 +printf "%s\n" "$ax_cv_PTHREAD_SPECIAL_FLAGS" >&6; } + if test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes" +then : + PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes +fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for PTHREAD_PRIO_INHERIT" >&5 printf %s "checking for PTHREAD_PRIO_INHERIT... " >&6; } @@ -15859,15 +16816,14 @@ if test ${ax_cv_PTHREAD_PRIO_INHERIT+y} then : printf %s "(cached) " >&6 else $as_nop - - cat confdefs.h - <<_ACEOF >conftest.$ac_ext + cat confdefs.h - <<_ACEOF >conftest.$ac_ext /* end confdefs.h. */ - - #include +#include int main (void) { int i = PTHREAD_PRIO_INHERIT; + return i; ; return 0; } @@ -15884,19 +16840,44 @@ rm -f core conftest.err conftest.$ac_objext conftest.beam \ fi { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_PTHREAD_PRIO_INHERIT" >&5 printf "%s\n" "$ax_cv_PTHREAD_PRIO_INHERIT" >&6; } - if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" + if test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes" then : printf "%s\n" "#define HAVE_PTHREAD_PRIO_INHERIT 1" >>confdefs.h + ax_pthread_prio_inherit_defined=yes + fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - for ac_prog in xlc_r cc_r + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + case "x/$CC" in #( + x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6) : + #handle absolute path differently from PATH based program lookup + case "x$CC" in #( + x/*) : + + if as_fn_executable_p ${CC}_r +then : + PTHREAD_CC="${CC}_r" +fi + if test "x${CXX}" != "x" +then : + if as_fn_executable_p ${CXX}_r +then : + PTHREAD_CXX="${CXX}_r" +fi +fi + ;; #( + *) : + + for ac_prog in ${CC}_r do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 @@ -15942,21 +16923,81 @@ fi test -n "$PTHREAD_CC" && break done -test -n "$PTHREAD_CC" || PTHREAD_CC="${CC}" +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" - else - PTHREAD_CC=$CC - fi + if test "x${CXX}" != "x" +then : + for ac_prog in ${CXX}_r +do + # Extract the first word of "$ac_prog", so it can be a program name with args. +set dummy $ac_prog; ac_word=$2 +{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5 +printf %s "checking for $ac_word... " >&6; } +if test ${ac_cv_prog_PTHREAD_CXX+y} +then : + printf %s "(cached) " >&6 +else $as_nop + if test -n "$PTHREAD_CXX"; then + ac_cv_prog_PTHREAD_CXX="$PTHREAD_CXX" # Let the user override the test. else - PTHREAD_CC="$CC" +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +for as_dir in $PATH +do + IFS=$as_save_IFS + case $as_dir in #((( + '') as_dir=./ ;; + */) ;; + *) as_dir=$as_dir/ ;; + esac + for ac_exec_ext in '' $ac_executable_extensions; do + if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then + ac_cv_prog_PTHREAD_CXX="$ac_prog" + printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5 + break 2 + fi +done + done +IFS=$as_save_IFS + fi +fi +PTHREAD_CXX=$ac_cv_prog_PTHREAD_CXX +if test -n "$PTHREAD_CXX"; then + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $PTHREAD_CXX" >&5 +printf "%s\n" "$PTHREAD_CXX" >&6; } +else + { printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5 +printf "%s\n" "no" >&6; } +fi + + + test -n "$PTHREAD_CXX" && break +done +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +fi + + ;; +esac + ;; #( + *) : + ;; +esac + ;; + esac + fi +fi + +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then +if test "x$ax_pthread_ok" = "xyes"; then printf "%s\n" "#define HAVE_PTHREAD 1" >>confdefs.h @@ -16133,6 +17174,8 @@ printf "%s\n" "#define MAX_NAME_COUNT 10000" >>confdefs.h + + if test "$enable_ebcdic" = "yes"; then printf "%s\n" "#define EBCDIC /**/" >>confdefs.h @@ -16145,6 +17188,12 @@ printf "%s\n" "#define EBCDIC_NL25 /**/" >>confdefs.h fi +if test "$enable_ebcdic_ignoring_compiler" = "yes"; then + +printf "%s\n" "#define EBCDIC_IGNORING_COMPILER /**/" >>confdefs.h + +fi + if test "$enable_valgrind" = "yes"; then printf "%s\n" "#define SUPPORT_VALGRIND /**/" >>confdefs.h @@ -16153,12 +17202,10 @@ fi # Platform specific issues NO_UNDEFINED= -EXPORT_ALL_SYMBOLS= case $host_os in cygwin* | mingw* ) if test X"$enable_shared" = Xyes; then NO_UNDEFINED="-no-undefined" - EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols" fi ;; esac @@ -16167,16 +17214,32 @@ esac # are m4 variables, assigned above. EXTRA_LIBPCRE2_8_LDFLAGS="$EXTRA_LIBPCRE2_8_LDFLAGS \ - $NO_UNDEFINED -version-info 14:0:14" + $NO_UNDEFINED -version-info 15:0:15" EXTRA_LIBPCRE2_16_LDFLAGS="$EXTRA_LIBPCRE2_16_LDFLAGS \ - $NO_UNDEFINED -version-info 14:0:14" + $NO_UNDEFINED -version-info 15:0:15" EXTRA_LIBPCRE2_32_LDFLAGS="$EXTRA_LIBPCRE2_32_LDFLAGS \ - $NO_UNDEFINED -version-info 14:0:14" + $NO_UNDEFINED -version-info 15:0:15" EXTRA_LIBPCRE2_POSIX_LDFLAGS="$EXTRA_LIBPCRE2_POSIX_LDFLAGS \ - $NO_UNDEFINED -version-info 3:6:0" + $NO_UNDEFINED -version-info 3:7:0" + +# Append each library's version script, if the platform supports it. + +if test x$ax_check_vscript_flag != x ; then + EXTRA_LIBPCRE2_8_LDFLAGS="$EXTRA_LIBPCRE2_8_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-8.sym" + + EXTRA_LIBPCRE2_16_LDFLAGS="$EXTRA_LIBPCRE2_16_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-16.sym" + + EXTRA_LIBPCRE2_32_LDFLAGS="$EXTRA_LIBPCRE2_32_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-32.sym" + + EXTRA_LIBPCRE2_POSIX_LDFLAGS="$EXTRA_LIBPCRE2_POSIX_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-posix.sym" +fi @@ -16719,6 +17782,15 @@ ac_config_commands="$ac_config_commands script-chmod" ac_config_commands="$ac_config_commands delete-old-chartables" +# Handle --enable-Werror/errwarn. This must come last, so that we don't mess +# with any of the library-detection tests (or similar). +if test "X$enable_Werror" = Xyes; then + CFLAGS="$CFLAGS -Werror" +fi +if test "X$enable_errwarn" = Xyes; then + CFLAGS="$CFLAGS -errwarn=%all" +fi + cat >confcache <<\_ACEOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure @@ -16856,6 +17928,14 @@ if test -z "${am__fastdepCC_TRUE}" && test -z "${am__fastdepCC_FALSE}"; then as_fn_error $? "conditional \"am__fastdepCC\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${HAVE_VSCRIPT_TRUE}" && test -z "${HAVE_VSCRIPT_FALSE}"; then + as_fn_error $? "conditional \"HAVE_VSCRIPT\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${HAVE_VSCRIPT_COMPLEX_TRUE}" && test -z "${HAVE_VSCRIPT_COMPLEX_FALSE}"; then + as_fn_error $? "conditional \"HAVE_VSCRIPT_COMPLEX\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${WITH_PCRE2_8_TRUE}" && test -z "${WITH_PCRE2_8_FALSE}"; then as_fn_error $? "conditional \"WITH_PCRE2_8\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -16880,6 +17960,14 @@ if test -z "${WITH_UNICODE_TRUE}" && test -z "${WITH_UNICODE_FALSE}"; then as_fn_error $? "conditional \"WITH_UNICODE\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 fi +if test -z "${WITH_EBCDIC_TRUE}" && test -z "${WITH_EBCDIC_FALSE}"; then + as_fn_error $? "conditional \"WITH_EBCDIC\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi +if test -z "${WITH_EBCDIC_NL25_TRUE}" && test -z "${WITH_EBCDIC_NL25_FALSE}"; then + as_fn_error $? "conditional \"WITH_EBCDIC_NL25\" was never defined. +Usually this means the macro was only invoked conditionally." "$LINENO" 5 +fi if test -z "${WITH_VALGRIND_TRUE}" && test -z "${WITH_VALGRIND_FALSE}"; then as_fn_error $? "conditional \"WITH_VALGRIND\" was never defined. Usually this means the macro was only invoked conditionally." "$LINENO" 5 @@ -17286,7 +18374,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by PCRE2 $as_me 10.45, which was +This file was extended by PCRE2 $as_me 10.47, which was generated by GNU Autoconf 2.71. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -17354,7 +18442,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\ cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1 ac_cs_config='$ac_cs_config_escaped' ac_cs_version="\\ -PCRE2 config.status 10.45 +PCRE2 config.status 10.47 configured by $0, generated by GNU Autoconf 2.71, with options \\"\$ac_cs_config\\" @@ -19022,7 +20110,7 @@ ltmain=$ac_aux_dir/ltmain.sh ;; "script-chmod":C) chmod a+x pcre2-config ;; - "delete-old-chartables":C) rm -f pcre2_chartables.c ;; + "delete-old-chartables":C) rm -f src/pcre2_chartables.c ;; esac done # for ac_tag @@ -19081,6 +20169,13 @@ elif test "$enable_ebcdic" = "yes"; then ebcdic_nl_code=0x15 fi +with_symbol_versioning=n/a +if test x$want_symvers != xyes; then + with_symbol_versioning=no +elif test x$ax_check_vscript_flag != x; then + with_symbol_versioning=yes +fi + cat < @@ -654,7 +677,7 @@ AC_LINK_IFELSE([AC_LANG_PROGRAM([[ AC_MSG_RESULT([no])) LIBS="$OLD_LIBS" -# Check for the availabiity of libreadline +# Check for the availability of libreadline if test "$enable_pcre2test_libreadline" = "yes"; then AC_CHECK_HEADERS([readline/readline.h], [HAVE_READLINE_H=1]) @@ -667,9 +690,9 @@ if test "$enable_pcre2test_libreadline" = "yes"; then [unset ac_cv_lib_readline_readline; AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncurses"], [unset ac_cv_lib_readline_readline; - AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncursesw"], + AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-lncursesw"], [unset ac_cv_lib_readline_readline; - AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltermcap"], + AC_CHECK_LIB([readline], [readline], [LIBREADLINE="-ltermcap"], [LIBREADLINE=""], [-ltermcap])], [-lncursesw])], @@ -696,16 +719,31 @@ if test "$enable_pcre2test_libedit" = "yes"; then AC_CHECK_LIB([edit], [readline], [LIBEDIT="-ledit"]) fi +# Set up shared/static library flags + PCRE2_STATIC_CFLAG="" if test "x$enable_shared" = "xno" ; then AC_DEFINE([PCRE2_STATIC], [1], [ - Define to any value if linking statically (TODO: make nice with Libtool)]) + Define to any value if linking statically. Ideally, if both static and + shared libraries are being built, then PCRE2_STATIC would be defined only + for the static build. Indeed, this is a requirement on Windows. With + Autoconf and libtool however, it is idiomatic to compile the sources once + to create both the static and shared library, so in this case, PCRE2_STATIC + should only be defined if no shared library is being built.]) PCRE2_STATIC_CFLAG="-DPCRE2_STATIC" fi AC_SUBST(PCRE2_STATIC_CFLAG) PCRE2POSIX_CFLAG="" if test "x$enable_shared" = "xyes" ; then + AC_DEFINE([PCRE2POSIX_SHARED], [1], [ + Define to any value if linking libpcre2-posix dynamically. Ideally, if both + static and shared libraries are being built, then PCRE2POSIX_SHARED would be + defined only for the shared build. Indeed, this is a requirement on Windows. + However, when building with Autoconf and libtool, we compile the sources once + only to create both the static and shared library, so in this case, + PCRE2POSIX_SHARED should only be defined if the shared library is being built, + regardless of whether or not the static library is also being built.]) PCRE2POSIX_CFLAG="-DPCRE2POSIX_SHARED" fi AC_SUBST(PCRE2POSIX_CFLAG) @@ -944,6 +982,11 @@ AH_VERBATIM([PCRE2_EXP_DEFN], [ in the C sense, but which are internal to the library. */ #undef PCRE2_EXP_DEFN]) +AH_VERBATIM([PCRE2POSIX_EXP_DEFN], [ +/* See PCRE2_EXP_DEFN; but this is applied to functions in the libpcre2-posix + library. */ +#undef PCRE2POSIX_EXP_DEFN]) + if test "$enable_ebcdic" = "yes"; then AC_DEFINE_UNQUOTED([EBCDIC], [], [ If you are compiling for a system that uses EBCDIC instead of ASCII @@ -951,7 +994,7 @@ if test "$enable_ebcdic" = "yes"; then assumes that all input strings are in EBCDIC. If you do not define this macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build a version of PCRE2 that supports both EBCDIC and - UTF-8/16/32.]) + ASCII or UTF-8/16/32.]) fi if test "$enable_ebcdic_nl25" = "yes"; then @@ -961,6 +1004,13 @@ if test "$enable_ebcdic_nl25" = "yes"; then that LF does in an ASCII/Unicode environment.]) fi +if test "$enable_ebcdic_ignoring_compiler" = "yes"; then + AC_DEFINE_UNQUOTED([EBCDIC_IGNORING_COMPILER], [], [ + To force an EBCDIC environment, define this macro to make the core PCRE2 + library functions use EBCDIC codepage 1047, regardless of whether the + compiler supports it using C character literals.]) +fi + if test "$enable_valgrind" = "yes"; then AC_DEFINE_UNQUOTED([SUPPORT_VALGRIND], [], [ Define to any value for valgrind support to find invalid memory reads.]) @@ -968,12 +1018,10 @@ fi # Platform specific issues NO_UNDEFINED= -EXPORT_ALL_SYMBOLS= case $host_os in cygwin* | mingw* ) if test X"$enable_shared" = Xyes; then NO_UNDEFINED="-no-undefined" - EXPORT_ALL_SYMBOLS="-Wl,--export-all-symbols" fi ;; esac @@ -993,6 +1041,22 @@ EXTRA_LIBPCRE2_32_LDFLAGS="$EXTRA_LIBPCRE2_32_LDFLAGS \ EXTRA_LIBPCRE2_POSIX_LDFLAGS="$EXTRA_LIBPCRE2_POSIX_LDFLAGS \ $NO_UNDEFINED -version-info libpcre2_posix_version" +# Append each library's version script, if the platform supports it. + +if test x$ax_check_vscript_flag != x ; then + EXTRA_LIBPCRE2_8_LDFLAGS="$EXTRA_LIBPCRE2_8_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-8.sym" + + EXTRA_LIBPCRE2_16_LDFLAGS="$EXTRA_LIBPCRE2_16_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-16.sym" + + EXTRA_LIBPCRE2_32_LDFLAGS="$EXTRA_LIBPCRE2_32_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-32.sym" + + EXTRA_LIBPCRE2_POSIX_LDFLAGS="$EXTRA_LIBPCRE2_POSIX_LDFLAGS \ + -Wl,$ax_check_vscript_flag,\$(srcdir)/src/libpcre2-posix.sym" +fi + AC_SUBST(EXTRA_LIBPCRE2_8_LDFLAGS) AC_SUBST(EXTRA_LIBPCRE2_16_LDFLAGS) AC_SUBST(EXTRA_LIBPCRE2_32_LDFLAGS) @@ -1147,7 +1211,16 @@ AC_CONFIG_COMMANDS([script-chmod], [chmod a+x pcre2-config]) # Make sure that pcre2_chartables.c is removed in case the method for # creating it was changed by reconfiguration. -AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f pcre2_chartables.c]) +AC_CONFIG_COMMANDS([delete-old-chartables], [rm -f src/pcre2_chartables.c]) + +# Handle --enable-Werror/errwarn. This must come last, so that we don't mess +# with any of the library-detection tests (or similar). +if test "X$enable_Werror" = Xyes; then + CFLAGS="$CFLAGS -Werror" +fi +if test "X$enable_errwarn" = Xyes; then + CFLAGS="$CFLAGS -errwarn=%all" +fi AC_OUTPUT @@ -1170,6 +1243,13 @@ elif test "$enable_ebcdic" = "yes"; then ebcdic_nl_code=0x15 fi +with_symbol_versioning=n/a +if test x$want_symvers != xyes; then + with_symbol_versioning=no +elif test x$ax_check_vscript_flag != x; then + with_symbol_versioning=yes +fi + cat < +# +# Copying and distribution of this file, with or without modification, are +# permitted in any medium without royalty provided the copyright notice +# and this notice are preserved. This file is offered as-is, without any +# warranty. + +#serial 2.99 PCRE2 + +# _AX_CHECK_VSCRIPT(flag, global-sym, action-if-link-succeeds, [junk-file=no]) +AC_DEFUN([_AX_CHECK_VSCRIPT], [ + AC_LANG_PUSH([C]) + ax_check_vscript_save_flags="$LDFLAGS" + echo "V1 { global: $2; local: *; };" > conftest.map + AS_IF([test x$4 = xyes], [ + echo "{" >> conftest.map + ]) + LDFLAGS="$LDFLAGS -Wl,$1,conftest.map" + AC_LINK_IFELSE([AC_LANG_PROGRAM([[int show, hide;]], [])], [$3]) + LDFLAGS="$ax_check_vscript_save_flags" + rm -f conftest.map + AC_LANG_POP([C]) +]) dnl _AX_CHECK_VSCRIPT + +AC_DEFUN([AX_CHECK_VSCRIPT], [ + + AC_ARG_ENABLE([symvers], + AS_HELP_STRING([--disable-symvers], + [disable library symbol versioning [default=auto]]), + [want_symvers=$enableval], + [want_symvers=yes] + ) + + AS_IF([test x$want_symvers = xyes], [ + + dnl First test --version-script and -M with a simple wildcard. + + AC_CACHE_CHECK([linker version script flag], ax_cv_check_vscript_flag, [ + ax_cv_check_vscript_flag=unsupported + _AX_CHECK_VSCRIPT([--version-script], [show], [ + ax_cv_check_vscript_flag=--version-script + ]) + AS_IF([test x$ax_cv_check_vscript_flag = xunsupported], [ + # PCRE2: Support for FreeBSD. Rather annoyingly, AC_LINK_IFELSE will + # only test linking executables, and in turn, on FreeBSD the main + # entrypoint will fail to link if you use "local: *" to hide the + # visibility of various shared symbols injected from /usr/lib/crt1.o. + # It's not at all pretty to hardcode those symbol names here, but I + # can't think of an obvious way to improve on this. + _AX_CHECK_VSCRIPT([--version-script], [show;environ;__progname], [ + ax_cv_check_vscript_flag=--version-script + ]) + ]) + AS_IF([test x$ax_cv_check_vscript_flag = xunsupported], [ + _AX_CHECK_VSCRIPT([-M], [show], [ax_cv_check_vscript_flag=-M]) + ]) + + dnl The linker may interpret -M (no argument) as "produce a load map." + dnl If "-M conftest.map" doesn't fail when conftest.map contains + dnl obvious syntax errors, assume this is the case. + + AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [ + _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [show], + [ax_cv_check_vscript_flag=unsupported], [yes]) + ]) + ]) + + dnl If the simple wildcard worked, retest with a complex wildcard. + + AS_IF([test x$ax_cv_check_vscript_flag != xunsupported], [ + ax_check_vscript_flag=$ax_cv_check_vscript_flag + AC_CACHE_CHECK([if version scripts can use complex wildcards], + ax_cv_check_vscript_complex_wildcards, [ + ax_cv_check_vscript_complex_wildcards=no + _AX_CHECK_VSCRIPT([$ax_cv_check_vscript_flag], [sh*], [ + ax_cv_check_vscript_complex_wildcards=yes]) + ]) + ax_check_vscript_complex_wildcards="$ax_cv_check_vscript_complex_wildcards" + ], [ + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + ]) + ], [ + AC_MSG_CHECKING([linker version script flag]) + AC_MSG_RESULT([disabled]) + + ax_check_vscript_flag= + ax_check_vscript_complex_wildcards=no + ]) + + AS_IF([test x$ax_check_vscript_flag != x], [ + VSCRIPT_LDFLAGS="-Wl,$ax_check_vscript_flag" + AC_SUBST([VSCRIPT_LDFLAGS]) + ]) + + AM_CONDITIONAL([HAVE_VSCRIPT], + [test x$ax_check_vscript_flag != x]) + AM_CONDITIONAL([HAVE_VSCRIPT_COMPLEX], + [test x$ax_check_vscript_complex_wildcards = xyes]) + +]) dnl AX_CHECK_VSCRIPT diff --git a/libpcre/m4/ax_pthread.m4 b/libpcre/m4/ax_pthread.m4 index d90de34d1..9f35d1391 100644 --- a/libpcre/m4/ax_pthread.m4 +++ b/libpcre/m4/ax_pthread.m4 @@ -1,5 +1,5 @@ # =========================================================================== -# http://www.gnu.org/software/autoconf-archive/ax_pthread.html +# https://www.gnu.org/software/autoconf-archive/ax_pthread.html # =========================================================================== # # SYNOPSIS @@ -14,24 +14,28 @@ # flags that are needed. (The user can also force certain compiler # flags/libs to be tested by setting these environment variables.) # -# Also sets PTHREAD_CC to any special C compiler that is needed for -# multi-threaded programs (defaults to the value of CC otherwise). (This -# is necessary on AIX to use the special cc_r compiler alias.) +# Also sets PTHREAD_CC and PTHREAD_CXX to any special C compiler that is +# needed for multi-threaded programs (defaults to the value of CC +# respectively CXX otherwise). (This is necessary on e.g. AIX to use the +# special cc_r/CC_r compiler alias.) # # NOTE: You are assumed to not only compile your program with these flags, -# but also link it with them as well. e.g. you should link with +# but also to link with them as well. For example, you might link with # $PTHREAD_CC $CFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS +# $PTHREAD_CXX $CXXFLAGS $PTHREAD_CFLAGS $LDFLAGS ... $PTHREAD_LIBS $LIBS # -# If you are only building threads programs, you may wish to use these +# If you are only building threaded programs, you may wish to use these # variables in your default LIBS, CFLAGS, and CC: # # LIBS="$PTHREAD_LIBS $LIBS" # CFLAGS="$CFLAGS $PTHREAD_CFLAGS" +# CXXFLAGS="$CXXFLAGS $PTHREAD_CFLAGS" # CC="$PTHREAD_CC" +# CXX="$PTHREAD_CXX" # # In addition, if the PTHREAD_CREATE_JOINABLE thread-attribute constant -# has a nonstandard name, defines PTHREAD_CREATE_JOINABLE to that name -# (e.g. PTHREAD_CREATE_UNDETACHED on AIX). +# has a nonstandard name, this macro defines PTHREAD_CREATE_JOINABLE to +# that name (e.g. PTHREAD_CREATE_UNDETACHED on AIX). # # Also HAVE_PTHREAD_PRIO_INHERIT is defined if pthread is found and the # PTHREAD_PRIO_INHERIT symbol is defined when compiling with @@ -55,6 +59,7 @@ # # Copyright (c) 2008 Steven G. Johnson # Copyright (c) 2011 Daniel Richard G. +# Copyright (c) 2019 Marc Stevens # # This program is free software: you can redistribute it and/or modify it # under the terms of the GNU General Public License as published by the @@ -67,7 +72,7 @@ # Public License for more details. # # You should have received a copy of the GNU General Public License along -# with this program. If not, see . +# with this program. If not, see . # # As a special exception, the respective Autoconf Macro's copyright owner # gives unlimited permission to copy, distribute and modify the configure @@ -82,35 +87,41 @@ # modified version of the Autoconf Macro, you may extend this special # exception to the GPL to apply to your modified version as well. -#serial 18 +#serial 31 AU_ALIAS([ACX_PTHREAD], [AX_PTHREAD]) AC_DEFUN([AX_PTHREAD], [ AC_REQUIRE([AC_CANONICAL_HOST]) +AC_REQUIRE([AC_PROG_CC]) +AC_REQUIRE([AC_PROG_SED]) AC_LANG_PUSH([C]) ax_pthread_ok=no # We used to check for pthread.h first, but this fails if pthread.h -# requires special compiler flags (e.g. on True64 or Sequent). +# requires special compiler flags (e.g. on Tru64 or Sequent). # It gets checked for in the link test anyway. # First of all, check if the user has set any of the PTHREAD_LIBS, # etcetera environment variables, and if threads linking works using # them: -if test x"$PTHREAD_LIBS$PTHREAD_CFLAGS" != x; then - save_CFLAGS="$CFLAGS" +if test "x$PTHREAD_CFLAGS$PTHREAD_LIBS" != "x"; then + ax_pthread_save_CC="$CC" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" + AS_IF([test "x$PTHREAD_CC" != "x"], [CC="$PTHREAD_CC"]) + AS_IF([test "x$PTHREAD_CXX" != "x"], [CXX="$PTHREAD_CXX"]) CFLAGS="$CFLAGS $PTHREAD_CFLAGS" - save_LIBS="$LIBS" LIBS="$PTHREAD_LIBS $LIBS" - AC_MSG_CHECKING([for pthread_join in LIBS=$PTHREAD_LIBS with CFLAGS=$PTHREAD_CFLAGS]) - AC_TRY_LINK_FUNC(pthread_join, ax_pthread_ok=yes) - AC_MSG_RESULT($ax_pthread_ok) - if test x"$ax_pthread_ok" = xno; then + AC_MSG_CHECKING([for pthread_join using $CC $PTHREAD_CFLAGS $PTHREAD_LIBS]) + AC_LINK_IFELSE([AC_LANG_CALL([], [pthread_join])], [ax_pthread_ok=yes]) + AC_MSG_RESULT([$ax_pthread_ok]) + if test "x$ax_pthread_ok" = "xno"; then PTHREAD_LIBS="" PTHREAD_CFLAGS="" fi - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CC="$ax_pthread_save_CC" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" fi # We must check for the threads library under a number of different @@ -118,12 +129,14 @@ fi # (e.g. DEC) have both -lpthread and -lpthreads, where one of the # libraries is broken (non-POSIX). -# Create a list of thread flags to try. Items starting with a "-" are -# C compiler flags, and other items are library names, except for "none" -# which indicates that we try without any flags at all, and "pthread-config" -# which is a program returning the flags for the Pth emulation library. +# Create a list of thread flags to try. Items with a "," contain both +# C compiler flags (before ",") and linker flags (after ","). Other items +# starting with a "-" are C compiler flags, and remaining items are +# library names, except for "none" which indicates that we try without +# any flags at all, and "pthread-config" which is a program returning +# the flags for the Pth emulation library. -ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" +ax_pthread_flags="pthreads none -Kthread -pthread -pthreads -mthreads pthread --thread-safe -mt pthread-config" # The ordering *is* (sometimes) important. Some notes on the # individual items follow: @@ -132,68 +145,163 @@ ax_pthread_flags="pthreads none -Kthread -kthread lthread -pthread -pthreads -mt # none: in case threads are in libc; should be tried before -Kthread and # other compiler flags to prevent continual compiler warnings # -Kthread: Sequent (threads in libc, but -Kthread needed for pthread.h) -# -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) -# lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) -# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads) -# -pthreads: Solaris/gcc -# -mthreads: Mingw32/gcc, Lynx/gcc +# -pthread: Linux/gcc (kernel threads), BSD/gcc (userland threads), Tru64 +# (Note: HP C rejects this with "bad form for `-t' option") +# -pthreads: Solaris/gcc (Note: HP C also rejects) # -mt: Sun Workshop C (may only link SunOS threads [-lthread], but it -# doesn't hurt to check since this sometimes defines pthreads too; -# also defines -D_REENTRANT) -# ... -mt is also the pthreads flag for HP/aCC +# doesn't hurt to check since this sometimes defines pthreads and +# -D_REENTRANT too), HP C (must be checked before -lpthread, which +# is present but should not be used directly; and before -mthreads, +# because the compiler interprets this as "-mt" + "-hreads") +# -mthreads: Mingw32/gcc, Lynx/gcc # pthread: Linux, etcetera # --thread-safe: KAI C++ # pthread-config: use pthread-config program (for GNU Pth library) -case ${host_os} in +case $host_os in + + freebsd*) + + # -kthread: FreeBSD kernel threads (preferred to -pthread since SMP-able) + # lthread: LinuxThreads port on FreeBSD (also preferred to -pthread) + + ax_pthread_flags="-kthread lthread $ax_pthread_flags" + ;; + + hpux*) + + # From the cc(1) man page: "[-mt] Sets various -D flags to enable + # multi-threading and also sets -lpthread." + + ax_pthread_flags="-mt -pthread pthread $ax_pthread_flags" + ;; + + openedition*) + + # IBM z/OS requires a feature-test macro to be defined in order to + # enable POSIX threads at all, so give the user a hint if this is + # not set. (We don't define these ourselves, as they can affect + # other portions of the system API in unpredictable ways.) + + AC_EGREP_CPP([AX_PTHREAD_ZOS_MISSING], + [ +# if !defined(_OPEN_THREADS) && !defined(_UNIX03_THREADS) + AX_PTHREAD_ZOS_MISSING +# endif + ], + [AC_MSG_WARN([IBM z/OS requires -D_OPEN_THREADS or -D_UNIX03_THREADS to enable pthreads support.])]) + ;; + solaris*) # On Solaris (at least, for some versions), libc contains stubbed # (non-functional) versions of the pthreads routines, so link-based - # tests will erroneously succeed. (We need to link with -pthreads/-mt/ - # -lpthread.) (The stubs are missing pthread_cleanup_push, or rather - # a function called by this macro, so we could check for that, but - # who knows whether they'll stub that too in a future libc.) So, - # we'll just look for -pthreads and -lpthread first: + # tests will erroneously succeed. (N.B.: The stubs are missing + # pthread_cleanup_push, or rather a function called by this macro, + # so we could check for that, but who knows whether they'll stub + # that too in a future libc.) So we'll check first for the + # standard Solaris way of linking pthreads (-mt -lpthread). - ax_pthread_flags="-pthreads pthread -mt -pthread $ax_pthread_flags" - ;; - - darwin*) - ax_pthread_flags="-pthread $ax_pthread_flags" + ax_pthread_flags="-mt,-lpthread pthread $ax_pthread_flags" ;; esac -if test x"$ax_pthread_ok" = xno; then -for flag in $ax_pthread_flags; do +# Are we compiling with Clang? - case $flag in +AC_CACHE_CHECK([whether $CC is Clang], + [ax_cv_PTHREAD_CLANG], + [ax_cv_PTHREAD_CLANG=no + # Note that Autoconf sets GCC=yes for Clang as well as GCC + if test "x$GCC" = "xyes"; then + AC_EGREP_CPP([AX_PTHREAD_CC_IS_CLANG], + [/* Note: Clang 2.7 lacks __clang_[a-z]+__ */ +# if defined(__clang__) && defined(__llvm__) + AX_PTHREAD_CC_IS_CLANG +# endif + ], + [ax_cv_PTHREAD_CLANG=yes]) + fi + ]) +ax_pthread_clang="$ax_cv_PTHREAD_CLANG" + + +# GCC generally uses -pthread, or -pthreads on some platforms (e.g. SPARC) + +# Note that for GCC and Clang -pthread generally implies -lpthread, +# except when -nostdlib is passed. +# This is problematic using libtool to build C++ shared libraries with pthread: +# [1] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=25460 +# [2] https://bugzilla.redhat.com/show_bug.cgi?id=661333 +# [3] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=468555 +# To solve this, first try -pthread together with -lpthread for GCC + +AS_IF([test "x$GCC" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread -pthreads $ax_pthread_flags"]) + +# Clang takes -pthread (never supported any other flag), but we'll try with -lpthread first + +AS_IF([test "x$ax_pthread_clang" = "xyes"], + [ax_pthread_flags="-pthread,-lpthread -pthread"]) + + +# The presence of a feature test macro requesting re-entrant function +# definitions is, on some systems, a strong hint that pthreads support is +# correctly enabled + +case $host_os in + darwin* | hpux* | linux* | osf* | solaris*) + ax_pthread_check_macro="_REENTRANT" + ;; + + aix*) + ax_pthread_check_macro="_THREAD_SAFE" + ;; + + *) + ax_pthread_check_macro="--" + ;; +esac +AS_IF([test "x$ax_pthread_check_macro" = "x--"], + [ax_pthread_check_cond=0], + [ax_pthread_check_cond="!defined($ax_pthread_check_macro)"]) + + +if test "x$ax_pthread_ok" = "xno"; then +for ax_pthread_try_flag in $ax_pthread_flags; do + + case $ax_pthread_try_flag in none) AC_MSG_CHECKING([whether pthreads work without any flags]) ;; + *,*) + PTHREAD_CFLAGS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\1/"` + PTHREAD_LIBS=`echo $ax_pthread_try_flag | sed "s/^\(.*\),\(.*\)$/\2/"` + AC_MSG_CHECKING([whether pthreads work with "$PTHREAD_CFLAGS" and "$PTHREAD_LIBS"]) + ;; + -*) - AC_MSG_CHECKING([whether pthreads work with $flag]) - PTHREAD_CFLAGS="$flag" + AC_MSG_CHECKING([whether pthreads work with $ax_pthread_try_flag]) + PTHREAD_CFLAGS="$ax_pthread_try_flag" ;; pthread-config) - AC_CHECK_PROG(ax_pthread_config, pthread-config, yes, no) - if test x"$ax_pthread_config" = xno; then continue; fi + AC_CHECK_PROG([ax_pthread_config], [pthread-config], [yes], [no]) + AS_IF([test "x$ax_pthread_config" = "xno"], [continue]) PTHREAD_CFLAGS="`pthread-config --cflags`" PTHREAD_LIBS="`pthread-config --ldflags` `pthread-config --libs`" ;; *) - AC_MSG_CHECKING([for the pthreads library -l$flag]) - PTHREAD_LIBS="-l$flag" + AC_MSG_CHECKING([for the pthreads library -l$ax_pthread_try_flag]) + PTHREAD_LIBS="-l$ax_pthread_try_flag" ;; esac - save_LIBS="$LIBS" - save_CFLAGS="$CFLAGS" - LIBS="$PTHREAD_LIBS $LIBS" + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Check for various functions. We must include pthread.h, # since some functions may be macros. (On the Sequent, we @@ -204,8 +312,18 @@ for flag in $ax_pthread_flags; do # pthread_cleanup_push because it is one of the few pthread # functions on Solaris that doesn't have a non-functional libc stub. # We try pthread_create on general principles. + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include - static void routine(void *a) { a = 0; } +# if $ax_pthread_check_cond +# error "$ax_pthread_check_macro must be defined" +# endif + static void *some_global = NULL; + static void routine(void *a) + { + /* To avoid any unused-parameter or + unused-but-set-parameter warning. */ + some_global = a; + } static void *start_routine(void *a) { return a; }], [pthread_t th; pthread_attr_t attr; pthread_create(&th, 0, start_routine, 0); @@ -213,93 +331,188 @@ for flag in $ax_pthread_flags; do pthread_attr_init(&attr); pthread_cleanup_push(routine, 0); pthread_cleanup_pop(0) /* ; */])], - [ax_pthread_ok=yes], - []) + [ax_pthread_ok=yes], + []) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" - AC_MSG_RESULT($ax_pthread_ok) - if test "x$ax_pthread_ok" = xyes; then - break; - fi + AC_MSG_RESULT([$ax_pthread_ok]) + AS_IF([test "x$ax_pthread_ok" = "xyes"], [break]) PTHREAD_LIBS="" PTHREAD_CFLAGS="" done fi + +# Clang needs special handling, because older versions handle the -pthread +# option in a rather... idiosyncratic way + +if test "x$ax_pthread_clang" = "xyes"; then + + # Clang takes -pthread; it has never supported any other flag + + # (Note 1: This will need to be revisited if a system that Clang + # supports has POSIX threads in a separate library. This tends not + # to be the way of modern systems, but it's conceivable.) + + # (Note 2: On some systems, notably Darwin, -pthread is not needed + # to get POSIX threads support; the API is always present and + # active. We could reasonably leave PTHREAD_CFLAGS empty. But + # -pthread does define _REENTRANT, and while the Darwin headers + # ignore this macro, third-party headers might not.) + + # However, older versions of Clang make a point of warning the user + # that, in an invocation where only linking and no compilation is + # taking place, the -pthread option has no effect ("argument unused + # during compilation"). They expect -pthread to be passed in only + # when source code is being compiled. + # + # Problem is, this is at odds with the way Automake and most other + # C build frameworks function, which is that the same flags used in + # compilation (CFLAGS) are also used in linking. Many systems + # supported by AX_PTHREAD require exactly this for POSIX threads + # support, and in fact it is often not straightforward to specify a + # flag that is used only in the compilation phase and not in + # linking. Such a scenario is extremely rare in practice. + # + # Even though use of the -pthread flag in linking would only print + # a warning, this can be a nuisance for well-run software projects + # that build with -Werror. So if the active version of Clang has + # this misfeature, we search for an option to squash it. + + AC_CACHE_CHECK([whether Clang needs flag to prevent "argument unused" warning when linking with -pthread], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG], + [ax_cv_PTHREAD_CLANG_NO_WARN_FLAG=unknown + # Create an alternate version of $ac_link that compiles and + # links in two steps (.c -> .o, .o -> exe) instead of one + # (.c -> exe), because the warning occurs only in the second + # step + ax_pthread_save_ac_link="$ac_link" + ax_pthread_sed='s/conftest\.\$ac_ext/conftest.$ac_objext/g' + ax_pthread_link_step=`AS_ECHO(["$ac_link"]) | sed "$ax_pthread_sed"` + ax_pthread_2step_ac_link="($ac_compile) && (echo ==== >&5) && ($ax_pthread_link_step)" + ax_pthread_save_CFLAGS="$CFLAGS" + for ax_pthread_try in '' -Qunused-arguments -Wno-unused-command-line-argument unknown; do + AS_IF([test "x$ax_pthread_try" = "xunknown"], [break]) + CFLAGS="-Werror -Wunknown-warning-option $ax_pthread_try -pthread $ax_pthread_save_CFLAGS" + ac_link="$ax_pthread_save_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [ac_link="$ax_pthread_2step_ac_link" + AC_LINK_IFELSE([AC_LANG_SOURCE([[int main(void){return 0;}]])], + [break]) + ]) + done + ac_link="$ax_pthread_save_ac_link" + CFLAGS="$ax_pthread_save_CFLAGS" + AS_IF([test "x$ax_pthread_try" = "x"], [ax_pthread_try=no]) + ax_cv_PTHREAD_CLANG_NO_WARN_FLAG="$ax_pthread_try" + ]) + + case "$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG" in + no | unknown) ;; + *) PTHREAD_CFLAGS="$ax_cv_PTHREAD_CLANG_NO_WARN_FLAG $PTHREAD_CFLAGS" ;; + esac + +fi # $ax_pthread_clang = yes + + + # Various other checks: -if test "x$ax_pthread_ok" = xyes; then - save_LIBS="$LIBS" - LIBS="$PTHREAD_LIBS $LIBS" - save_CFLAGS="$CFLAGS" +if test "x$ax_pthread_ok" = "xyes"; then + ax_pthread_save_CFLAGS="$CFLAGS" + ax_pthread_save_LIBS="$LIBS" CFLAGS="$CFLAGS $PTHREAD_CFLAGS" + LIBS="$PTHREAD_LIBS $LIBS" # Detect AIX lossage: JOINABLE attribute is called UNDETACHED. - AC_MSG_CHECKING([for joinable pthread attribute]) - attr_name=unknown - for attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do - AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], - [int attr = $attr; return attr /* ; */])], - [attr_name=$attr; break], - []) - done - AC_MSG_RESULT($attr_name) - if test "$attr_name" != PTHREAD_CREATE_JOINABLE; then - AC_DEFINE_UNQUOTED(PTHREAD_CREATE_JOINABLE, $attr_name, - [Define to necessary symbol if this constant - uses a non-standard name on your system.]) - fi + AC_CACHE_CHECK([for joinable pthread attribute], + [ax_cv_PTHREAD_JOINABLE_ATTR], + [ax_cv_PTHREAD_JOINABLE_ATTR=unknown + for ax_pthread_attr in PTHREAD_CREATE_JOINABLE PTHREAD_CREATE_UNDETACHED; do + AC_LINK_IFELSE([AC_LANG_PROGRAM([#include ], + [int attr = $ax_pthread_attr; return attr /* ; */])], + [ax_cv_PTHREAD_JOINABLE_ATTR=$ax_pthread_attr; break], + []) + done + ]) + AS_IF([test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xunknown" && \ + test "x$ax_cv_PTHREAD_JOINABLE_ATTR" != "xPTHREAD_CREATE_JOINABLE" && \ + test "x$ax_pthread_joinable_attr_defined" != "xyes"], + [AC_DEFINE_UNQUOTED([PTHREAD_CREATE_JOINABLE], + [$ax_cv_PTHREAD_JOINABLE_ATTR], + [Define to necessary symbol if this constant + uses a non-standard name on your system.]) + ax_pthread_joinable_attr_defined=yes + ]) - AC_MSG_CHECKING([if more special flags are required for pthreads]) - flag=no - case ${host_os} in - aix* | freebsd* | darwin*) flag="-D_THREAD_SAFE";; - osf* | hpux*) flag="-D_REENTRANT";; - solaris*) - if test "$GCC" = "yes"; then - flag="-D_REENTRANT" - else - flag="-mt -D_REENTRANT" - fi - ;; - esac - AC_MSG_RESULT(${flag}) - if test "x$flag" != xno; then - PTHREAD_CFLAGS="$flag $PTHREAD_CFLAGS" - fi + AC_CACHE_CHECK([whether more special flags are required for pthreads], + [ax_cv_PTHREAD_SPECIAL_FLAGS], + [ax_cv_PTHREAD_SPECIAL_FLAGS=no + case $host_os in + solaris*) + ax_cv_PTHREAD_SPECIAL_FLAGS="-D_POSIX_PTHREAD_SEMANTICS" + ;; + esac + ]) + AS_IF([test "x$ax_cv_PTHREAD_SPECIAL_FLAGS" != "xno" && \ + test "x$ax_pthread_special_flags_added" != "xyes"], + [PTHREAD_CFLAGS="$ax_cv_PTHREAD_SPECIAL_FLAGS $PTHREAD_CFLAGS" + ax_pthread_special_flags_added=yes]) AC_CACHE_CHECK([for PTHREAD_PRIO_INHERIT], - ax_cv_PTHREAD_PRIO_INHERIT, [ - AC_LINK_IFELSE([ - AC_LANG_PROGRAM([[#include ]], [[int i = PTHREAD_PRIO_INHERIT;]])], - [ax_cv_PTHREAD_PRIO_INHERIT=yes], - [ax_cv_PTHREAD_PRIO_INHERIT=no]) + [ax_cv_PTHREAD_PRIO_INHERIT], + [AC_LINK_IFELSE([AC_LANG_PROGRAM([[#include ]], + [[int i = PTHREAD_PRIO_INHERIT; + return i;]])], + [ax_cv_PTHREAD_PRIO_INHERIT=yes], + [ax_cv_PTHREAD_PRIO_INHERIT=no]) ]) - AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes"], - AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], 1, [Have PTHREAD_PRIO_INHERIT.])) + AS_IF([test "x$ax_cv_PTHREAD_PRIO_INHERIT" = "xyes" && \ + test "x$ax_pthread_prio_inherit_defined" != "xyes"], + [AC_DEFINE([HAVE_PTHREAD_PRIO_INHERIT], [1], [Have PTHREAD_PRIO_INHERIT.]) + ax_pthread_prio_inherit_defined=yes + ]) - LIBS="$save_LIBS" - CFLAGS="$save_CFLAGS" + CFLAGS="$ax_pthread_save_CFLAGS" + LIBS="$ax_pthread_save_LIBS" - # More AIX lossage: must compile with xlc_r or cc_r - if test x"$GCC" != xyes; then - AC_CHECK_PROGS(PTHREAD_CC, xlc_r cc_r, ${CC}) - else - PTHREAD_CC=$CC + # More AIX lossage: compile with *_r variant + if test "x$GCC" != "xyes"; then + case $host_os in + aix*) + AS_CASE(["x/$CC"], + [x*/c89|x*/c89_128|x*/c99|x*/c99_128|x*/cc|x*/cc128|x*/xlc|x*/xlc_v6|x*/xlc128|x*/xlc128_v6], + [#handle absolute path differently from PATH based program lookup + AS_CASE(["x$CC"], + [x/*], + [ + AS_IF([AS_EXECUTABLE_P([${CC}_r])],[PTHREAD_CC="${CC}_r"]) + AS_IF([test "x${CXX}" != "x"], [AS_IF([AS_EXECUTABLE_P([${CXX}_r])],[PTHREAD_CXX="${CXX}_r"])]) + ], + [ + AC_CHECK_PROGS([PTHREAD_CC],[${CC}_r],[$CC]) + AS_IF([test "x${CXX}" != "x"], [AC_CHECK_PROGS([PTHREAD_CXX],[${CXX}_r],[$CXX])]) + ] + ) + ]) + ;; + esac fi -else - PTHREAD_CC="$CC" fi -AC_SUBST(PTHREAD_LIBS) -AC_SUBST(PTHREAD_CFLAGS) -AC_SUBST(PTHREAD_CC) +test -n "$PTHREAD_CC" || PTHREAD_CC="$CC" +test -n "$PTHREAD_CXX" || PTHREAD_CXX="$CXX" + +AC_SUBST([PTHREAD_LIBS]) +AC_SUBST([PTHREAD_CFLAGS]) +AC_SUBST([PTHREAD_CC]) +AC_SUBST([PTHREAD_CXX]) # Finally, execute ACTION-IF-FOUND/ACTION-IF-NOT-FOUND: -if test x"$ax_pthread_ok" = xyes; then - ifelse([$1],,AC_DEFINE(HAVE_PTHREAD,1,[Define if you have POSIX threads libraries and header files.]),[$1]) +if test "x$ax_pthread_ok" = "xyes"; then + ifelse([$1],,[AC_DEFINE([HAVE_PTHREAD],[1],[Define if you have POSIX threads libraries and header files.])],[$1]) : else ax_pthread_ok=no diff --git a/libpcre/m4/pcre2_visibility.m4 b/libpcre/m4/pcre2_visibility.m4 index 03f4fba6e..1e4e81952 100644 --- a/libpcre/m4/pcre2_visibility.m4 +++ b/libpcre/m4/pcre2_visibility.m4 @@ -34,10 +34,10 @@ AC_DEFUN([PCRE2_VISIBILITY], AC_COMPILE_IFELSE( [AC_LANG_PROGRAM([[]], [[]])], [ - AC_COMPILE_IFELSE( - [AC_LANG_PROGRAM([[]], [[ #warning e ]])], + AC_COMPILE_IFELSE( + [AC_LANG_PROGRAM([[]], [[ #warning e ]])], [], [pcre2_cv_cc_vis_werror=yes] - ) + ) ], []) CFLAGS="$pcre2_save_CFLAGS"]) AC_MSG_RESULT([$pcre2_cv_cc_vis_werror]) @@ -74,9 +74,9 @@ AC_DEFUN([PCRE2_VISIBILITY], then VISIBILITY_CFLAGS="-fvisibility=hidden" HAVE_VISIBILITY=1 - AC_DEFINE(PCRE2_EXPORT, [__attribute__ ((visibility ("default")))], [to make a symbol visible]) + AC_DEFINE(PCRE2_EXPORT, [__attribute__ ((visibility ("default")))], [Define to the annotation for making a symbol visible.]) else - AC_DEFINE(PCRE2_EXPORT, [], [to make a symbol visible]) + AC_DEFINE(PCRE2_EXPORT, [], [Define to the annotation for making a symbol visible.]) fi AC_SUBST([VISIBILITY_CFLAGS]) AC_SUBST([HAVE_VISIBILITY]) diff --git a/libpcre/m4/pcre2_zos.m4 b/libpcre/m4/pcre2_zos.m4 new file mode 100644 index 000000000..2e5dbd48b --- /dev/null +++ b/libpcre/m4/pcre2_zos.m4 @@ -0,0 +1,50 @@ +dnl Tests whether the compiler requires an additional flag in order to fail on +dnl undefined headers. + +dnl The concept of setting this commandline flag was learned from patches and +dnl mailing list discussions of the gnulib and gawk projects (credit to +dnl Bruno Haible). + +AC_DEFUN([PCRE2_ZOS_FIXES], +[ + AC_CACHE_CHECK([for OS/390 (z/OS)], [pcre2_cv_os390], + [if test "`uname`" = "OS/390"; then + pcre2_cv_os390=yes + else + pcre2_cv_os390=no + fi]) + if test "$pcre2_cv_os390" = "yes"; then + AC_CACHE_CHECK([whether the compiler supports -qhaltonmsg=CCN3296], [pcre2_cv_xlc_qhaltonmsg_support], + [save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([])], + [pcre2_cv_xlc_qhaltonmsg_support=yes], + [pcre2_cv_xlc_qhaltonmsg_support=no]) + CFLAGS="$save_CFLAGS" + ]) + + AC_CACHE_CHECK([whether non-existent headers fail the compile], [pcre2_cv_xlc_nonexistent_fatal], + [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]])], + [pcre2_cv_xlc_nonexistent_fatal=no], + [pcre2_cv_xlc_nonexistent_fatal=yes]) + ]) + + if test "$pcre2_cv_xlc_nonexistent_fatal" = "no" && test "$pcre2_cv_xlc_qhaltonmsg_support" = "yes"; then + AC_CACHE_CHECK([whether -qhaltonmsg=CCN3296 fixes the non-existent-header issue], [pcre2_cv_xlc_qhaltonmsg_fixes], + [save_CFLAGS="$CFLAGS" + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[#include ]])], + [pcre2_cv_xlc_qhaltonmsg_fixes=no], + [pcre2_cv_xlc_qhaltonmsg_fixes=yes]) + CFLAGS="$save_CFLAGS" + ]) + + if test "$pcre2_cv_xlc_qhaltonmsg_fixes" = "no"; then + AC_MSG_ERROR([-qhaltonmsg=CCN3296 not effective on non-existent headers]) + fi + + CFLAGS="$CFLAGS -qhaltonmsg=CCN3296" + fi + + fi +]) diff --git a/libpcre/config-cmake.h.in b/libpcre/src/config-cmake.h.in similarity index 90% rename from libpcre/config-cmake.h.in rename to libpcre/src/config-cmake.h.in index 0eff0e0f7..bcc62c046 100644 --- a/libpcre/config-cmake.h.in +++ b/libpcre/src/config-cmake.h.in @@ -11,11 +11,8 @@ #cmakedefine HAVE_UNISTD_H 1 #cmakedefine HAVE_WINDOWS_H 1 -#cmakedefine HAVE_BCOPY 1 #cmakedefine HAVE_MEMFD_CREATE 1 -#cmakedefine HAVE_MEMMOVE 1 #cmakedefine HAVE_SECURE_GETENV 1 -#cmakedefine HAVE_STRERROR 1 #cmakedefine SUPPORT_PCRE2_8 1 #cmakedefine SUPPORT_PCRE2_16 1 @@ -38,7 +35,7 @@ #cmakedefine BSR_ANYCRLF 1 #cmakedefine EBCDIC 1 #cmakedefine EBCDIC_NL25 1 -#cmakedefine HEAP_MATCH_RECURSE 1 +#cmakedefine EBCDIC_IGNORING_COMPILER 1 #cmakedefine NEVER_BACKSLASH_C 1 #define PCRE2_EXPORT @PCRE2_EXPORT@ @@ -52,7 +49,7 @@ #define PCRE2GREP_BUFSIZE @PCRE2GREP_BUFSIZE@ #define PCRE2GREP_MAX_BUFSIZE @PCRE2GREP_MAX_BUFSIZE@ -#define MAX_NAME_SIZE 128 -#define MAX_NAME_COUNT 10000 +#define MAX_NAME_SIZE 128 +#define MAX_NAME_COUNT 10000 /* end config.h for CMake builds */ diff --git a/libpcre/src/config.h.generic b/libpcre/src/config.h.generic index 380a08906..48da31e1b 100644 --- a/libpcre/src/config.h.generic +++ b/libpcre/src/config.h.generic @@ -22,11 +22,7 @@ Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All such macros are listed as a commented #undef in config.h.generic. Macros such as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are -surrounded by #ifndef/#endif lines so that the value can be overridden by -D. - -PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if -HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make -sure both macros are undefined; an emulation function will then be used. */ +surrounded by #ifndef/#endif lines so that the value can be overridden by -D. */ /* By default, the \R escape sequence matches any Unicode line ending character or sequence of characters. If BSR_ANYCRLF is defined (to any @@ -44,9 +40,14 @@ sure both macros are undefined; an emulation function will then be used. */ assumes that all input strings are in EBCDIC. If you do not define this macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build a version of PCRE2 that supports both EBCDIC and - UTF-8/16/32. */ + ASCII or UTF-8/16/32. */ /* #undef EBCDIC */ +/* To force an EBCDIC environment, define this macro to make the core PCRE2 + library functions use EBCDIC codepage 1047, regardless of whether the + compiler supports it using C character literals. */ +/* #undef EBCDIC_IGNORING_COMPILER */ + /* In an EBCDIC environment, define this macro to any value to arrange for the NL character to be 0x25 instead of the default 0x15. NL plays the role that LF does in an ASCII/Unicode environment. */ @@ -58,9 +59,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define this if your compiler supports __attribute__((uninitialized)) */ /* #undef HAVE_ATTRIBUTE_UNINITIALIZED */ -/* Define to 1 if you have the `bcopy' function. */ -/* #undef HAVE_BCOPY */ - /* Define this if your compiler provides __assume() */ /* #undef HAVE_BUILTIN_ASSUME */ @@ -94,9 +92,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the `memfd_create' function. */ /* #undef HAVE_MEMFD_CREATE */ -/* Define to 1 if you have the `memmove' function. */ -/* #undef HAVE_MEMMOVE */ - /* Define to 1 if you have the header file. */ /* #undef HAVE_MINIX_CONFIG_H */ @@ -133,9 +128,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ /* #undef HAVE_STDLIB_H */ -/* Define to 1 if you have the `strerror' function. */ -/* #undef HAVE_STRERROR */ - /* Define to 1 if you have the header file. */ /* #undef HAVE_STRINGS_H */ @@ -255,7 +247,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_NAME "PCRE2" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "PCRE2 10.45" +#define PACKAGE_STRING "PCRE2 10.47" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "pcre2" @@ -264,7 +256,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "10.45" +#define PACKAGE_VERSION "10.47" /* The value of PARENS_NEST_LIMIT specifies the maximum depth of nested parentheses (of any kind) in a pattern. This limits the amount of system @@ -291,10 +283,24 @@ sure both macros are undefined; an emulation function will then be used. */ #define PCRE2GREP_MAX_BUFSIZE 1048576 #endif +/* See PCRE2_EXP_DEFN; but this is applied to functions in the libpcre2-posix + library. */ +/* #undef PCRE2POSIX_EXP_DEFN */ + +/* Define to any value if linking libpcre2-posix dynamically. Ideally, if both + static and shared libraries are being built, then PCRE2POSIX_SHARED would + be defined only for the shared build. Indeed, this is a requirement on + Windows. However, when building with Autoconf and libtool, we compile the + sources once only to create both the static and shared library, so in this + case, PCRE2POSIX_SHARED should only be defined if the shared library is + being built, regardless of whether or not the static library is also being + built. */ +/* #undef PCRE2POSIX_SHARED */ + /* Define to any value to include debugging code. */ /* #undef PCRE2_DEBUG */ -/* to make a symbol visible */ +/* Define to the annotation for making a symbol visible. */ #define PCRE2_EXPORT /* If you are compiling for a system other than a Unix-like system or @@ -309,7 +315,12 @@ sure both macros are undefined; an emulation function will then be used. */ in the C sense, but which are internal to the library. */ /* #undef PCRE2_EXP_DEFN */ -/* Define to any value if linking statically (TODO: make nice with Libtool) */ +/* Define to any value if linking statically. Ideally, if both static and + shared libraries are being built, then PCRE2_STATIC would be defined only + for the static build. Indeed, this is a requirement on Windows. With + Autoconf and libtool however, it is idiomatic to compile the sources once + to create both the static and shared library, so in this case, PCRE2_STATIC + should only be defined if no shared library is being built. */ /* #undef PCRE2_STATIC */ /* Define to necessary symbol if this constant uses a non-standard name on @@ -464,7 +475,7 @@ sure both macros are undefined; an emulation function will then be used. */ #endif /* Version number of package */ -#define VERSION "10.45" +#define VERSION "10.47" /* Number of bits in a file offset, on hosts where this is settable. */ /* #undef _FILE_OFFSET_BITS */ diff --git a/libpcre/src/config.h.in b/libpcre/src/config.h.in index be29681c1..0f2ef3834 100644 --- a/libpcre/src/config.h.in +++ b/libpcre/src/config.h.in @@ -22,11 +22,7 @@ Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All such macros are listed as a commented #undef in config.h.generic. Macros such as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are -surrounded by #ifndef/#endif lines so that the value can be overridden by -D. - -PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if -HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make -sure both macros are undefined; an emulation function will then be used. */ +surrounded by #ifndef/#endif lines so that the value can be overridden by -D. */ /* By default, the \R escape sequence matches any Unicode line ending character or sequence of characters. If BSR_ANYCRLF is defined (to any @@ -44,9 +40,14 @@ sure both macros are undefined; an emulation function will then be used. */ assumes that all input strings are in EBCDIC. If you do not define this macro, PCRE2 will assume input strings are ASCII or UTF-8/16/32 Unicode. It is not possible to build a version of PCRE2 that supports both EBCDIC and - UTF-8/16/32. */ + ASCII or UTF-8/16/32. */ #undef EBCDIC +/* To force an EBCDIC environment, define this macro to make the core PCRE2 + library functions use EBCDIC codepage 1047, regardless of whether the + compiler supports it using C character literals. */ +#undef EBCDIC_IGNORING_COMPILER + /* In an EBCDIC environment, define this macro to any value to arrange for the NL character to be 0x25 instead of the default 0x15. NL plays the role that LF does in an ASCII/Unicode environment. */ @@ -58,9 +59,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define this if your compiler supports __attribute__((uninitialized)) */ #undef HAVE_ATTRIBUTE_UNINITIALIZED -/* Define to 1 if you have the `bcopy' function. */ -#undef HAVE_BCOPY - /* Define this if your compiler provides __assume() */ #undef HAVE_BUILTIN_ASSUME @@ -94,9 +92,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the `memfd_create' function. */ #undef HAVE_MEMFD_CREATE -/* Define to 1 if you have the `memmove' function. */ -#undef HAVE_MEMMOVE - /* Define to 1 if you have the header file. */ #undef HAVE_MINIX_CONFIG_H @@ -133,9 +128,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ #undef HAVE_STDLIB_H -/* Define to 1 if you have the `strerror' function. */ -#undef HAVE_STRERROR - /* Define to 1 if you have the header file. */ #undef HAVE_STRINGS_H @@ -266,10 +258,25 @@ sure both macros are undefined; an emulation function will then be used. */ allows for the buffering of "before" and "after" lines. */ #undef PCRE2GREP_MAX_BUFSIZE + +/* See PCRE2_EXP_DEFN; but this is applied to functions in the libpcre2-posix + library. */ +#undef PCRE2POSIX_EXP_DEFN + +/* Define to any value if linking libpcre2-posix dynamically. Ideally, if both + static and shared libraries are being built, then PCRE2POSIX_SHARED would + be defined only for the shared build. Indeed, this is a requirement on + Windows. However, when building with Autoconf and libtool, we compile the + sources once only to create both the static and shared library, so in this + case, PCRE2POSIX_SHARED should only be defined if the shared library is + being built, regardless of whether or not the static library is also being + built. */ +#undef PCRE2POSIX_SHARED + /* Define to any value to include debugging code. */ #undef PCRE2_DEBUG -/* to make a symbol visible */ +/* Define to the annotation for making a symbol visible. */ #undef PCRE2_EXPORT @@ -285,7 +292,12 @@ sure both macros are undefined; an emulation function will then be used. */ in the C sense, but which are internal to the library. */ #undef PCRE2_EXP_DEFN -/* Define to any value if linking statically (TODO: make nice with Libtool) */ +/* Define to any value if linking statically. Ideally, if both static and + shared libraries are being built, then PCRE2_STATIC would be defined only + for the static build. Indeed, this is a requirement on Windows. With + Autoconf and libtool however, it is idiomatic to compile the sources once + to create both the static and shared library, so in this case, PCRE2_STATIC + should only be defined if no shared library is being built. */ #undef PCRE2_STATIC /* Define to necessary symbol if this constant uses a non-standard name on diff --git a/libpcre/src/libpcre2-16.sym b/libpcre/src/libpcre2-16.sym new file mode 100644 index 000000000..fd5257db6 --- /dev/null +++ b/libpcre/src/libpcre2-16.sym @@ -0,0 +1,88 @@ +# First version of PCRE2 in which symbols were assigned versions. +PCRE2_10.47 { + global: + pcre2_callout_enumerate_16; + pcre2_code_copy_16; + pcre2_code_copy_with_tables_16; + pcre2_code_free_16; + pcre2_compile_16; + pcre2_compile_context_copy_16; + pcre2_compile_context_create_16; + pcre2_compile_context_free_16; + pcre2_config_16; + pcre2_convert_context_copy_16; + pcre2_convert_context_create_16; + pcre2_convert_context_free_16; + pcre2_converted_pattern_free_16; + pcre2_dfa_match_16; + pcre2_general_context_copy_16; + pcre2_general_context_create_16; + pcre2_general_context_free_16; + pcre2_get_error_message_16; + pcre2_get_mark_16; + pcre2_get_match_data_heapframes_size_16; + pcre2_get_match_data_size_16; + pcre2_get_ovector_count_16; + pcre2_get_ovector_pointer_16; + pcre2_get_startchar_16; + pcre2_jit_compile_16; + pcre2_jit_free_unused_memory_16; + pcre2_jit_match_16; + pcre2_jit_stack_assign_16; + pcre2_jit_stack_create_16; + pcre2_jit_stack_free_16; + pcre2_maketables_16; + pcre2_maketables_free_16; + pcre2_match_16; + pcre2_match_context_copy_16; + pcre2_match_context_create_16; + pcre2_match_context_free_16; + pcre2_match_data_create_16; + pcre2_match_data_create_from_pattern_16; + pcre2_match_data_free_16; + pcre2_next_match_16; + pcre2_pattern_convert_16; + pcre2_pattern_info_16; + pcre2_serialize_decode_16; + pcre2_serialize_encode_16; + pcre2_serialize_free_16; + pcre2_serialize_get_number_of_codes_16; + pcre2_set_bsr_16; + pcre2_set_callout_16; + pcre2_set_character_tables_16; + pcre2_set_compile_extra_options_16; + pcre2_set_compile_recursion_guard_16; + pcre2_set_depth_limit_16; + pcre2_set_glob_escape_16; + pcre2_set_glob_separator_16; + pcre2_set_heap_limit_16; + pcre2_set_match_limit_16; + pcre2_set_max_pattern_compiled_length_16; + pcre2_set_max_pattern_length_16; + pcre2_set_max_varlookbehind_16; + pcre2_set_newline_16; + pcre2_set_offset_limit_16; + pcre2_set_optimize_16; + pcre2_set_parens_nest_limit_16; + pcre2_set_recursion_limit_16; + pcre2_set_recursion_memory_management_16; + pcre2_set_substitute_callout_16; + pcre2_set_substitute_case_callout_16; + pcre2_substitute_16; + pcre2_substring_copy_byname_16; + pcre2_substring_copy_bynumber_16; + pcre2_substring_free_16; + pcre2_substring_get_byname_16; + pcre2_substring_get_bynumber_16; + pcre2_substring_length_byname_16; + pcre2_substring_length_bynumber_16; + pcre2_substring_list_free_16; + pcre2_substring_list_get_16; + pcre2_substring_nametable_scan_16; + pcre2_substring_number_from_name_16; + local: + _fini; + _init; +}; + +# PCRE2_10.48 {} PCRE2_10.47; diff --git a/libpcre/src/libpcre2-32.sym b/libpcre/src/libpcre2-32.sym new file mode 100644 index 000000000..d4606c2b5 --- /dev/null +++ b/libpcre/src/libpcre2-32.sym @@ -0,0 +1,88 @@ +# First version of PCRE2 in which symbols were assigned versions. +PCRE2_10.47 { + global: + pcre2_callout_enumerate_32; + pcre2_code_copy_32; + pcre2_code_copy_with_tables_32; + pcre2_code_free_32; + pcre2_compile_32; + pcre2_compile_context_copy_32; + pcre2_compile_context_create_32; + pcre2_compile_context_free_32; + pcre2_config_32; + pcre2_convert_context_copy_32; + pcre2_convert_context_create_32; + pcre2_convert_context_free_32; + pcre2_converted_pattern_free_32; + pcre2_dfa_match_32; + pcre2_general_context_copy_32; + pcre2_general_context_create_32; + pcre2_general_context_free_32; + pcre2_get_error_message_32; + pcre2_get_mark_32; + pcre2_get_match_data_heapframes_size_32; + pcre2_get_match_data_size_32; + pcre2_get_ovector_count_32; + pcre2_get_ovector_pointer_32; + pcre2_get_startchar_32; + pcre2_jit_compile_32; + pcre2_jit_free_unused_memory_32; + pcre2_jit_match_32; + pcre2_jit_stack_assign_32; + pcre2_jit_stack_create_32; + pcre2_jit_stack_free_32; + pcre2_maketables_32; + pcre2_maketables_free_32; + pcre2_match_32; + pcre2_match_context_copy_32; + pcre2_match_context_create_32; + pcre2_match_context_free_32; + pcre2_match_data_create_32; + pcre2_match_data_create_from_pattern_32; + pcre2_match_data_free_32; + pcre2_next_match_32; + pcre2_pattern_convert_32; + pcre2_pattern_info_32; + pcre2_serialize_decode_32; + pcre2_serialize_encode_32; + pcre2_serialize_free_32; + pcre2_serialize_get_number_of_codes_32; + pcre2_set_bsr_32; + pcre2_set_callout_32; + pcre2_set_character_tables_32; + pcre2_set_compile_extra_options_32; + pcre2_set_compile_recursion_guard_32; + pcre2_set_depth_limit_32; + pcre2_set_glob_escape_32; + pcre2_set_glob_separator_32; + pcre2_set_heap_limit_32; + pcre2_set_match_limit_32; + pcre2_set_max_pattern_compiled_length_32; + pcre2_set_max_pattern_length_32; + pcre2_set_max_varlookbehind_32; + pcre2_set_newline_32; + pcre2_set_offset_limit_32; + pcre2_set_optimize_32; + pcre2_set_parens_nest_limit_32; + pcre2_set_recursion_limit_32; + pcre2_set_recursion_memory_management_32; + pcre2_set_substitute_callout_32; + pcre2_set_substitute_case_callout_32; + pcre2_substitute_32; + pcre2_substring_copy_byname_32; + pcre2_substring_copy_bynumber_32; + pcre2_substring_free_32; + pcre2_substring_get_byname_32; + pcre2_substring_get_bynumber_32; + pcre2_substring_length_byname_32; + pcre2_substring_length_bynumber_32; + pcre2_substring_list_free_32; + pcre2_substring_list_get_32; + pcre2_substring_nametable_scan_32; + pcre2_substring_number_from_name_32; + local: + _fini; + _init; +}; + +# PCRE2_10.48 {} PCRE2_10.47; diff --git a/libpcre/src/libpcre2-8.sym b/libpcre/src/libpcre2-8.sym new file mode 100644 index 000000000..368b4e441 --- /dev/null +++ b/libpcre/src/libpcre2-8.sym @@ -0,0 +1,88 @@ +# First version of PCRE2 in which symbols were assigned versions. +PCRE2_10.47 { + global: + pcre2_callout_enumerate_8; + pcre2_code_copy_8; + pcre2_code_copy_with_tables_8; + pcre2_code_free_8; + pcre2_compile_8; + pcre2_compile_context_copy_8; + pcre2_compile_context_create_8; + pcre2_compile_context_free_8; + pcre2_config_8; + pcre2_convert_context_copy_8; + pcre2_convert_context_create_8; + pcre2_convert_context_free_8; + pcre2_converted_pattern_free_8; + pcre2_dfa_match_8; + pcre2_general_context_copy_8; + pcre2_general_context_create_8; + pcre2_general_context_free_8; + pcre2_get_error_message_8; + pcre2_get_mark_8; + pcre2_get_match_data_heapframes_size_8; + pcre2_get_match_data_size_8; + pcre2_get_ovector_count_8; + pcre2_get_ovector_pointer_8; + pcre2_get_startchar_8; + pcre2_jit_compile_8; + pcre2_jit_free_unused_memory_8; + pcre2_jit_match_8; + pcre2_jit_stack_assign_8; + pcre2_jit_stack_create_8; + pcre2_jit_stack_free_8; + pcre2_maketables_8; + pcre2_maketables_free_8; + pcre2_match_8; + pcre2_match_context_copy_8; + pcre2_match_context_create_8; + pcre2_match_context_free_8; + pcre2_match_data_create_8; + pcre2_match_data_create_from_pattern_8; + pcre2_match_data_free_8; + pcre2_next_match_8; + pcre2_pattern_convert_8; + pcre2_pattern_info_8; + pcre2_serialize_decode_8; + pcre2_serialize_encode_8; + pcre2_serialize_free_8; + pcre2_serialize_get_number_of_codes_8; + pcre2_set_bsr_8; + pcre2_set_callout_8; + pcre2_set_character_tables_8; + pcre2_set_compile_extra_options_8; + pcre2_set_compile_recursion_guard_8; + pcre2_set_depth_limit_8; + pcre2_set_glob_escape_8; + pcre2_set_glob_separator_8; + pcre2_set_heap_limit_8; + pcre2_set_match_limit_8; + pcre2_set_max_pattern_compiled_length_8; + pcre2_set_max_pattern_length_8; + pcre2_set_max_varlookbehind_8; + pcre2_set_newline_8; + pcre2_set_offset_limit_8; + pcre2_set_optimize_8; + pcre2_set_parens_nest_limit_8; + pcre2_set_recursion_limit_8; + pcre2_set_recursion_memory_management_8; + pcre2_set_substitute_callout_8; + pcre2_set_substitute_case_callout_8; + pcre2_substitute_8; + pcre2_substring_copy_byname_8; + pcre2_substring_copy_bynumber_8; + pcre2_substring_free_8; + pcre2_substring_get_byname_8; + pcre2_substring_get_bynumber_8; + pcre2_substring_length_byname_8; + pcre2_substring_length_bynumber_8; + pcre2_substring_list_free_8; + pcre2_substring_list_get_8; + pcre2_substring_nametable_scan_8; + pcre2_substring_number_from_name_8; + local: + _fini; + _init; +}; + +# PCRE2_10.48 {} PCRE2_10.47; diff --git a/libpcre/src/libpcre2-posix.sym b/libpcre/src/libpcre2-posix.sym new file mode 100644 index 000000000..04a56cf61 --- /dev/null +++ b/libpcre/src/libpcre2-posix.sym @@ -0,0 +1,13 @@ +# First version of PCRE2 in which symbols were assigned versions. +PCRE2_10.47 { + global: + pcre2_regcomp; + pcre2_regerror; + pcre2_regexec; + pcre2_regfree; + local: + _fini; + _init; +}; + +# PCRE2_10.48 {} PCRE2_10.47; diff --git a/libpcre/src/pcre2.h.generic b/libpcre/src/pcre2.h.generic index 061f3db0a..4034e5a91 100644 --- a/libpcre/src/pcre2.h.generic +++ b/libpcre/src/pcre2.h.generic @@ -42,25 +42,21 @@ POSSIBILITY OF SUCH DAMAGE. /* The current PCRE version information. */ #define PCRE2_MAJOR 10 -#define PCRE2_MINOR 45 +#define PCRE2_MINOR 47 #define PCRE2_PRERELEASE -#define PCRE2_DATE 2025-02-05 +#define PCRE2_DATE 2025-10-21 -/* When an application links to a PCRE DLL in Windows, the symbols that are +/* When an application links to a PCRE2 DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate -export setting is defined in pcre2_internal.h, which includes this file. So we -don't change existing definitions of PCRE2_EXP_DECL. */ +export setting is defined in pcre2_internal.h, which includes this file. So, we +don't change existing definitions of PCRE2_EXP_DECL. -#if defined(_WIN32) && !defined(PCRE2_STATIC) -# ifndef PCRE2_EXP_DECL -# define PCRE2_EXP_DECL extern __declspec(dllimport) -# endif -#endif - -/* By default, we use the standard "extern" declarations. */ +By default, we use the standard "extern" declarations. */ #ifndef PCRE2_EXP_DECL -# ifdef __cplusplus +# if defined(_WIN32) && !defined(PCRE2_STATIC) +# define PCRE2_EXP_DECL extern __declspec(dllimport) +# elif defined __cplusplus # define PCRE2_EXP_DECL extern "C" # else # define PCRE2_EXP_DECL extern @@ -68,14 +64,15 @@ don't change existing definitions of PCRE2_EXP_DECL. */ #endif /* When compiling with the MSVC compiler, it is sometimes necessary to include -a "calling convention" before exported function names. (This is secondhand -information; I know nothing about MSVC myself). For example, something like +a "calling convention" before exported function names. For example: void __cdecl function(....) -might be needed. In order so make this easy, all the exported functions have -PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not -set, we ensure here that it has no effect. */ +might be needed. In order to make this easy, all the exported functions have +PCRE2_CALL_CONVENTION just before their names. + +PCRE2 normally uses the platform's standard calling convention, so this should +not be set unless you know you need it. */ #ifndef PCRE2_CALL_CONVENTION #define PCRE2_CALL_CONVENTION @@ -343,6 +340,10 @@ pcre2_pattern_convert(). */ #define PCRE2_ERROR_PERL_ECLASS_EMPTY_EXPR 214 #define PCRE2_ERROR_PERL_ECLASS_MISSING_CLOSE 215 #define PCRE2_ERROR_PERL_ECLASS_UNEXPECTED_CHAR 216 +#define PCRE2_ERROR_EXPECTED_CAPTURE_GROUP 217 +#define PCRE2_ERROR_MISSING_OPENING_PARENTHESIS 218 +#define PCRE2_ERROR_MISSING_NUMBER_TERMINATOR 219 +#define PCRE2_ERROR_NULL_ERROROFFSET 220 /* "Expected" matching error codes: no match and partial match. */ @@ -432,6 +433,11 @@ released, the numbers must not be changed. */ #define PCRE2_ERROR_JIT_UNSUPPORTED (-68) #define PCRE2_ERROR_REPLACECASE (-69) #define PCRE2_ERROR_TOOLARGEREPLACE (-70) +#define PCRE2_ERROR_DIFFSUBSPATTERN (-71) +#define PCRE2_ERROR_DIFFSUBSSUBJECT (-72) +#define PCRE2_ERROR_DIFFSUBSOFFSET (-73) +#define PCRE2_ERROR_DIFFSUBSOPTIONS (-74) +#define PCRE2_ERROR_BAD_BACKSLASH_K (-75) /* Request types for pcre2_pattern_info() */ @@ -484,6 +490,7 @@ released, the numbers must not be changed. */ #define PCRE2_CONFIG_NEVER_BACKSLASH_C 13 #define PCRE2_CONFIG_COMPILED_WIDTHS 14 #define PCRE2_CONFIG_TABLES_LENGTH 15 +#define PCRE2_CONFIG_EFFECTIVE_LINKSIZE 16 /* Optimization directives for pcre2_set_optimize(). For binary compatibility, only add to this list; do not renumber. */ @@ -743,14 +750,14 @@ PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ pcre2_match_data_create_from_pattern(const pcre2_code *, \ pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_match_data_free(pcre2_match_data *); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_dfa_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ uint32_t, pcre2_match_data *, pcre2_match_context *, int *, PCRE2_SIZE); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ uint32_t, pcre2_match_data *, pcre2_match_context *); \ -PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ - pcre2_match_data_free(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SPTR PCRE2_CALL_CONVENTION \ pcre2_get_mark(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ @@ -762,7 +769,9 @@ PCRE2_EXP_DECL uint32_t PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL PCRE2_SIZE *PCRE2_CALL_CONVENTION \ pcre2_get_ovector_pointer(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ - pcre2_get_startchar(pcre2_match_data *); + pcre2_get_startchar(pcre2_match_data *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_next_match(pcre2_match_data *, PCRE2_SIZE *, uint32_t *); /* Convenience functions for handling matched substrings. */ @@ -942,6 +951,7 @@ pcre2_compile are called by application code. */ #define pcre2_match_data_create PCRE2_SUFFIX(pcre2_match_data_create_) #define pcre2_match_data_create_from_pattern PCRE2_SUFFIX(pcre2_match_data_create_from_pattern_) #define pcre2_match_data_free PCRE2_SUFFIX(pcre2_match_data_free_) +#define pcre2_next_match PCRE2_SUFFIX(pcre2_next_match_) #define pcre2_pattern_convert PCRE2_SUFFIX(pcre2_pattern_convert_) #define pcre2_pattern_info PCRE2_SUFFIX(pcre2_pattern_info_) #define pcre2_serialize_decode PCRE2_SUFFIX(pcre2_serialize_decode_) diff --git a/libpcre/src/pcre2.h.in b/libpcre/src/pcre2.h.in index ca3f0b413..0dffe65fb 100644 --- a/libpcre/src/pcre2.h.in +++ b/libpcre/src/pcre2.h.in @@ -46,21 +46,17 @@ POSSIBILITY OF SUCH DAMAGE. #define PCRE2_PRERELEASE @PCRE2_PRERELEASE@ #define PCRE2_DATE @PCRE2_DATE@ -/* When an application links to a PCRE DLL in Windows, the symbols that are +/* When an application links to a PCRE2 DLL in Windows, the symbols that are imported have to be identified as such. When building PCRE2, the appropriate -export setting is defined in pcre2_internal.h, which includes this file. So we -don't change existing definitions of PCRE2_EXP_DECL. */ +export setting is defined in pcre2_internal.h, which includes this file. So, we +don't change existing definitions of PCRE2_EXP_DECL. -#if defined(_WIN32) && !defined(PCRE2_STATIC) -# ifndef PCRE2_EXP_DECL -# define PCRE2_EXP_DECL extern __declspec(dllimport) -# endif -#endif - -/* By default, we use the standard "extern" declarations. */ +By default, we use the standard "extern" declarations. */ #ifndef PCRE2_EXP_DECL -# ifdef __cplusplus +# if defined(_WIN32) && !defined(PCRE2_STATIC) +# define PCRE2_EXP_DECL extern __declspec(dllimport) +# elif defined __cplusplus # define PCRE2_EXP_DECL extern "C" # else # define PCRE2_EXP_DECL extern @@ -68,14 +64,15 @@ don't change existing definitions of PCRE2_EXP_DECL. */ #endif /* When compiling with the MSVC compiler, it is sometimes necessary to include -a "calling convention" before exported function names. (This is secondhand -information; I know nothing about MSVC myself). For example, something like +a "calling convention" before exported function names. For example: void __cdecl function(....) -might be needed. In order so make this easy, all the exported functions have -PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not -set, we ensure here that it has no effect. */ +might be needed. In order to make this easy, all the exported functions have +PCRE2_CALL_CONVENTION just before their names. + +PCRE2 normally uses the platform's standard calling convention, so this should +not be set unless you know you need it. */ #ifndef PCRE2_CALL_CONVENTION #define PCRE2_CALL_CONVENTION @@ -343,6 +340,10 @@ pcre2_pattern_convert(). */ #define PCRE2_ERROR_PERL_ECLASS_EMPTY_EXPR 214 #define PCRE2_ERROR_PERL_ECLASS_MISSING_CLOSE 215 #define PCRE2_ERROR_PERL_ECLASS_UNEXPECTED_CHAR 216 +#define PCRE2_ERROR_EXPECTED_CAPTURE_GROUP 217 +#define PCRE2_ERROR_MISSING_OPENING_PARENTHESIS 218 +#define PCRE2_ERROR_MISSING_NUMBER_TERMINATOR 219 +#define PCRE2_ERROR_NULL_ERROROFFSET 220 /* "Expected" matching error codes: no match and partial match. */ @@ -432,6 +433,11 @@ released, the numbers must not be changed. */ #define PCRE2_ERROR_JIT_UNSUPPORTED (-68) #define PCRE2_ERROR_REPLACECASE (-69) #define PCRE2_ERROR_TOOLARGEREPLACE (-70) +#define PCRE2_ERROR_DIFFSUBSPATTERN (-71) +#define PCRE2_ERROR_DIFFSUBSSUBJECT (-72) +#define PCRE2_ERROR_DIFFSUBSOFFSET (-73) +#define PCRE2_ERROR_DIFFSUBSOPTIONS (-74) +#define PCRE2_ERROR_BAD_BACKSLASH_K (-75) /* Request types for pcre2_pattern_info() */ @@ -484,6 +490,7 @@ released, the numbers must not be changed. */ #define PCRE2_CONFIG_NEVER_BACKSLASH_C 13 #define PCRE2_CONFIG_COMPILED_WIDTHS 14 #define PCRE2_CONFIG_TABLES_LENGTH 15 +#define PCRE2_CONFIG_EFFECTIVE_LINKSIZE 16 /* Optimization directives for pcre2_set_optimize(). For binary compatibility, only add to this list; do not renumber. */ @@ -743,14 +750,14 @@ PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL pcre2_match_data *PCRE2_CALL_CONVENTION \ pcre2_match_data_create_from_pattern(const pcre2_code *, \ pcre2_general_context *); \ +PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ + pcre2_match_data_free(pcre2_match_data *); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_dfa_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ uint32_t, pcre2_match_data *, pcre2_match_context *, int *, PCRE2_SIZE); \ PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ pcre2_match(const pcre2_code *, PCRE2_SPTR, PCRE2_SIZE, PCRE2_SIZE, \ uint32_t, pcre2_match_data *, pcre2_match_context *); \ -PCRE2_EXP_DECL void PCRE2_CALL_CONVENTION \ - pcre2_match_data_free(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SPTR PCRE2_CALL_CONVENTION \ pcre2_get_mark(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ @@ -762,7 +769,9 @@ PCRE2_EXP_DECL uint32_t PCRE2_CALL_CONVENTION \ PCRE2_EXP_DECL PCRE2_SIZE *PCRE2_CALL_CONVENTION \ pcre2_get_ovector_pointer(pcre2_match_data *); \ PCRE2_EXP_DECL PCRE2_SIZE PCRE2_CALL_CONVENTION \ - pcre2_get_startchar(pcre2_match_data *); + pcre2_get_startchar(pcre2_match_data *); \ +PCRE2_EXP_DECL int PCRE2_CALL_CONVENTION \ + pcre2_next_match(pcre2_match_data *, PCRE2_SIZE *, uint32_t *); /* Convenience functions for handling matched substrings. */ @@ -942,6 +951,7 @@ pcre2_compile are called by application code. */ #define pcre2_match_data_create PCRE2_SUFFIX(pcre2_match_data_create_) #define pcre2_match_data_create_from_pattern PCRE2_SUFFIX(pcre2_match_data_create_from_pattern_) #define pcre2_match_data_free PCRE2_SUFFIX(pcre2_match_data_free_) +#define pcre2_next_match PCRE2_SUFFIX(pcre2_next_match_) #define pcre2_pattern_convert PCRE2_SUFFIX(pcre2_pattern_convert_) #define pcre2_pattern_info PCRE2_SUFFIX(pcre2_pattern_info_) #define pcre2_serialize_decode PCRE2_SUFFIX(pcre2_serialize_decode_) diff --git a/libpcre/src/pcre2_auto_possess.c b/libpcre/src/pcre2_auto_possess.c index 6d7f27b69..408803246 100644 --- a/libpcre/src/pcre2_auto_possess.c +++ b/libpcre/src/pcre2_auto_possess.c @@ -38,17 +38,15 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains functions that scan a compiled pattern and change repeats into possessive repeats where possible. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - - #include "pcre2_internal.h" + + /* This macro represents the max size of list[] and that is used to keep track of UCD info in several places, it should be kept on sync with the value used by GenerateUcd.py */ @@ -264,8 +262,10 @@ switch(ptype) if (c < *p) return !negated; if (c == *p++) return negated; } + /* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ break; + /* LCOV_EXCL_STOP */ /* Haven't yet thought these through. */ @@ -806,21 +806,21 @@ for(;;) case OP_NOT_DIGIT: invert_bits = TRUE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_DIGIT: set2 = (const uint8_t *)(cb->cbits + cbit_digit); break; case OP_NOT_WHITESPACE: invert_bits = TRUE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_WHITESPACE: set2 = (const uint8_t *)(cb->cbits + cbit_space); break; case OP_NOT_WORDCHAR: invert_bits = TRUE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_WORDCHAR: set2 = (const uint8_t *)(cb->cbits + cbit_word); break; @@ -1103,7 +1103,7 @@ for(;;) case OP_NCLASS: if (chr > 255) return FALSE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CLASS: if (chr > 255) break; @@ -1141,8 +1141,10 @@ for(;;) if (list[1] == 0) return TRUE; } +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ return FALSE; /* Avoid compiler warnings */ +/* LCOV_EXCL_STOP */ } @@ -1181,11 +1183,13 @@ for (;;) { c = *code; + /* LCOV_EXCL_START */ if (c >= OP_TABLE_LENGTH) { PCRE2_DEBUG_UNREACHABLE(); return -1; /* Something gone wrong */ } + /* LCOV_EXCL_STOP */ if (c >= OP_STAR && c <= OP_TYPEPOSUPTO) { diff --git a/libpcre/src/pcre2_chartables.c.dist b/libpcre/src/pcre2_chartables.c.dist index 7362c3f23..29f920001 100644 --- a/libpcre/src/pcre2_chartables.c.dist +++ b/libpcre/src/pcre2_chartables.c.dist @@ -19,10 +19,6 @@ PCRE2 is configured with --enable-rebuild-chartables. However, you can run pcre2_dftables manually with the -L option to build tables using the LC_ALL locale. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" const uint8_t PRIV(default_tables)[] = { diff --git a/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl15 b/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl15 new file mode 100644 index 000000000..071a8f425 --- /dev/null +++ b/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl15 @@ -0,0 +1,196 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* This file was automatically written by the pcre2_dftables auxiliary +program. It contains character tables that are used when no external +tables are passed to PCRE2 by the application that calls it. The tables +are used only for characters whose code values are less than 256, and +only relevant if not in UCP mode. */ + +/* This set of tables was written in the EBCDIC 1047 (NL 0x15) locale. */ + +/* The pcre2_ftables program (which is distributed with PCRE2) can be used +to build alternative versions of this file. This is necessary if you are +running in an EBCDIC environment, or if you want to default to a different +encoding, for example ISO-8859-1. When pcre2_dftables is run, it creates +these tables in the "C" locale by default. This happens automatically if +PCRE2 is configured with --enable-rebuild-chartables. However, you can run +pcre2_dftables manually with the -L option to build tables using the LC_ALL +locale. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "pcre2_internal.h" + +const uint8_t PRIV(default_tables)[] = { + +/* This table is a lower casing table. */ + + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99,100,101,102,103, + 104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119, + 120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135, + 136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151, + 152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167, + 168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183, + 184,185,186,187,188,189,190,191, + 192,129,130,131,132,133,134,135, + 136,137,202,203,204,205,206,207, + 208,145,146,147,148,149,150,151, + 152,153,218,219,220,221,222,223, + 224,225,162,163,164,165,166,167, + 168,169,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247, + 248,249,250,251,252,253,254,255, + +/* This table is a case flipping table. */ + + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99,100,101,102,103, + 104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119, + 120,121,122,123,124,125,126,127, + 128,193,194,195,196,197,198,199, + 200,201,138,139,140,141,142,143, + 144,209,210,211,212,213,214,215, + 216,217,154,155,156,157,158,159, + 160,161,226,227,228,229,230,231, + 232,233,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183, + 184,185,186,187,188,189,190,191, + 192,129,130,131,132,133,134,135, + 136,137,202,203,204,205,206,207, + 208,145,146,147,148,149,150,151, + 152,153,218,219,220,221,222,223, + 224,225,162,163,164,165,166,167, + 168,169,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247, + 248,249,250,251,252,253,254,255, + +/* This table contains bit maps for various character classes. Each map is 32 +bytes long and the bits run from the least significant end of each byte. The +classes that have their own maps are: space, xdigit, digit, upper, lower, word, +graph, print, punct, and cntrl. Other classes are built from combinations. */ + + 0x20,0x38,0x20,0x00,0x00,0x00,0x00,0x00, /* space */ + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* xdigit */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7e,0x00,0x00,0x00,0x00,0x00,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* digit */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* upper */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* lower */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* word */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* graph */ + 0x00,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0xfe,0x03,0xfe,0x03,0xfe,0x23,0x00,0x20, + 0xff,0x03,0xff,0x03,0xfd,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* print */ + 0x01,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0xfe,0x03,0xfe,0x03,0xfe,0x23,0x00,0x20, + 0xff,0x03,0xff,0x03,0xfd,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* punct */ + 0x00,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0x00,0x00,0x00,0x00,0x02,0x20,0x00,0x20, + 0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00, + + 0xaf,0xf8,0x6f,0xf3,0xc0,0xe0,0x84,0xb0, /* cntrl */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +/* This table identifies various classes of character by individual bits: + 0x01 white space character + 0x02 letter + 0x04 lower case letter + 0x08 decimal digit + 0x10 word (alphanumeric or '_') +*/ + + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 0- 7 */ + 0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00, /* 8- 15 */ + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 16- 23 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* - ' */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ( - / */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0 - 7 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 8 - ? */ + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* @ - G */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* H - O */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* P - W */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* X - _ */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ` - g */ + 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00, /* h - o */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* p - w */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* x -127 */ + 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* 128-135 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */ + 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* 144-151 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */ + 0x00,0x00,0x16,0x16,0x16,0x16,0x16,0x16, /* 160-167 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ + 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 192-199 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */ + 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 208-215 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */ + 0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* 224-231 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */ + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 240-247 */ + 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */ + +/* End of pcre2_chartables.c */ diff --git a/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl25 b/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl25 new file mode 100644 index 000000000..99ba81b20 --- /dev/null +++ b/libpcre/src/pcre2_chartables.c.ebcdic-1047-nl25 @@ -0,0 +1,196 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* This file was automatically written by the pcre2_dftables auxiliary +program. It contains character tables that are used when no external +tables are passed to PCRE2 by the application that calls it. The tables +are used only for characters whose code values are less than 256, and +only relevant if not in UCP mode. */ + +/* This set of tables was written in the EBCDIC 1047 (NL 0x25) locale. */ + +/* The pcre2_ftables program (which is distributed with PCRE2) can be used +to build alternative versions of this file. This is necessary if you are +running in an EBCDIC environment, or if you want to default to a different +encoding, for example ISO-8859-1. When pcre2_dftables is run, it creates +these tables in the "C" locale by default. This happens automatically if +PCRE2 is configured with --enable-rebuild-chartables. However, you can run +pcre2_dftables manually with the -L option to build tables using the LC_ALL +locale. */ + +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + +#include "pcre2_internal.h" + +const uint8_t PRIV(default_tables)[] = { + +/* This table is a lower casing table. */ + + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99,100,101,102,103, + 104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119, + 120,121,122,123,124,125,126,127, + 128,129,130,131,132,133,134,135, + 136,137,138,139,140,141,142,143, + 144,145,146,147,148,149,150,151, + 152,153,154,155,156,157,158,159, + 160,161,162,163,164,165,166,167, + 168,169,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183, + 184,185,186,187,188,189,190,191, + 192,129,130,131,132,133,134,135, + 136,137,202,203,204,205,206,207, + 208,145,146,147,148,149,150,151, + 152,153,218,219,220,221,222,223, + 224,225,162,163,164,165,166,167, + 168,169,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247, + 248,249,250,251,252,253,254,255, + +/* This table is a case flipping table. */ + + 0, 1, 2, 3, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 18, 19, 20, 21, 22, 23, + 24, 25, 26, 27, 28, 29, 30, 31, + 32, 33, 34, 35, 36, 37, 38, 39, + 40, 41, 42, 43, 44, 45, 46, 47, + 48, 49, 50, 51, 52, 53, 54, 55, + 56, 57, 58, 59, 60, 61, 62, 63, + 64, 65, 66, 67, 68, 69, 70, 71, + 72, 73, 74, 75, 76, 77, 78, 79, + 80, 81, 82, 83, 84, 85, 86, 87, + 88, 89, 90, 91, 92, 93, 94, 95, + 96, 97, 98, 99,100,101,102,103, + 104,105,106,107,108,109,110,111, + 112,113,114,115,116,117,118,119, + 120,121,122,123,124,125,126,127, + 128,193,194,195,196,197,198,199, + 200,201,138,139,140,141,142,143, + 144,209,210,211,212,213,214,215, + 216,217,154,155,156,157,158,159, + 160,161,226,227,228,229,230,231, + 232,233,170,171,172,173,174,175, + 176,177,178,179,180,181,182,183, + 184,185,186,187,188,189,190,191, + 192,129,130,131,132,133,134,135, + 136,137,202,203,204,205,206,207, + 208,145,146,147,148,149,150,151, + 152,153,218,219,220,221,222,223, + 224,225,162,163,164,165,166,167, + 168,169,234,235,236,237,238,239, + 240,241,242,243,244,245,246,247, + 248,249,250,251,252,253,254,255, + +/* This table contains bit maps for various character classes. Each map is 32 +bytes long and the bits run from the least significant end of each byte. The +classes that have their own maps are: space, xdigit, digit, upper, lower, word, +graph, print, punct, and cntrl. Other classes are built from combinations. */ + + 0x20,0x38,0x00,0x00,0x20,0x00,0x00,0x00, /* space */ + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* xdigit */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7e,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x7e,0x00,0x00,0x00,0x00,0x00,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* digit */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* upper */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* lower */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* word */ + 0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0x00,0x00, + 0xfe,0x03,0xfe,0x03,0xfc,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* graph */ + 0x00,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0xfe,0x03,0xfe,0x03,0xfe,0x23,0x00,0x20, + 0xff,0x03,0xff,0x03,0xfd,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* print */ + 0x01,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0xfe,0x03,0xfe,0x03,0xfe,0x23,0x00,0x20, + 0xff,0x03,0xff,0x03,0xfd,0x03,0xff,0x03, + + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* punct */ + 0x00,0xf8,0x01,0xfc,0x03,0xf8,0x00,0xfe, + 0x00,0x00,0x00,0x00,0x02,0x20,0x00,0x20, + 0x01,0x00,0x01,0x00,0x01,0x00,0x00,0x00, + + 0xaf,0xf8,0x4f,0xf3,0xe0,0xe0,0x84,0xb0, /* cntrl */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, + +/* This table identifies various classes of character by individual bits: + 0x01 white space character + 0x02 letter + 0x04 lower case letter + 0x08 decimal digit + 0x10 word (alphanumeric or '_') +*/ + + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* 0- 7 */ + 0x00,0x00,0x00,0x01,0x01,0x01,0x00,0x00, /* 8- 15 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 16- 23 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 24- 31 */ + 0x00,0x00,0x00,0x00,0x00,0x01,0x00,0x00, /* - ' */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ( - / */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 0 - 7 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 8 - ? */ + 0x01,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* @ - G */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* H - O */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* P - W */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* X - _ */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* ` - g */ + 0x00,0x00,0x00,0x00,0x00,0x10,0x00,0x00, /* h - o */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* p - w */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* x -127 */ + 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* 128-135 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 136-143 */ + 0x00,0x16,0x16,0x16,0x16,0x16,0x16,0x16, /* 144-151 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 152-159 */ + 0x00,0x00,0x16,0x16,0x16,0x16,0x16,0x16, /* 160-167 */ + 0x16,0x16,0x00,0x00,0x00,0x00,0x00,0x00, /* 168-175 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 176-183 */ + 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, /* 184-191 */ + 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 192-199 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 200-207 */ + 0x00,0x12,0x12,0x12,0x12,0x12,0x12,0x12, /* 208-215 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 216-223 */ + 0x00,0x00,0x12,0x12,0x12,0x12,0x12,0x12, /* 224-231 */ + 0x12,0x12,0x00,0x00,0x00,0x00,0x00,0x00, /* 232-239 */ + 0x18,0x18,0x18,0x18,0x18,0x18,0x18,0x18, /* 240-247 */ + 0x18,0x18,0x00,0x00,0x00,0x00,0x00,0x00};/* 248-255 */ + +/* End of pcre2_chartables.c */ diff --git a/libpcre/src/pcre2_chkdint.c b/libpcre/src/pcre2_chkdint.c index 708302369..7aeb64057 100644 --- a/libpcre/src/pcre2_chkdint.c +++ b/libpcre/src/pcre2_chkdint.c @@ -37,16 +37,16 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This file contains functions to implement checked integer operation */ -#ifndef PCRE2_PCRE2TEST -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#ifndef PCRE2_PCRE2TEST #include "pcre2_internal.h" #endif + + /************************************************* * Checked Integer Multiplication * *************************************************/ diff --git a/libpcre/src/pcre2_compile.c b/libpcre/src/pcre2_compile.c index 0ffac8939..f126e41b7 100644 --- a/libpcre/src/pcre2_compile.c +++ b/libpcre/src/pcre2_compile.c @@ -39,16 +39,14 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include "pcre2_compile.h" + + #define NLBLOCK cb /* Block containing newline information */ #define PSSTART start_pattern /* Field containing processed string start */ #define PSEND end_pattern /* Field containing processed string end */ -#include "pcre2_compile.h" - /* In rare error cases debugging might require calling pcre2_printint(). */ #if 0 @@ -57,7 +55,15 @@ POSSIBILITY OF SUCH DAMAGE. #else #define PRINTABLE(c) ((c) >= 32 && (c) < 127) #endif -#include "pcre2_printint.c" +#define CHAR_OUTPUT(c) (c) +#define CHAR_OUTPUT_HEX(c) (c) +#define CHAR_INPUT(c) (c) +#define CHAR_INPUT_HEX(c) (c) +#include "pcre2_printint_inc.h" +#undef PRINTABLE +#undef CHAR_OUTPUT +#undef CHAR_OUTPUT_HEX +#undef CHAR_INPUT #define DEBUG_CALL_PRINTINT #endif @@ -84,30 +90,6 @@ by defining macros in order to minimize #if usage. */ #endif #endif -/* Macros to store and retrieve a PCRE2_SIZE value in the parsed pattern, which -consists of uint32_t elements. Assume that if uint32_t can't hold it, two of -them will be able to (i.e. assume a 64-bit world). */ - -#if PCRE2_SIZE_MAX <= UINT32_MAX -#define PUTOFFSET(s,p) *p++ = s -#define GETOFFSET(s,p) s = *p++ -#define GETPLUSOFFSET(s,p) s = *(++p) -#define READPLUSOFFSET(s,p) s = p[1] -#define SKIPOFFSET(p) p++ -#define SIZEOFFSET 1 -#else -#define PUTOFFSET(s,p) \ - { *p++ = (uint32_t)(s >> 32); *p++ = (uint32_t)(s & 0xffffffff); } -#define GETOFFSET(s,p) \ - { s = ((PCRE2_SIZE)p[0] << 32) | (PCRE2_SIZE)p[1]; p += 2; } -#define GETPLUSOFFSET(s,p) \ - { s = ((PCRE2_SIZE)p[1] << 32) | (PCRE2_SIZE)p[2]; p += 2; } -#define READPLUSOFFSET(s,p) \ - { s = ((PCRE2_SIZE)p[1] << 32) | (PCRE2_SIZE)p[2]; } -#define SKIPOFFSET(p) p += 2 -#define SIZEOFFSET 2 -#endif - /* Function definitions to allow mutual recursion */ static int @@ -216,8 +198,8 @@ static unsigned char meta_extra_lengths[] = { 3, /* META_COND_VERSION */ SIZEOFFSET, /* META_OFFSET */ 0, /* META_SCS */ - 1, /* META_SCS_NAME */ - 1, /* META_SCS_NUMBER */ + 1, /* META_CAPTURE_NAME */ + 1, /* META_CAPTURE_NUMBER */ 0, /* META_DOLLAR */ 0, /* META_DOT */ 0, /* META_ESCAPE - one more for ESC_P and ESC_p */ @@ -400,10 +382,10 @@ static const short int escapes[] = { /* 4 */ 0, /* 5 */ 0, /* 6 */ 0, /* 7 */ 0, /* 8 */ 0, /* 9 */ 0, - /* : */ CHAR_COLON, /* ; */ CHAR_SEMICOLON, - /* < */ CHAR_LESS_THAN_SIGN, /* = */ CHAR_EQUALS_SIGN, - /* > */ CHAR_GREATER_THAN_SIGN, /* ? */ CHAR_QUESTION_MARK, - /* @ */ CHAR_COMMERCIAL_AT, /* A */ -ESC_A, + /* : */ ESCAPES_FIRST+0x0a, /* ; */ ESCAPES_FIRST+0x0b, + /* < */ ESCAPES_FIRST+0x0c, /* = */ ESCAPES_FIRST+0x0d, + /* > */ ESCAPES_FIRST+0x0e, /* ? */ ESCAPES_FIRST+0x0f, + /* @ */ ESCAPES_FIRST+0x10, /* A */ -ESC_A, /* B */ -ESC_B, /* C */ -ESC_C, /* D */ -ESC_D, /* E */ -ESC_E, /* F */ 0, /* G */ -ESC_G, @@ -416,10 +398,10 @@ static const short int escapes[] = { /* T */ 0, /* U */ 0, /* V */ -ESC_V, /* W */ -ESC_W, /* X */ -ESC_X, /* Y */ 0, - /* Z */ -ESC_Z, /* [ */ CHAR_LEFT_SQUARE_BRACKET, - /* \ */ CHAR_BACKSLASH, /* ] */ CHAR_RIGHT_SQUARE_BRACKET, - /* ^ */ CHAR_CIRCUMFLEX_ACCENT, /* _ */ CHAR_UNDERSCORE, - /* ` */ CHAR_GRAVE_ACCENT, /* a */ CHAR_BEL, + /* Z */ -ESC_Z, /* [ */ ESCAPES_FIRST+0x2b, + /* \ */ ESCAPES_FIRST+0x2c, /* ] */ ESCAPES_FIRST+0x2d, + /* ^ */ ESCAPES_FIRST+0x2e, /* _ */ ESCAPES_FIRST+0x2f, + /* ` */ ESCAPES_FIRST+0x30, /* a */ CHAR_BEL, /* b */ -ESC_b, /* c */ 0, /* d */ -ESC_d, /* e */ CHAR_ESC, /* f */ CHAR_FF, /* g */ 0, @@ -438,43 +420,94 @@ static const short int escapes[] = { #else /* This is the "abnormal" table for EBCDIC systems without UTF-8 support. -It runs from 'a' to '9'. For some minimal testing of EBCDIC features, the code -is sometimes compiled on an ASCII system. In this case, we must not use CHAR_a -because it is defined as 'a', which of course picks up the ASCII value. */ +It runs from 'a' to '9'. Our EBCDIC support can be provided via the compiler, +which can interpret character literals like 'a' or '[' in an EBCDIC codepage; +in this case, there is wide variance between codepages on the interpretation of +characters between the letters ('[' and '{' and so on are placed in all sorts of +different positions in the table). Thankfully however, all EBCDIC codepages +place the letters and digits in the same location, so we hardcode that here. +Our EBCDIC support can also be provided via numeric literals instead of +character literals, so either way, 'CHAR_a' will be 0x81 when PCRE2 is compiled +in EBCDIC mode. */ -#if 'a' == 0x81 /* Check for a real EBCDIC environment */ #define ESCAPES_FIRST CHAR_a #define ESCAPES_LAST CHAR_9 #define UPPER_CASE(c) (c+64) -#else /* Testing in an ASCII environment */ -#define ESCAPES_FIRST ((unsigned char)'\x81') /* EBCDIC 'a' */ -#define ESCAPES_LAST ((unsigned char)'\xf9') /* EBCDIC '9' */ -#define UPPER_CASE(c) (c-32) -#endif static const short int escapes[] = { -/* 80 */ CHAR_BEL, -ESC_b, 0, -ESC_d, CHAR_ESC, CHAR_FF, 0, -/* 88 */ -ESC_h, 0, 0, '{', 0, 0, 0, 0, -/* 90 */ 0, 0, -ESC_k, 0, 0, CHAR_LF, 0, -ESC_p, -/* 98 */ 0, CHAR_CR, 0, '}', 0, 0, 0, 0, -/* A0 */ 0, '~', -ESC_s, CHAR_HT, 0, -ESC_v, -ESC_w, 0, -/* A8 */ 0, -ESC_z, 0, 0, 0, '[', 0, 0, -/* B0 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* B8 */ 0, 0, 0, 0, 0, ']', '=', '-', -/* C0 */ '{', -ESC_A, -ESC_B, -ESC_C, -ESC_D, -ESC_E, 0, -ESC_G, -/* C8 */ -ESC_H, 0, 0, 0, 0, 0, 0, 0, -/* D0 */ '}', 0, -ESC_K, 0, 0, -ESC_N, 0, -ESC_P, -/* D8 */ -ESC_Q, -ESC_R, 0, 0, 0, 0, 0, 0, -/* E0 */ '\\', 0, -ESC_S, 0, 0, -ESC_V, -ESC_W, -ESC_X, -/* E8 */ 0, -ESC_Z, 0, 0, 0, 0, 0, 0, -/* F0 */ 0, 0, 0, 0, 0, 0, 0, 0, -/* F8 */ 0, 0 + /* 0x81 a */ CHAR_BEL, /* 0x82 b */ -ESC_b, + /* 0x83 c */ 0, /* 0x84 d */ -ESC_d, + /* 0x85 e */ CHAR_ESC, /* 0x86 f */ CHAR_FF, + /* 0x87 g */ 0, /* 0x88 h */ -ESC_h, + /* 0x89 i */ 0, /* 0x8a */ ESCAPES_FIRST+0x09, + /* 0x8b */ ESCAPES_FIRST+0x0a, /* 0x8c */ ESCAPES_FIRST+0x0b, + /* 0x8d */ ESCAPES_FIRST+0x0c, /* 0x8e */ ESCAPES_FIRST+0x0d, + /* 0x8f */ ESCAPES_FIRST+0x0e, /* 0x90 */ ESCAPES_FIRST+0x0f, + /* 0x91 j */ 0, /* 0x92 k */ -ESC_k, + /* 0x93 l */ 0, /* 0x94 m */ 0, + /* 0x95 n */ CHAR_LF, /* 0x96 o */ 0, + /* 0x97 p */ -ESC_p, /* 0x98 q */ 0, + /* 0x99 r */ CHAR_CR, /* 0x9a */ ESCAPES_FIRST+0x19, + /* 0x9b */ ESCAPES_FIRST+0x1a, /* 0x9c */ ESCAPES_FIRST+0x1b, + /* 0x9d */ ESCAPES_FIRST+0x1c, /* 0x9e */ ESCAPES_FIRST+0x1d, + /* 0x9f */ ESCAPES_FIRST+0x1e, /* 0xa0 */ ESCAPES_FIRST+0x1f, + /* 0xa1 */ ESCAPES_FIRST+0x20, /* 0xa2 s */ -ESC_s, + /* 0xa3 t */ CHAR_HT, /* 0xa4 u */ 0, + /* 0xa5 v */ -ESC_v, /* 0xa6 w */ -ESC_w, + /* 0xa7 x */ 0, /* 0xa8 y */ 0, + /* 0xa9 z */ -ESC_z, /* 0xaa */ ESCAPES_FIRST+0x29, + /* 0xab */ ESCAPES_FIRST+0x2a, /* 0xac */ ESCAPES_FIRST+0x2b, + /* 0xad */ ESCAPES_FIRST+0x2c, /* 0xae */ ESCAPES_FIRST+0x2d, + /* 0xaf */ ESCAPES_FIRST+0x2e, /* 0xb0 */ ESCAPES_FIRST+0x2f, + /* 0xb1 */ ESCAPES_FIRST+0x30, /* 0xb2 */ ESCAPES_FIRST+0x31, + /* 0xb3 */ ESCAPES_FIRST+0x32, /* 0xb4 */ ESCAPES_FIRST+0x33, + /* 0xb5 */ ESCAPES_FIRST+0x34, /* 0xb6 */ ESCAPES_FIRST+0x35, + /* 0xb7 */ ESCAPES_FIRST+0x36, /* 0xb8 */ ESCAPES_FIRST+0x37, + /* 0xb9 */ ESCAPES_FIRST+0x38, /* 0xba */ ESCAPES_FIRST+0x39, + /* 0xbb */ ESCAPES_FIRST+0x3a, /* 0xbc */ ESCAPES_FIRST+0x3b, + /* 0xbd */ ESCAPES_FIRST+0x3c, /* 0xbe */ ESCAPES_FIRST+0x3d, + /* 0xbf */ ESCAPES_FIRST+0x3e, /* 0xc0 */ ESCAPES_FIRST+0x3f, + /* 0xc1 A */ -ESC_A, /* 0xc2 B */ -ESC_B, + /* 0xc3 C */ -ESC_C, /* 0xc4 D */ -ESC_D, + /* 0xc5 E */ -ESC_E, /* 0xc6 F */ 0, + /* 0xc7 G */ -ESC_G, /* 0xc8 H */ -ESC_H, + /* 0xc9 I */ 0, /* 0xca */ ESCAPES_FIRST+0x49, + /* 0xcb */ ESCAPES_FIRST+0x4a, /* 0xcc */ ESCAPES_FIRST+0x4b, + /* 0xcd */ ESCAPES_FIRST+0x4c, /* 0xce */ ESCAPES_FIRST+0x4d, + /* 0xcf */ ESCAPES_FIRST+0x4e, /* 0xd0 */ ESCAPES_FIRST+0x4f, + /* 0xd1 J */ 0, /* 0xd2 K */ -ESC_K, + /* 0xd3 L */ 0, /* 0xd4 M */ 0, + /* 0xd5 N */ -ESC_N, /* 0xd6 O */ 0, + /* 0xd7 P */ -ESC_P, /* 0xd8 Q */ -ESC_Q, + /* 0xd9 R */ -ESC_R, /* 0xda */ ESCAPES_FIRST+0x59, + /* 0xdb */ ESCAPES_FIRST+0x5a, /* 0xdc */ ESCAPES_FIRST+0x5b, + /* 0xdd */ ESCAPES_FIRST+0x5c, /* 0xde */ ESCAPES_FIRST+0x5d, + /* 0xdf */ ESCAPES_FIRST+0x5e, /* 0xe0 */ ESCAPES_FIRST+0x5f, + /* 0xe1 */ ESCAPES_FIRST+0x60, /* 0xe2 S */ -ESC_S, + /* 0xe3 T */ 0, /* 0xe4 U */ 0, + /* 0xe5 V */ -ESC_V, /* 0xe6 W */ -ESC_W, + /* 0xe7 X */ -ESC_X, /* 0xe8 Y */ 0, + /* 0xe9 Z */ -ESC_Z, /* 0xea */ ESCAPES_FIRST+0x69, + /* 0xeb */ ESCAPES_FIRST+0x6a, /* 0xec */ ESCAPES_FIRST+0x6b, + /* 0xed */ ESCAPES_FIRST+0x6c, /* 0xee */ ESCAPES_FIRST+0x6d, + /* 0xef */ ESCAPES_FIRST+0x6e, /* 0xf0 0 */ 0, + /* 0xf1 1 */ 0, /* 0xf2 2 */ 0, + /* 0xf3 3 */ 0, /* 0xf4 4 */ 0, + /* 0xf5 5 */ 0, /* 0xf6 6 */ 0, + /* 0xf7 7 */ 0, /* 0xf8 8 */ 0, + /* 0xf9 9 */ 0, }; /* We also need a table of characters that may follow \c in an EBCDIC environment for characters 0-31. */ -static unsigned char ebcdic_escape_c[] = "@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"; +static unsigned char ebcdic_escape_c[] = { + CHAR_COMMERCIAL_AT, CHAR_A, CHAR_B, CHAR_C, CHAR_D, CHAR_E, CHAR_F, CHAR_G, + CHAR_H, CHAR_I, CHAR_J, CHAR_K, CHAR_L, CHAR_M, CHAR_N, CHAR_O, CHAR_P, + CHAR_Q, CHAR_R, CHAR_S, CHAR_T, CHAR_U, CHAR_V, CHAR_W, CHAR_X, CHAR_Y, + CHAR_Z, CHAR_LEFT_SQUARE_BRACKET, CHAR_BACKSLASH, CHAR_RIGHT_SQUARE_BRACKET, + CHAR_CIRCUMFLEX_ACCENT, CHAR_UNDERSCORE +}; #endif /* EBCDIC */ @@ -1037,12 +1070,12 @@ for (;;) fprintf(stderr, "META (*scan_substring:"); break; - case META_SCS_NAME: - fprintf(stderr, "META_SCS_NAME length=%d relative_offset=%d", *pptr++, (int)meta_arg); + case META_CAPTURE_NAME: + fprintf(stderr, "META_CAPTURE_NAME length=%d relative_offset=%d", *pptr++, (int)meta_arg); break; - case META_SCS_NUMBER: - fprintf(stderr, "META_SCS_NUMBER %d relative_offset=%d", *pptr++, (int)meta_arg); + case META_CAPTURE_NUMBER: + fprintf(stderr, "META_CAPTURE_NUMBER %d relative_offset=%d", *pptr++, (int)meta_arg); break; case META_MARK: @@ -1533,6 +1566,13 @@ else if ((i = escapes[c - ESCAPES_FIRST]) != 0) goto COME_FROM_NU; } #endif + + /* Improve error offset. */ + ptr = p + 2; + while (ptr < ptrend && XDIGIT(*ptr) != 0xff) ptr++; + while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; + if (ptr < ptrend && *ptr == CHAR_RIGHT_CURLY_BRACKET) ptr++; + *errorcodeptr = ERR93; } @@ -1541,6 +1581,7 @@ else if ((i = escapes[c - ESCAPES_FIRST]) != 0) else if (isclass || cb == NULL) { + ptr++; /* Skip over the opening brace */ *errorcodeptr = ERR37; } @@ -1551,7 +1592,10 @@ else if ((i = escapes[c - ESCAPES_FIRST]) != 0) { if (!read_repeat_counts(&p, ptrend, NULL, NULL, errorcodeptr) && *errorcodeptr == 0) + { + ptr++; /* Skip over the opening brace */ *errorcodeptr = ERR37; + } } } } @@ -1572,11 +1616,11 @@ else if (cb == NULL) { - if (c < CHAR_0 || - (c > CHAR_9 && (c != CHAR_c && c != CHAR_o && c != CHAR_x && c != CHAR_g))) + if (!(c >= CHAR_0 && c <= CHAR_9) && c != CHAR_c && c != CHAR_o && + c != CHAR_x && c != CHAR_g) { *errorcodeptr = ERR3; - return 0; + goto EXIT; } alt_bsux = FALSE; /* Do not modify \x handling */ } @@ -1601,7 +1645,9 @@ else because otherwise \u{ 12} (for example) would be treated as u{12}. */ case CHAR_u: - if (!alt_bsux) *errorcodeptr = ERR37; else + if (!alt_bsux) + *errorcodeptr = ERR37; + else { uint32_t xc; @@ -1727,8 +1773,8 @@ else if (p >= ptrend || *p != CHAR_GREATER_THAN_SIGN) { - /* not advancing ptr; report error at the \g character */ - *errorcodeptr = ERR57; + ptr = p; + *errorcodeptr = ERR119; /* Missing terminator for number */ break; } @@ -1764,8 +1810,8 @@ else if (p >= ptrend || *p != CHAR_RIGHT_CURLY_BRACKET) { - /* not advancing ptr; report error at the \g character */ - *errorcodeptr = ERR57; + ptr = p; + *errorcodeptr = ERR119; /* Missing terminator for number */ break; } ptr = p + 1; @@ -1890,7 +1936,7 @@ else if (c >= CHAR_8) break; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* \0 always starts an octal number, but we may drop through to here with a larger first octal digit. The original code used just to take the least @@ -1922,12 +1968,12 @@ else with optional spaces or tabs after { and before }. */ case CHAR_o: - if (ptr >= ptrend || *ptr++ != CHAR_LEFT_CURLY_BRACKET) + if (ptr >= ptrend || *ptr != CHAR_LEFT_CURLY_BRACKET) { - ptr--; *errorcodeptr = ERR55; break; } + ptr++; while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; if (ptr >= ptrend || *ptr == CHAR_RIGHT_CURLY_BRACKET) @@ -1962,19 +2008,19 @@ else while (ptr < ptrend && *ptr >= CHAR_0 && *ptr <= CHAR_7) ptr++; *errorcodeptr = ERR34; } - else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) + else if (utf && c >= 0xd800 && c <= 0xdfff && + (xoptions & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) { - if (utf && c >= 0xd800 && c <= 0xdfff && - (xoptions & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) - { - ptr--; - *errorcodeptr = ERR73; - } + *errorcodeptr = ERR73; + } + else if (ptr < ptrend && *ptr == CHAR_RIGHT_CURLY_BRACKET) + { + ptr++; } else { - ptr--; *errorcodeptr = ERR64; + goto ESCAPE_FAILED_FORWARD; } break; @@ -2043,14 +2089,14 @@ else while (ptr < ptrend && XDIGIT(*ptr) != 0xff) ptr++; *errorcodeptr = ERR34; } - else if (ptr < ptrend && *ptr++ == CHAR_RIGHT_CURLY_BRACKET) + else if (utf && c >= 0xd800 && c <= 0xdfff && + (xoptions & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) { - if (utf && c >= 0xd800 && c <= 0xdfff && - (xoptions & PCRE2_EXTRA_ALLOW_SURROGATE_ESCAPES) == 0) - { - ptr--; - *errorcodeptr = ERR73; - } + *errorcodeptr = ERR73; + } + else if (ptr < ptrend && *ptr == CHAR_RIGHT_CURLY_BRACKET) + { + ptr++; } /* If the sequence of hex digits (followed by optional space) does not @@ -2060,8 +2106,8 @@ else else { - ptr--; *errorcodeptr = ERR67; + goto ESCAPE_FAILED_FORWARD; } } /* End of \x{} processing */ @@ -2113,11 +2159,7 @@ else For testing the EBCDIC handling of \c in an ASCII environment, recognize the EBCDIC value of 'c' explicitly. */ -#if defined EBCDIC && 'a' != 0x81 - case 0x83: -#else case CHAR_c: -#endif if (ptr >= ptrend) { *errorcodeptr = ERR2; @@ -2132,7 +2174,7 @@ else if (c < 32 || c > 126) /* Excludes all non-printable ASCII */ { *errorcodeptr = ERR68; - break; + goto ESCAPE_FAILED_FORWARD; } c ^= 0x40; @@ -2143,14 +2185,20 @@ else #else if (c == CHAR_QUESTION_MARK) - c = ('\\' == 188 && '`' == 74)? 0x5f : 0xff; + c = (CHAR_BACKSLASH == 188 && CHAR_GRAVE_ACCENT == 74)? 0x5f : 0xff; else { for (i = 0; i < 32; i++) { if (c == ebcdic_escape_c[i]) break; } - if (i < 32) c = i; else *errorcodeptr = ERR68; + if (i < 32) + c = i; + else + { + *errorcodeptr = ERR68; + goto ESCAPE_FAILED_FORWARD; + } } #endif /* EBCDIC */ @@ -2162,16 +2210,25 @@ else default: *errorcodeptr = ERR3; - *ptrptr = ptr - 1; /* Point to the character at fault */ - return 0; + break; } } /* Set the pointer to the next character before returning. */ +EXIT: *ptrptr = ptr; *chptr = c; return escape; + +/* Some errors need to indicate the next character. */ + +ESCAPE_FAILED_FORWARD: +ptr++; +#ifdef SUPPORT_UNICODE +if (utf) FORWARDCHARTEST(ptr, ptrend); +#endif +goto EXIT; } @@ -2188,6 +2245,7 @@ after the final code unit of the escape sequence. Arguments: ptrptr the pattern position pointer + utf true if the input is UTF-encoded negptr a boolean that is set TRUE for negation else FALSE ptypeptr an unsigned int that is set to the type value pdataptr an unsigned int that is set to the detailed property value @@ -2198,18 +2256,23 @@ Returns: TRUE if the type value was found, or FALSE for an invalid type */ static BOOL -get_ucp(PCRE2_SPTR *ptrptr, BOOL *negptr, uint16_t *ptypeptr, +get_ucp(PCRE2_SPTR *ptrptr, BOOL utf, BOOL *negptr, uint16_t *ptypeptr, uint16_t *pdataptr, int *errorcodeptr, compile_block *cb) { -PCRE2_UCHAR c; -PCRE2_SIZE i, bot, top; +uint32_t c; +ptrdiff_t i; +PCRE2_SIZE bot, top; PCRE2_SPTR ptr = *ptrptr; PCRE2_UCHAR name[50]; PCRE2_UCHAR *vptr = NULL; uint16_t ptscript = PT_NOTSCRIPT; +#ifndef MAYBE_UTF_MULTI +(void)utf; /* Avoid compiler warning */ +#endif + if (ptr >= cb->end_pattern) goto ERROR_RETURN; -c = *ptr++; +GETCHARINCTEST(c, ptr); *negptr = FALSE; /* \P or \p can be followed by a name in {}, optionally preceded by ^ for @@ -2230,15 +2293,14 @@ if (c == CHAR_LEFT_CURLY_BRACKET) REDO: if (ptr >= cb->end_pattern) goto ERROR_RETURN; - c = *ptr++; + GETCHARINCTEST(c, ptr); /* Skip ignorable Unicode characters. */ - while (c == CHAR_UNDERSCORE || c == CHAR_MINUS || c == CHAR_SPACE || - (c >= CHAR_HT && c <= CHAR_CR)) + if (c == CHAR_UNDERSCORE || c == CHAR_MINUS || c == CHAR_SPACE || + (c >= CHAR_HT && c <= CHAR_CR)) { - if (ptr >= cb->end_pattern) goto ERROR_RETURN; - c = *ptr++; + goto REDO; } /* The first significant character being circumflex negates the meaning of @@ -2506,7 +2568,7 @@ return -1; the name of a subpattern or a (*VERB) or an (*alpha_assertion). The initial pointer must be to the preceding character. If that character is '*' we are reading a verb or alpha assertion name. The pointer is updated to point after -the name, for a VERB or alpha assertion name, or after tha name's terminator +the name, for a VERB or alpha assertion name, or after the name's terminator for a subpattern name. Returning both the offset and the name pointer is redundant information, but some callers use one and some the other, so it is simplest just to return both. When the name is in braces, spaces and tabs are @@ -2559,12 +2621,14 @@ by Unicode properties, and underscores, but must not start with a digit. */ if (utf && is_group) { uint32_t c, type; + PCRE2_SPTR p = ptr; - GETCHAR(c, ptr); + GETCHARINC(c, p); /* Peek at next character */ type = UCD_CHARTYPE(c); if (type == ucp_Nd) { + ptr = p; *errorcodeptr = ERR44; goto FAILED; } @@ -2573,10 +2637,9 @@ if (utf && is_group) { if (type != ucp_Nd && PRIV(ucp_gentype)[type] != ucp_L && c != CHAR_UNDERSCORE) break; - ptr++; - FORWARDCHARTEST(ptr, ptrend); - if (ptr >= ptrend) break; - GETCHAR(c, ptr); + ptr = p; /* Accept character and peek again */ + if (p >= ptrend) break; + GETCHARINC(c, p); type = UCD_CHARTYPE(c); } } @@ -2592,6 +2655,7 @@ won't be recognized. */ { if (is_group && IS_DIGIT(*ptr)) { + ++ptr; *errorcodeptr = ERR44; goto FAILED; } @@ -2604,7 +2668,7 @@ won't be recognized. */ /* Check name length */ -if (ptr > *nameptr + MAX_NAME_SIZE) +if (ptr - *nameptr > MAX_NAME_SIZE) { *errorcodeptr = ERR48; goto FAILED; @@ -2623,12 +2687,15 @@ if (is_group) } if (is_braced) while (ptr < ptrend && (*ptr == CHAR_SPACE || *ptr == CHAR_HT)) ptr++; - if (ptr >= ptrend || *ptr != (PCRE2_UCHAR)terminator) + if (terminator != 0) { - *errorcodeptr = ERR42; - goto FAILED; + if (ptr >= ptrend || *ptr != (PCRE2_UCHAR)terminator) + { + *errorcodeptr = ERR42; + goto FAILED; + } + ptr++; } - ptr++; } *ptrptr = ptr; @@ -2641,6 +2708,128 @@ return FALSE; +/************************************************** +* Parse capturing bracket argument list * +**************************************************/ + +/* Reads a list of capture references. The references +can be numbers or names. + +Arguments: + ptrptr points to the character pointer variable + ptrend points to the end of the input string + utf true if the input is UTF-encoded + parsed_pattern the parsed pattern pointer + offset last known offset + errcodeptr where to put an error code + cb pointer to the compile data block + +Returns: updated parsed_pattern pointer on success + NULL otherwise +*/ + +static uint32_t * +parse_capture_list(PCRE2_SPTR *ptrptr, PCRE2_SPTR ptrend, + BOOL utf, uint32_t *parsed_pattern, PCRE2_SIZE offset, + int *errorcodeptr, compile_block *cb) +{ +PCRE2_SIZE next_offset; +PCRE2_SPTR ptr = *ptrptr; +PCRE2_SPTR name; +PCRE2_UCHAR terminator; +uint32_t meta, namelen; +int i; + +if (ptr >= ptrend || *ptr != CHAR_LEFT_PARENTHESIS) + { + *errorcodeptr = ERR118; + goto FAILED; + } + +for (;;) + { + ptr++; + next_offset = (PCRE2_SIZE)(ptr - cb->start_pattern); + + if (ptr >= ptrend) + { + *errorcodeptr = ERR117; + goto FAILED; + } + + /* Handle [+-]number cases */ + if (read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, + &i, errorcodeptr)) + { + PCRE2_ASSERT(i >= 0); + if (i <= 0) + { + *errorcodeptr = ERR15; + goto FAILED; + } + meta = META_CAPTURE_NUMBER; + namelen = (uint32_t)i; + } + else if (*errorcodeptr != 0) goto FAILED; /* Number too big */ + else + { + /* Handle 'name' or cases. */ + if (*ptr == CHAR_LESS_THAN_SIGN) + terminator = CHAR_GREATER_THAN_SIGN; + else if (*ptr == CHAR_APOSTROPHE) + terminator = CHAR_APOSTROPHE; + else + { + *errorcodeptr = ERR117; + goto FAILED; + } + + if (!read_name(&ptr, ptrend, utf, terminator, &next_offset, + &name, &namelen, errorcodeptr, cb)) goto FAILED; + + meta = META_CAPTURE_NAME; + } + + PCRE2_ASSERT(next_offset > 0); + if (offset == 0 || (next_offset - offset) >= 0x10000) + { + *parsed_pattern++ = META_OFFSET; + PUTOFFSET(next_offset, parsed_pattern); + offset = next_offset; + } + + /* The offset is encoded as a relative offset, because for some + inputs such as ",2" in (1,2,3), we only have space for two uint32_t + values, and an opcode and absolute offset may require three uint32_t + values. */ + *parsed_pattern++ = meta | (uint32_t)(next_offset - offset); + *parsed_pattern++ = namelen; + offset = next_offset; + + if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; + + if (*ptr == CHAR_RIGHT_PARENTHESIS) break; + + if (*ptr != CHAR_COMMA) + { + *errorcodeptr = ERR24; + goto FAILED; + } + } + +*ptrptr = ptr + 1; +return parsed_pattern; + +UNCLOSED_PARENTHESIS: +*errorcodeptr = ERR14; + +FAILED: +*ptrptr = ptr; +return NULL; +} + + + /************************************************* * Manage callouts at start of cycle * *************************************************/ @@ -2719,21 +2908,21 @@ switch(escape) { case ESC_D: prop = ESC_P; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case ESC_d: ascii_option = PCRE2_EXTRA_ASCII_BSD; break; case ESC_S: prop = ESC_P; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case ESC_s: ascii_option = PCRE2_EXTRA_ASCII_BSS; break; case ESC_W: prop = ESC_P; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case ESC_w: ascii_option = PCRE2_EXTRA_ASCII_BSW; break; @@ -2942,6 +3131,7 @@ uint32_t add_after_mark = 0; uint16_t nest_depth = 0; int16_t class_depth_m1 = -1; /* The m1 means minus 1. */ int16_t class_maxdepth_m1 = -1; +uint16_t hash; int after_manual_callout = 0; int expect_cond_assert = 0; int errorcode = 0; @@ -2951,7 +3141,7 @@ BOOL inescq = FALSE; BOOL inverbname = FALSE; BOOL utf = (options & PCRE2_UTF) != 0; BOOL auto_callout = (options & PCRE2_AUTO_CALLOUT) != 0; -BOOL isdupname; +BOOL is_dupname; BOOL negate_class; BOOL okquantifier = FALSE; PCRE2_SPTR thisptr; @@ -2996,12 +3186,15 @@ if ((options & PCRE2_LITERAL) != 0) { while (ptr < ptrend) { + /* LCOV_EXCL_START */ if (parsed_pattern >= parsed_pattern_end) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR63; /* Internal error (parsed pattern overflow) */ goto FAILED; } + /* LCOV_EXCL_STOP */ + thisptr = ptr; GETCHARINCTEST(c, ptr); if (auto_callout) @@ -3067,6 +3260,7 @@ while (ptr < ptrend) ptr_check = ptr; #endif + /* LCOV_EXCL_START */ if (parsed_pattern >= parsed_pattern_end) { /* Weak pre-write check; only ensures parsed_pattern[0] is writeable @@ -3075,6 +3269,7 @@ while (ptr < ptrend) errorcode = ERR63; /* Internal error (parsed pattern overflow) */ goto FAILED; } + /* LCOV_EXCL_STOP */ /* If the last time round this loop something was added, parsed_pattern will no longer be equal to this_parsed_item. Remember where the previous item @@ -3104,12 +3299,6 @@ while (ptr < ptrend) } else { - if (expect_cond_assert > 0) /* A literal is not allowed if we are */ - { /* expecting a conditional assertion, */ - ptr--; /* but an empty \Q\E sequence is OK. */ - errorcode = ERR28; - goto FAILED; - } if (inverbname) { /* Don't use PARSED_LITERAL() because it */ #if PCRE2_CODE_UNIT_WIDTH == 32 /* sets okquantifier. */ @@ -3238,6 +3427,15 @@ while (ptr < ptrend) { if (*ptr == CHAR_Q || *ptr == CHAR_E) { + /* A literal inside a \Q...\E is not allowed if we are expecting a + conditional assertion, but an empty \Q\E sequence is OK. */ + if (expect_cond_assert > 0 && *ptr == CHAR_Q && + !(ptrend - ptr >= 3 && ptr[1] == CHAR_BACKSLASH && ptr[2] == CHAR_E)) + { + ptr--; + errorcode = ERR28; + goto FAILED; + } inescq = *ptr == CHAR_Q; ptr++; continue; @@ -3347,9 +3545,9 @@ while (ptr < ptrend) if (!ok) { - ptr--; /* Adjust error offset */ errorcode = ERR28; - goto FAILED; + if (expect_cond_assert == 2) goto FAILED; + goto FAILED_BACK; } } @@ -3425,7 +3623,7 @@ while (ptr < ptrend) else if (escape < 0) { - offset = (PCRE2_SIZE)(ptr - cb->start_pattern - 1); + offset = (PCRE2_SIZE)(ptr - cb->start_pattern); escape = -escape - 1; *parsed_pattern++ = META_BACKREF | (uint32_t)escape; if (escape < 10) @@ -3523,7 +3721,7 @@ while (ptr < ptrend) { BOOL negated; uint16_t ptype = 0, pdata = 0; - if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) + if (!get_ucp(&ptr, utf, &negated, &ptype, &pdata, &errorcode, cb)) goto ESCAPE_FAILED; if (negated) escape = (escape == ESC_P)? ESC_p : ESC_P; *parsed_pattern++ = META_ESCAPE + escape; @@ -3565,10 +3763,11 @@ while (ptr < ptrend) { if (p >= ptrend || *p != terminator) { - errorcode = ERR57; + ptr = p; + errorcode = ERR119; /* Missing terminator for number */ goto ESCAPE_FAILED; } - ptr = p; + ptr = p + 1; goto SET_RECURSION; } if (errorcode != 0) goto ESCAPE_FAILED; @@ -3649,7 +3848,7 @@ while (ptr < ptrend) if (!prev_okquantifier) { errorcode = ERR9; - goto FAILED_BACK; // TODO https://github.com/PCRE2Project/pcre2/issues/549 + goto FAILED; } /* Most (*VERB)s are not allowed to be quantified, but an ungreedy @@ -3738,6 +3937,7 @@ while (ptr < ptrend) check_posix_syntax(ptr, ptrend, &tempptr)) { errorcode = (*ptr-- == CHAR_COLON)? ERR12 : ERR13; + ptr = tempptr + 2; goto FAILED; } @@ -3965,8 +4165,9 @@ while (ptr < ptrend) /* Validate nesting depth */ if (class_depth_m1 >= ECLASS_NEST_LIMIT - 1) { - errorcode = ERR107; - goto FAILED; /* Classes too deeply nested */ + ptr--; /* Point rightwards at the paren, same as ERR19. */ + errorcode = ERR107; /* Classes too deeply nested */ + goto FAILED; } /* Process the character class start. If the first character is '^', set @@ -4081,7 +4282,8 @@ while (ptr < ptrend) if (c == CHAR_RIGHT_SQUARE_BRACKET && class_depth_m1 != 0) { errorcode = ERR14; - goto FAILED_BACK; + ptr--; /* Correct the offset */ + goto FAILED; } if (c == CHAR_RIGHT_PARENTHESIS && class_depth_m1 < 1) { @@ -4301,7 +4503,6 @@ while (ptr < ptrend) case ESC_R: case ESC_X: errorcode = ERR7; - ptr--; // TODO https://github.com/PCRE2Project/pcre2/issues/549 goto FAILED; case ESC_N: /* Not permitted by Perl either */ @@ -4336,7 +4537,7 @@ while (ptr < ptrend) { BOOL negated; uint16_t ptype = 0, pdata = 0; - if (!get_ucp(&ptr, &negated, &ptype, &pdata, &errorcode, cb)) + if (!get_ucp(&ptr, utf, &negated, &ptype, &pdata, &errorcode, cb)) goto FAILED; /* In caseless matching, particular characteristics Lu, Ll, and Lt @@ -4362,9 +4563,11 @@ while (ptr < ptrend) /* All others are not allowed in a class */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ + /* LCOV_EXCL_STOP */ case ESC_A: case ESC_Z: @@ -4373,7 +4576,6 @@ while (ptr < ptrend) case ESC_K: case ESC_C: errorcode = ERR7; - ptr--; // TODO https://github.com/PCRE2Project/pcre2/issues/549 goto FAILED; } @@ -4464,7 +4666,7 @@ while (ptr < ptrend) else if (parsed_pattern[-2] > c) /* Check range is in order */ { errorcode = ERR8; - goto FAILED_BACK; // TODO https://github.com/PCRE2Project/pcre2/issues/549 + goto FAILED; } else { @@ -4560,10 +4762,11 @@ while (ptr < ptrend) vn = alasnames; if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, &errorcode, cb)) goto FAILED; - if (ptr >= ptrend || *ptr != CHAR_COLON) + if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; + if (*ptr != CHAR_COLON) { errorcode = ERR95; /* Malformed */ - goto FAILED; + goto FAILED_FORWARD; } /* Scan the table of alpha assertion names */ @@ -4598,10 +4801,12 @@ while (ptr < ptrend) switch(meta) { + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR89; /* Unknown code; should never occur because */ goto FAILED; /* the meta values come from a table above. */ + /* LCOV_EXCL_STOP */ case META_ATOMIC: goto ATOMIC_GROUP; @@ -4616,87 +4821,12 @@ while (ptr < ptrend) goto NEGATIVE_LOOK_AHEAD; case META_SCS: - if (++ptr >= ptrend) goto UNCLOSED_PARENTHESIS; - - if (*ptr != CHAR_LEFT_PARENTHESIS) - { - errorcode = ERR15; - goto FAILED; - } - ptr++; *parsed_pattern++ = META_SCS; - /* Temporary variable, zero in the first iteration. */ - offset = 0; - for (;;) - { - PCRE2_SIZE next_offset = (PCRE2_SIZE)(ptr - cb->start_pattern); - - /* Handle (scan_substring:([+-]number)... */ - if (read_number(&ptr, ptrend, cb->bracount, MAX_GROUP_NUMBER, ERR61, - &i, &errorcode)) - { - PCRE2_ASSERT(i >= 0); - if (i <= 0) - { - errorcode = ERR15; - goto FAILED; - } - meta = META_SCS_NUMBER; - namelen = (uint32_t)i; - } - else if (errorcode != 0) goto FAILED; /* Number too big */ - else - { - if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; - - /* Handle (*scan_substring:('name') or (*scan_substring:() */ - if (*ptr == CHAR_LESS_THAN_SIGN) - terminator = CHAR_GREATER_THAN_SIGN; - else if (*ptr == CHAR_APOSTROPHE) - terminator = CHAR_APOSTROPHE; - else - { - errorcode = ERR15; - goto FAILED; - } - - if (!read_name(&ptr, ptrend, utf, terminator, &next_offset, - &name, &namelen, &errorcode, cb)) goto FAILED; - - meta = META_SCS_NAME; - } - - PCRE2_ASSERT(next_offset > 0); - if (offset == 0 || (next_offset - offset) >= 0x10000) - { - *parsed_pattern++ = META_OFFSET; - PUTOFFSET(next_offset, parsed_pattern); - offset = next_offset; - } - - /* The offset is encoded as a relative offset, because for some - inputs such as ",2" in (*scs:(1,2,3)...), we only have space for - two uint32_t values, and an opcode and absolute offset may require - three uint32_t values. */ - *parsed_pattern++ = meta | (uint32_t)(next_offset - offset); - *parsed_pattern++ = namelen; - offset = next_offset; - - if (ptr >= ptrend) goto UNCLOSED_PARENTHESIS; - - if (*ptr == CHAR_RIGHT_PARENTHESIS) break; - - if (*ptr != CHAR_COMMA) - { - errorcode = ERR24; - goto FAILED; - } - - ptr++; - } - ptr++; + parsed_pattern = parse_capture_list(&ptr, ptrend, utf, parsed_pattern, + 0, &errorcode, cb); + if (parsed_pattern == NULL) goto FAILED; goto POST_ASSERTION; case META_LOOKBEHIND: @@ -4923,7 +5053,6 @@ while (ptr < ptrend) if (!hyphenok) { errorcode = ERR94; - ptr--; /* Correct the offset */ goto FAILED; } optset = &unset; @@ -4997,7 +5126,6 @@ while (ptr < ptrend) default: errorcode = ERR11; - ptr--; /* Correct the offset */ goto FAILED; } } @@ -5066,7 +5194,7 @@ while (ptr < ptrend) if (*ptr != CHAR_EQUALS_SIGN) { errorcode = ERR41; - goto FAILED; + goto FAILED_FORWARD; } if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, &namelen, &errorcode, cb)) goto FAILED; @@ -5082,23 +5210,30 @@ while (ptr < ptrend) case CHAR_R: i = 0; /* (?R) == (?R0) */ ptr++; - if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) + if (ptr >= ptrend || (*ptr != CHAR_RIGHT_PARENTHESIS && *ptr != CHAR_LEFT_PARENTHESIS)) { errorcode = ERR58; goto FAILED; } + terminator = CHAR_NUL; goto SET_RECURSION; /* An item starting (?- followed by a digit comes here via the "default" case because (?- followed by a non-digit is an options setting. */ case CHAR_PLUS: - if (ptrend - ptr < 2 || !IS_DIGIT(ptr[1])) + if (ptr + 1 >= ptrend) + { + ++ptr; + goto UNCLOSED_PARENTHESIS; + } + if (!IS_DIGIT(ptr[1])) { errorcode = ERR29; /* Missing number */ - goto FAILED; + ++ptr; + goto FAILED_FORWARD; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case CHAR_0: case CHAR_1: case CHAR_2: case CHAR_3: case CHAR_4: case CHAR_5: case CHAR_6: case CHAR_7: case CHAR_8: case CHAR_9: @@ -5108,28 +5243,43 @@ while (ptr < ptrend) MAX_GROUP_NUMBER, ERR61, &i, &errorcode)) goto FAILED; PCRE2_ASSERT(i >= 0); /* NB (?0) is permitted, represented by i=0 */ - if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) - goto UNCLOSED_PARENTHESIS; + terminator = CHAR_NUL; SET_RECURSION: *parsed_pattern++ = META_RECURSE | (uint32_t)i; offset = (PCRE2_SIZE)(ptr - cb->start_pattern); - ptr++; - PUTOFFSET(offset, parsed_pattern); - okquantifier = TRUE; - break; /* End of recursive call by number handling */ + /* End of recursive call by number handling */ + goto READ_RECURSION_ARGUMENTS; /* ---- Recursion/subroutine calls by name ---- */ case CHAR_AMPERSAND: RECURSE_BY_NAME: - if (!read_name(&ptr, ptrend, utf, CHAR_RIGHT_PARENTHESIS, &offset, &name, + if (!read_name(&ptr, ptrend, utf, 0, &offset, &name, &namelen, &errorcode, cb)) goto FAILED; *parsed_pattern++ = META_RECURSE_BYNAME; *parsed_pattern++ = namelen; + terminator = CHAR_NUL; + + READ_RECURSION_ARGUMENTS: PUTOFFSET(offset, parsed_pattern); okquantifier = TRUE; + + /* Arguments are not supported for \g construct. */ + if (terminator != CHAR_NUL) break; + + if (ptr < ptrend && *ptr == CHAR_LEFT_PARENTHESIS) + { + parsed_pattern = parse_capture_list(&ptr, ptrend, utf, parsed_pattern, + offset, &errorcode, cb); + if (parsed_pattern == NULL) goto FAILED; + } + + if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) + goto UNCLOSED_PARENTHESIS; + + ptr++; break; /* ---- Callout with numerical or string argument ---- */ @@ -5137,6 +5287,7 @@ while (ptr < ptrend) case CHAR_C: if ((xoptions & PCRE2_EXTRA_NEVER_CALLOUT) != 0) { + ptr++; errorcode = ERR103; goto FAILED; } @@ -5189,7 +5340,7 @@ while (ptr < ptrend) if (delimiter == 0) { errorcode = ERR82; - goto FAILED; + goto FAILED_FORWARD; } *parsed_pattern = META_CALLOUT_STRING; @@ -5333,20 +5484,31 @@ while (ptr < ptrend) references its argument twice. */ if (*ptr != CHAR_EQUALS_SIGN || (ptr++, !IS_DIGIT(*ptr))) - goto BAD_VERSION_CONDITION; + { + errorcode = ERR79; + if (!ge) goto FAILED_FORWARD; + goto FAILED; + } if (!read_number(&ptr, ptrend, -1, 1000, ERR79, &major, &errorcode)) goto FAILED; - if (ptr >= ptrend) goto BAD_VERSION_CONDITION; - if (*ptr == CHAR_DOT) + if (ptr < ptrend && *ptr == CHAR_DOT) { - if (++ptr >= ptrend || !IS_DIGIT(*ptr)) goto BAD_VERSION_CONDITION; - minor = (*ptr++ - CHAR_0) * 10; - if (ptr >= ptrend) goto BAD_VERSION_CONDITION; - if (IS_DIGIT(*ptr)) minor += *ptr++ - CHAR_0; - if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) - goto BAD_VERSION_CONDITION; + if (++ptr >= ptrend || !IS_DIGIT(*ptr)) + { + errorcode = ERR79; + if (ptr < ptrend) goto FAILED_FORWARD; + goto FAILED; + } + if (!read_number(&ptr, ptrend, -1, 1000, ERR79, &minor, &errorcode)) + goto FAILED; + } + if (ptr >= ptrend || *ptr != CHAR_RIGHT_PARENTHESIS) + { + errorcode = ERR79; + if (ptr < ptrend) goto FAILED_FORWARD; + goto FAILED; } *parsed_pattern++ = META_COND_VERSION; @@ -5380,6 +5542,7 @@ while (ptr < ptrend) terminator = CHAR_RIGHT_PARENTHESIS; ptr--; /* Point to char before name */ } + if (!read_name(&ptr, ptrend, utf, terminator, &offset, &name, &namelen, &errorcode, cb)) goto FAILED; @@ -5559,21 +5722,37 @@ while (ptr < ptrend) scanning in case this is a duplicate with the same number. For non-duplicate names, give an error if the number is duplicated. */ - isdupname = FALSE; + is_dupname = FALSE; + hash = PRIV(compile_get_hash_from_name)(name, namelen); ng = cb->named_groups; for (i = 0; i < cb->names_found; i++, ng++) { - if (namelen == ng->length && + if (namelen == ng->length && hash == NAMED_GROUP_GET_HASH(ng) && PRIV(strncmp)(name, ng->name, (PCRE2_SIZE)namelen) == 0) { + /* When a bracket is referenced by the same name multiple + times, is not considered as a duplicate and ignored. */ if (ng->number == cb->bracount) break; if ((options & PCRE2_DUPNAMES) == 0) { errorcode = ERR43; goto FAILED; } - isdupname = ng->isdup = TRUE; /* Mark as a duplicate */ + + ng->hash_dup |= NAMED_GROUP_IS_DUPNAME; + is_dupname = TRUE; /* Mark as a duplicate */ cb->dupnames = TRUE; /* Duplicate names exist */ + + /* The entry represents a duplicate. */ + name = ng->name; + namelen = 0; + + /* Even duplicated names may refer to the same + capture index. These references are also ignored. */ + for (; i < cb->names_found; i++, ng++) + if (ng->name == name && ng->number == cb->bracount) + break; + break; } else if (ng->number == cb->bracount) { @@ -5582,7 +5761,8 @@ while (ptr < ptrend) } } - if (i < cb->names_found) break; /* Ignore duplicate with same number */ + /* Ignore duplicate with same number. */ + if (i < cb->names_found) break; /* Increase the list size if necessary */ @@ -5608,11 +5788,13 @@ while (ptr < ptrend) } /* Add this name to the list */ + if (is_dupname) + hash |= NAMED_GROUP_IS_DUPNAME; cb->named_groups[cb->names_found].name = name; cb->named_groups[cb->names_found].length = (uint16_t)namelen; cb->named_groups[cb->names_found].number = cb->bracount; - cb->named_groups[cb->names_found].isdup = (uint16_t)isdupname; + cb->named_groups[cb->names_found].hash_dup = hash; cb->names_found++; break; @@ -5678,7 +5860,7 @@ while (ptr < ptrend) if (nest_depth == 0) /* Unmatched closing parenthesis */ { errorcode = ERR22; - goto FAILED_BACK; // TODO https://github.com/PCRE2Project/pcre2/issues/549 + goto FAILED; } nest_depth--; *parsed_pattern++ = META_KET; @@ -5723,12 +5905,14 @@ else if ((xoptions & PCRE2_EXTRA_MATCH_WORD) != 0) /* Terminate the parsed pattern, then return success if all groups are closed. Otherwise we have unclosed parentheses. */ +/* LCOV_EXCL_START */ if (parsed_pattern >= parsed_pattern_end) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR63; /* Internal error (parsed pattern overflow) */ goto FAILED; } +/* LCOV_EXCL_STOP */ *parsed_pattern = META_END; if (nest_depth == 0) return 0; @@ -5746,12 +5930,18 @@ return errorcode; FAILED_BACK: ptr--; +#ifdef SUPPORT_UNICODE +if (utf) BACKCHAR(ptr); +#endif goto FAILED; -/* This failure happens several times. */ +/* Some errors need to indicate the next character. */ -BAD_VERSION_CONDITION: -errorcode = ERR79; +FAILED_FORWARD: +ptr++; +#ifdef SUPPORT_UNICODE +if (utf) FORWARDCHARTEST(ptr, ptrend); +#endif goto FAILED; } @@ -5795,7 +5985,7 @@ for (;;) case OP_UCP_WORD_BOUNDARY: case OP_NOT_UCP_WORD_BOUNDARY: if (!skipassert) return code; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CALLOUT: case OP_CREF: @@ -5836,78 +6026,9 @@ for (;;) } } +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ -} - - - -/************************************************* -* Find details of duplicate group names * -*************************************************/ - -/* This is called from compile_branch() when it needs to know the index and -count of duplicates in the names table when processing named backreferences, -either directly, or as conditions. - -Arguments: - name points to the name - length the length of the name - indexptr where to put the index - countptr where to put the count of duplicates - errorcodeptr where to put an error code - cb the compile block - -Returns: TRUE if OK, FALSE if not, error code set -*/ - -static BOOL -find_dupname_details(PCRE2_SPTR name, uint32_t length, int *indexptr, - int *countptr, int *errorcodeptr, compile_block *cb) -{ -uint32_t i, groupnumber; -int count; -PCRE2_UCHAR *slot = cb->name_table; - -/* Find the first entry in the table */ - -for (i = 0; i < cb->names_found; i++) - { - if (PRIV(strncmp)(name, slot+IMM2_SIZE, length) == 0 && - slot[IMM2_SIZE+length] == 0) break; - slot += cb->name_entry_size; - } - -/* This should not occur, because this function is called only when we know we -have duplicate names. Give an internal error. */ - -if (i >= cb->names_found) - { - PCRE2_DEBUG_UNREACHABLE(); - *errorcodeptr = ERR53; - cb->erroroffset = name - cb->start_pattern; - return FALSE; - } - -/* Record the index and then see how many duplicates there are, updating the -backref map and maximum back reference as we do. */ - -*indexptr = i; -count = 0; - -for (;;) - { - count++; - groupnumber = GET2(slot,0); - cb->backref_map |= (groupnumber < 32)? (1u << groupnumber) : 1; - if (groupnumber > cb->top_backref) cb->top_backref = groupnumber; - if (++i >= cb->names_found) break; - slot += cb->name_entry_size; - if (PRIV(strncmp)(name, slot+IMM2_SIZE, length) != 0 || - (slot+IMM2_SIZE)[length] != 0) break; - } - -*countptr = count; -return TRUE; +/* LCOV_EXCL_STOP */ } @@ -5965,7 +6086,7 @@ uint32_t meta, meta_arg; uint32_t firstcuflags, reqcuflags; uint32_t zeroreqcuflags, zerofirstcuflags; uint32_t req_caseopt, reqvary, tempreqvary; -/* Some opcodes, such as META_SCS_NUMBER or META_SCS_NAME, +/* Some opcodes, such as META_CAPTURE_NUMBER or META_CAPTURE_NAME, depends on the previous value of offset. */ PCRE2_SIZE offset = 0; PCRE2_SIZE length_prevgroup = 0; @@ -6042,16 +6163,21 @@ for (;; pptr++) if (lengthptr != NULL) { + /* LCOV_EXCL_START */ + if (code >= cb->start_workspace + cb->workspace_size) + { + PCRE2_DEBUG_UNREACHABLE(); + *errorcodeptr = ERR52; /* Over-ran workspace - internal error */ + cb->erroroffset = 0; + return 0; + } + /* LCOV_EXCL_STOP */ + if (code > cb->start_workspace + cb->workspace_size - WORK_SIZE_SAFETY_MARGIN) /* Check for overrun */ { - if (code >= cb->start_workspace + cb->workspace_size) - { - PCRE2_DEBUG_UNREACHABLE(); - *errorcodeptr = ERR52; /* Over-ran workspace - internal error */ - } - else - *errorcodeptr = ERR86; + *errorcodeptr = ERR86; /* Pattern too complicated */ + cb->erroroffset = 0; return 0; } @@ -6072,12 +6198,14 @@ for (;; pptr++) if (OFLOW_MAX - *lengthptr < (PCRE2_SIZE)(code - orig_code)) { *errorcodeptr = ERR20; /* Integer overflow */ + cb->erroroffset = 0; return 0; } *lengthptr += (PCRE2_SIZE)(code - orig_code); if (*lengthptr > MAX_PATTERN_SIZE) { *errorcodeptr = ERR20; /* Pattern is too large */ + cb->erroroffset = 0; return 0; } code = orig_code; @@ -6380,7 +6508,7 @@ for (;; pptr++) case META_PRUNE: case META_SKIP: cb->had_pruneorskip = TRUE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case META_COMMIT: case META_FAIL: *code++ = verbops[(meta - META_MARK) >> 16]; @@ -6405,7 +6533,7 @@ for (;; pptr++) case META_PRUNE_ARG: case META_SKIP_ARG: cb->had_pruneorskip = TRUE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case META_MARK: case META_COMMIT_ARG: VERB_ARG: @@ -6450,8 +6578,63 @@ for (;; pptr++) req_caseopt = ((options & PCRE2_CASELESS) != 0)? REQ_CASELESS : 0; break; + /* ===================================================================*/ + /* Handle scan substring. Scan substring assertion starts with META_SCS, + which recursively calls compile_branch. The first opcode processed by + this recursive call is always META_OFFSET. */ + case META_OFFSET: - GETPLUSOFFSET(offset, pptr); + if (lengthptr != NULL) + { + pptr = PRIV(compile_parse_scan_substr_args)(pptr, errorcodeptr, cb, lengthptr); + if (pptr == NULL) + return 0; + break; + } + + while (TRUE) + { + int count, index; + named_group *ng; + + switch (META_CODE(*pptr)) + { + case META_OFFSET: + pptr++; + SKIPOFFSET(pptr); + continue; + + case META_CAPTURE_NAME: + ng = cb->named_groups + pptr[1]; + pptr += 2; + count = 0; + index = 0; + + if (!PRIV(compile_find_dupname_details)(ng->name, ng->length, &index, + &count, errorcodeptr, cb)) return 0; + + code[0] = OP_DNCREF; + PUT2(code, 1, index); + PUT2(code, 1 + IMM2_SIZE, count); + code += 1 + 2 * IMM2_SIZE; + continue; + + case META_CAPTURE_NUMBER: + pptr += 2; + if (pptr[-1] == 0) continue; + + code[0] = OP_CREF; + PUT2(code, 1, pptr[-1]); + code += 1 + IMM2_SIZE; + continue; + + default: + break; + } + + break; + } + --pptr; break; case META_SCS: @@ -6470,19 +6653,17 @@ for (;; pptr++) case META_COND_RNUMBER: /* (?(Rdigits) */ case META_COND_NAME: /* (?(name) or (?'name') or ?() */ case META_COND_RNAME: /* (?(R&name) - test for recursion */ - case META_SCS_NAME: /* Name of scan substring */ bravalue = OP_COND; + + if (lengthptr != NULL) { - int count, index; - unsigned int i; + uint32_t i; PCRE2_SPTR name; - named_group *ng = cb->named_groups; + named_group *ng; + uint32_t *start_pptr = pptr; uint32_t length = *(++pptr); - if (meta == META_SCS_NAME) - offset += meta_arg; - else - GETPLUSOFFSET(offset, pptr); + GETPLUSOFFSET(offset, pptr); name = cb->start_pattern + offset; /* In the first pass, the names generated in the pre-pass are available, @@ -6491,11 +6672,9 @@ for (;; pptr++) this name is duplicated. If it is not duplicated, we can handle it as a numerical group. */ - for (i = 0; i < cb->names_found; i++, ng++) - if (length == ng->length && - PRIV(strncmp)(name, ng->name, length) == 0) break; + ng = PRIV(compile_find_named_group)(name, length, cb); - if (i >= cb->names_found) + if (ng == NULL) { /* If the name was not found we have a bad reference, unless we are dealing with R, which is treated as a recursion test by @@ -6528,61 +6707,88 @@ for (;; pptr++) translated into RREF_ANY (which is 0xffff). */ if (groupnumber == 0) groupnumber = RREF_ANY; - code[1+LINK_SIZE] = OP_RREF; - PUT2(code, 2+LINK_SIZE, groupnumber); + PCRE2_ASSERT(start_pptr[0] == META_COND_RNUMBER); + start_pptr[1] = groupnumber; skipunits = 1+IMM2_SIZE; goto GROUP_PROCESS_NOTE_EMPTY; } - else if (!ng->isdup) + + /* From here on, we know we have a name (not a number), + so treat META_COND_RNUMBER the same as META_COND_NAME. */ + if (meta == META_COND_RNUMBER) meta = META_COND_NAME; + + if ((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) == 0) { - /* Otherwise found a duplicated name */ + /* Found a non-duplicated name. Since it is a global, + it is enough to update it in the pre-processing phase. */ if (ng->number > cb->top_backref) cb->top_backref = ng->number; - if (meta == META_SCS_NAME) - { - code[0] = OP_CREF; - PUT2(code, 1, ng->number); - code += 1+IMM2_SIZE; - break; - } + start_pptr[0] = meta; + start_pptr[1] = ng->number; - code[1+LINK_SIZE] = (meta == META_COND_RNAME)? OP_RREF : OP_CREF; - PUT2(code, 2+LINK_SIZE, ng->number); - skipunits = 1+IMM2_SIZE; - if (meta != META_SCS_NAME) goto GROUP_PROCESS_NOTE_EMPTY; - cb->assert_depth += 1; - goto GROUP_PROCESS; + skipunits = 1 + IMM2_SIZE; + goto GROUP_PROCESS_NOTE_EMPTY; } /* We have a duplicated name. In the compile pass we have to search the main table in order to get the index and count values. */ + start_pptr[0] = meta | 1; + start_pptr[1] = (uint32_t)(ng - cb->named_groups); + + /* A duplicated name was found. Note that if an R name is found + (META_COND_RNUMBER), it is a reference test, not a recursion test. */ + skipunits = 1 + 2 * IMM2_SIZE; + } + else + { + /* Otherwise lengthptr equals to NULL, + which is the second phase of compilation. */ + int count, index; + named_group *ng; + + /* Generate code using the data + collected in the pre-processing phase. */ + + if (meta == META_COND_RNUMBER) + { + code[1+LINK_SIZE] = OP_RREF; + PUT2(code, 2 + LINK_SIZE, pptr[1]); + skipunits = 1 + IMM2_SIZE; + pptr += 1 + SIZEOFFSET; + goto GROUP_PROCESS_NOTE_EMPTY; + } + + if (meta_arg == 0) + { + code[1+LINK_SIZE] = (meta == META_COND_RNAME)? OP_RREF : OP_CREF; + PUT2(code, 2 + LINK_SIZE, pptr[1]); + skipunits = 1 + IMM2_SIZE; + pptr += 1 + SIZEOFFSET; + goto GROUP_PROCESS_NOTE_EMPTY; + } + + ng = cb->named_groups + pptr[1]; count = 0; /* Values for first pass (avoids compiler warning) */ index = 0; - if (lengthptr == NULL && !find_dupname_details(name, length, &index, - &count, errorcodeptr, cb)) return 0; - if (meta == META_SCS_NAME) - { - code[0] = OP_DNCREF; - PUT2(code, 1, index); - PUT2(code, 1+IMM2_SIZE, count); - code += 1+2*IMM2_SIZE; - break; - } + /* The failed case is an internal error. */ + if (!PRIV(compile_find_dupname_details)(ng->name, ng->length, &index, + &count, errorcodeptr, cb)) return 0; /* A duplicated name was found. Note that if an R name is found (META_COND_RNUMBER), it is a reference test, not a recursion test. */ - code[1+LINK_SIZE] = (meta == META_COND_RNAME)? OP_DNRREF : OP_DNCREF; + code[1 + LINK_SIZE] = (meta == META_COND_RNAME)? OP_DNRREF : OP_DNCREF; /* Insert appropriate data values. */ - skipunits = 1+2*IMM2_SIZE; - PUT2(code, 2+LINK_SIZE, index); - PUT2(code, 2+LINK_SIZE+IMM2_SIZE, count); + PUT2(code, 2 + LINK_SIZE, index); + PUT2(code, 2 + LINK_SIZE + IMM2_SIZE, count); + skipunits = 1 + 2 * IMM2_SIZE; + pptr += 1 + SIZEOFFSET; } - PCRE2_ASSERT(meta != META_SCS_NAME); + PCRE2_ASSERT(meta != META_CAPTURE_NAME); goto GROUP_PROCESS_NOTE_EMPTY; /* The DEFINE condition is always false. Its internal groups may never @@ -6599,12 +6805,8 @@ for (;; pptr++) /* Conditional test of a group's being set. */ case META_COND_NUMBER: - case META_SCS_NUMBER: bravalue = OP_COND; - if (meta == META_SCS_NUMBER) - offset += meta_arg; - else - GETPLUSOFFSET(offset, pptr); + GETPLUSOFFSET(offset, pptr); groupnumber = *(++pptr); if (groupnumber > cb->bracount) @@ -6615,14 +6817,6 @@ for (;; pptr++) } if (groupnumber > cb->top_backref) cb->top_backref = groupnumber; - if (meta == META_SCS_NUMBER) - { - code[0] = OP_CREF; - PUT2(code, 1, groupnumber); - code += 1+IMM2_SIZE; - break; - } - /* Point at initial ( for too many branches error */ offset -= 2; code[1+LINK_SIZE] = OP_CREF; @@ -6930,8 +7124,7 @@ for (;; pptr++) { int count, index; PCRE2_SPTR name; - BOOL is_dupname = FALSE; - named_group *ng = cb->named_groups; + named_group *ng; uint32_t length = *(++pptr); GETPLUSOFFSET(offset, pptr); @@ -6942,47 +7135,39 @@ for (;; pptr++) generated in the pre-pass in order to get a number and whether or not this name is duplicated. */ - groupnumber = 0; - for (unsigned int i = 0; i < cb->names_found; i++, ng++) - { - if (length == ng->length && - PRIV(strncmp)(name, ng->name, length) == 0) - { - is_dupname = ng->isdup; - groupnumber = ng->number; - - /* For a recursion, that's all that is needed. We can now go to - the code that handles numerical recursion, applying it to the first - group with the given name. */ - - if (meta == META_RECURSE_BYNAME) - { - meta_arg = groupnumber; - goto HANDLE_NUMERICAL_RECURSION; - } - - /* For a back reference, update the back reference map and the - maximum back reference. */ - - cb->backref_map |= (groupnumber < 32)? (1u << groupnumber) : 1; - if (groupnumber > cb->top_backref) - cb->top_backref = groupnumber; - } - } - - /* If the name was not found we have a bad reference. */ - - if (groupnumber == 0) + ng = PRIV(compile_find_named_group)(name, length, cb); + + if (ng == NULL) { + /* If the name was not found we have a bad reference. */ *errorcodeptr = ERR15; cb->erroroffset = offset; return 0; } + groupnumber = ng->number; + + /* For a recursion, that's all that is needed. We can now go to + the code that handles numerical recursion, applying it to the first + group with the given name. */ + + if (meta == META_RECURSE_BYNAME) + { + meta_arg = groupnumber; + goto HANDLE_NUMERICAL_RECURSION; + } + + /* For a back reference, update the back reference map and the + maximum back reference. */ + + cb->backref_map |= (groupnumber < 32)? (1u << groupnumber) : 1; + if (groupnumber > cb->top_backref) + cb->top_backref = groupnumber; + /* If a back reference name is not duplicated, we can handle it as a numerical reference. */ - if (!is_dupname) + if ((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) == 0) { meta_arg = groupnumber; goto HANDLE_SINGLE_REFERENCE; @@ -6994,8 +7179,8 @@ for (;; pptr++) count = 0; /* Values for first pass (avoids compiler warning) */ index = 0; - if (lengthptr == NULL && !find_dupname_details(name, length, &index, - &count, errorcodeptr, cb)) return 0; + if (lengthptr == NULL && !PRIV(compile_find_dupname_details)(name, length, + &index, &count, errorcodeptr, cb)) return 0; if (firstcuflags == REQ_UNSET) firstcuflags = REQ_NONE; *code++ = ((options & PCRE2_CASELESS) != 0)? OP_DNREFI : OP_DNREF; @@ -7279,6 +7464,7 @@ for (;; pptr++) if (repeat_min > 0 && (repeat_min != 1 || repeat_max != REPEAT_UNLIMITED)) { int replicate = repeat_min; + if (repeat_min == repeat_max) replicate--; /* In the pre-compile phase, we don't actually do the replication. We @@ -7288,7 +7474,7 @@ for (;; pptr++) if (lengthptr != NULL) { PCRE2_SIZE delta; - if (PRIV(ckd_smul)(&delta, replicate, 1 + LINK_SIZE) || + if (PRIV(ckd_smul)(&delta, replicate, (int)length_prevgroup) || OFLOW_MAX - *lengthptr < delta) { *errorcodeptr = ERR20; @@ -7296,12 +7482,11 @@ for (;; pptr++) } *lengthptr += delta; } - else for (int i = 0; i < replicate; i++) { - memcpy(code, previous, CU2BYTES(1 + LINK_SIZE)); + memcpy(code, previous, CU2BYTES(length_prevgroup)); previous = code; - code += 1 + LINK_SIZE; + code += length_prevgroup; } /* If the number of repeats is fixed, we are done. Otherwise, adjust @@ -7313,18 +7498,21 @@ for (;; pptr++) } /* Wrap the recursion call in OP_BRA brackets. */ + { + PCRE2_SIZE length = (lengthptr != NULL) ? 1 + LINK_SIZE : length_prevgroup; - (void)memmove(previous + 1 + LINK_SIZE, previous, CU2BYTES(1 + LINK_SIZE)); - op_previous = *previous = OP_BRA; - PUT(previous, 1, 2 + 2*LINK_SIZE); - previous[2 + 2*LINK_SIZE] = OP_KET; - PUT(previous, 3 + 2*LINK_SIZE, 2 + 2*LINK_SIZE); + (void)memmove(previous + 1 + LINK_SIZE, previous, CU2BYTES(length)); + op_previous = *previous = OP_BRA; + PUT(previous, 1, 1 + LINK_SIZE + length); + previous[1 + LINK_SIZE + length] = OP_KET; + PUT(previous, 2 + LINK_SIZE + length, 1 + LINK_SIZE + length); + } code += 2 + 2 * LINK_SIZE; - length_prevgroup = 3 + 3*LINK_SIZE; + length_prevgroup += 2 + 2 * LINK_SIZE; group_return = -1; /* Set "may match empty string" */ /* Now treat as a repeated OP_BRA. */ - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* If previous was a bracket group, we may have to replicate it in certain cases. Note that at this point we can encounter only the "basic" @@ -7664,13 +7852,16 @@ for (;; pptr++) here because it just makes it horribly messy. */ default: + + /* LCOV_EXCL_START */ if (op_previous >= OP_EODN || op_previous <= OP_WORD_BOUNDARY) { PCRE2_DEBUG_UNREACHABLE(); *errorcodeptr = ERR10; /* Not a character type - internal error */ return 0; } - else + /* LCOV_EXCL_STOP */ + { int prop_type, prop_value; PCRE2_UCHAR *oldcode; @@ -7993,6 +8184,52 @@ for (;; pptr++) *code = OP_RECURSE; PUT(code, 1, meta_arg); code += 1 + LINK_SIZE; + /* Repeat processing requires this information to + determine the real length in pre-compile phase. */ + length_prevgroup = 1 + LINK_SIZE; + + if (META_CODE(pptr[1]) == META_OFFSET || + META_CODE(pptr[1]) == META_CAPTURE_NAME || + META_CODE(pptr[1]) == META_CAPTURE_NUMBER) + { + recurse_arguments *args; + + if (lengthptr != NULL) + { + if (!PRIV(compile_parse_recurse_args)(pptr, offset, errorcodeptr, cb)) + return 0; + + args = (recurse_arguments*)cb->last_data; + length_prevgroup += (args->size * (1 + IMM2_SIZE)); + *lengthptr += (args->size * (1 + IMM2_SIZE)); + pptr += args->skip_size; + } + else + { + uint16_t *current, *end; + + args = (recurse_arguments*)cb->first_data; + PCRE2_ASSERT(args != NULL && args->header.type == CDATA_RECURSE_ARGS); + + current = (uint16_t*)(args + 1); + end = current + args->size; + PCRE2_ASSERT(end > current); + + do + { + code[0] = OP_CREF; + PUT2(code, 1, *current); + code += 1 + IMM2_SIZE; + } + while (++current < end); + + length_prevgroup += (args->size * (1 + IMM2_SIZE)); + pptr += args->skip_size; + cb->first_data = args->header.next; + cb->cx->memctl.free(args, cb->cx->memctl.memory_data); + } + } + groupsetfirstcu = FALSE; cb->had_recurse = TRUE; if (firstcuflags == REQ_UNSET) firstcuflags = REQ_NONE; @@ -8117,6 +8354,7 @@ for (;; pptr++) cb->external_flags |= PCRE2_HASBKC; /* Record */ #if PCRE2_CODE_UNIT_WIDTH == 32 meta_arg = OP_ALLANY; + (void)utf; /* Avoid compiler warning. */ #else if (!utf) meta_arg = OP_ALLANY; #endif @@ -8127,11 +8365,15 @@ for (;; pptr++) if ((options & PCRE2_UCP) != 0 && (xoptions & PCRE2_EXTRA_ASCII_BSW) == 0) meta_arg = (meta_arg == ESC_B)? OP_NOT_UCP_WORD_BOUNDARY : OP_UCP_WORD_BOUNDARY; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case ESC_A: if (cb->max_lookbehind == 0) cb->max_lookbehind = 1; break; + + case ESC_K: + cb->external_flags |= PCRE2_HASBSK; /* Record */ + break; } *code++ = meta_arg; @@ -8143,12 +8385,14 @@ for (;; pptr++) META_END is a literal. Otherwise we have a problem. */ default: + /* LCOV_EXCL_START */ if (meta >= META_END) { PCRE2_DEBUG_UNREACHABLE(); *errorcodeptr = ERR89; /* Internal error - unrecognized. */ return 0; } + /* LCOV_EXCL_STOP */ /* Handle a literal character. We come here by goto in the case of a 32-bit, non-UTF character whose value is greater than META_END. */ @@ -8280,8 +8524,10 @@ for (;; pptr++) } /* End of big switch */ } /* End of big loop */ +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ return 0; /* Avoid compiler warnings */ +/* LCOV_EXCL_STOP */ } @@ -8346,6 +8592,7 @@ if (cb->cx->stack_guard != NULL && cb->cx->stack_guard(cb->parens_depth, cb->cx->stack_guard_data)) { *errorcodeptr= ERR33; + cb->erroroffset = 0; return 0; } @@ -8587,8 +8834,10 @@ for (;;) pptr++; } +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ return 0; /* Avoid compiler warnings */ +/* LCOV_EXCL_STOP */ } @@ -9060,7 +9309,7 @@ do { case OP_EXACT: scode += IMM2_SIZE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CHAR: case OP_PLUS: @@ -9073,7 +9322,7 @@ do { case OP_EXACTI: scode += IMM2_SIZE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CHARI: case OP_PLUSI: @@ -9108,67 +9357,6 @@ return c; -/************************************************* -* Add an entry to the name/number table * -*************************************************/ - -/* This function is called between compiling passes to add an entry to the -name/number table, maintaining alphabetical order. Checking for permitted -and forbidden duplicates has already been done. - -Arguments: - cb the compile data block - name the name to add - length the length of the name - groupno the group number - tablecount the count of names in the table so far - -Returns: nothing -*/ - -static void -add_name_to_table(compile_block *cb, PCRE2_SPTR name, int length, - unsigned int groupno, uint32_t tablecount) -{ -uint32_t i; -PCRE2_UCHAR *slot = cb->name_table; - -for (i = 0; i < tablecount; i++) - { - int crc = memcmp(name, slot+IMM2_SIZE, CU2BYTES(length)); - if (crc == 0 && slot[IMM2_SIZE+length] != 0) - crc = -1; /* Current name is a substring */ - - /* Make space in the table and break the loop for an earlier name. For a - duplicate or later name, carry on. We do this for duplicates so that in the - simple case (when ?(| is not used) they are in order of their numbers. In all - cases they are in the order in which they appear in the pattern. */ - - if (crc < 0) - { - (void)memmove(slot + cb->name_entry_size, slot, - CU2BYTES((tablecount - i) * cb->name_entry_size)); - break; - } - - /* Continue the loop for a later or duplicate name */ - - slot += cb->name_entry_size; - } - -PUT2(slot, 0, groupno); -memcpy(slot + IMM2_SIZE, name, CU2BYTES(length)); - -/* Add a terminating zero and fill the rest of the slot with zeroes so that -the memory is all initialized. Otherwise valgrind moans about uninitialized -memory when saving serialized compiled patterns. */ - -memset(slot + IMM2_SIZE + length, 0, - CU2BYTES(cb->name_entry_size - length - IMM2_SIZE)); -} - - - /************************************************* * Skip in parsed pattern * *************************************************/ @@ -9210,13 +9398,14 @@ for (;; pptr++) if (meta < META_END) continue; /* Literal */ break; - case META_END: - /* The parsed regex is malformed; we have reached the end and did not find the end of the construct which we are skipping over. */ + /* LCOV_EXCL_START */ + case META_END: PCRE2_DEBUG_UNREACHABLE(); return NULL; + /* LCOV_EXCL_STOP */ /* The data for these items is variable in length. */ @@ -9281,7 +9470,9 @@ for (;; pptr++) pptr += meta_extra_lengths[meta]; } +/* LCOV_EXCL_START */ PCRE2_UNREACHABLE(); /* Control never reaches here */ +/* LCOV_EXCL_STOP */ } @@ -9566,36 +9757,30 @@ for (;; pptr++) case META_BACKREF_BYNAME: if ((cb->external_options & PCRE2_MATCH_UNSET_BACKREF) != 0) goto ISNOTFIXED; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case META_RECURSE_BYNAME: { - int i; PCRE2_SPTR name; BOOL is_dupname = FALSE; - named_group *ng = cb->named_groups; + named_group *ng; uint32_t meta_code = META_CODE(*pptr); uint32_t length = *(++pptr); GETPLUSOFFSET(offset, pptr); name = cb->start_pattern + offset; - for (i = 0; i < cb->names_found; i++, ng++) - { - if (length == ng->length && PRIV(strncmp)(name, ng->name, length) == 0) - { - group = ng->number; - is_dupname = ng->isdup; - break; - } - } + ng = PRIV(compile_find_named_group)(name, length, cb); - if (group == 0) + if (ng == NULL) { *errcodeptr = ERR15; /* Non-existent subpattern */ cb->erroroffset = offset; return -1; } + group = ng->number; + is_dupname = (ng->hash_dup & NAMED_GROUP_IS_DUPNAME) != 0; + /* A numerical back reference can be fixed length if duplicate capturing groups are not being used. A non-duplicate named back reference can also be handled. */ @@ -9621,7 +9806,7 @@ for (;; pptr++) goto RECURSE_OR_BACKREF_LENGTH; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* For groups >= 10 - picking up group twice does no harm. */ /* A true recursion implies not fixed length, but a subroutine call may @@ -9701,7 +9886,7 @@ for (;; pptr++) case META_CAPTURE: group = META_DATA(*pptr); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case META_ATOMIC: case META_NOCAPTURE: @@ -9748,7 +9933,7 @@ for (;; pptr++) else itemlength = (max - 1) * lastitemlength; break; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* Any other item means this branch does not have a fixed length. */ @@ -9783,10 +9968,12 @@ EXIT: *minptr = branchminlength; return branchlength; +/* LCOV_EXCL_START */ PARSED_SKIP_FAILED: PCRE2_DEBUG_UNREACHABLE(); *errcodeptr = ERR90; /* Unhandled META code - internal error */ return -1; +/* LCOV_EXCL_STOP */ } @@ -9922,15 +10109,16 @@ for (; *pptr != META_END; pptr++) switch (META_CODE(*pptr)) { - default: - /* The following erroroffset is a bogus but safe value. This branch should be avoided by providing a proper implementation for all supported cases below. */ + /* LCOV_EXCL_START */ + default: PCRE2_DEBUG_UNREACHABLE(); cb->erroroffset = 0; return ERR70; /* Unrecognized meta code */ + /* LCOV_EXCL_STOP */ case META_ESCAPE: if (*pptr - META_ESCAPE == ESC_P || *pptr - META_ESCAPE == ESC_p) @@ -10021,8 +10209,8 @@ for (; *pptr != META_END; pptr++) case META_BIGVALUE: case META_POSIX: case META_POSIX_NEG: - case META_SCS_NAME: - case META_SCS_NUMBER: + case META_CAPTURE_NAME: + case META_CAPTURE_NUMBER: pptr += 1; break; @@ -10093,8 +10281,9 @@ pcre2_real_code *re = NULL; /* What we will return */ compile_block cb; /* "Static" compile-time data */ const uint8_t *tables; /* Char tables base pointer */ +PCRE2_UCHAR null_str[1] = { 0xcd }; /* Dummy for handling null inputs */ PCRE2_UCHAR *code; /* Current pointer in compiled code */ -PCRE2_UCHAR * codestart; /* Start of compiled code */ +PCRE2_UCHAR *codestart; /* Start of compiled code */ PCRE2_SPTR ptr; /* Current pointer in pattern */ uint32_t *pptr; /* Current pointer in parsed pattern */ @@ -10141,7 +10330,16 @@ PCRE2_UCHAR *cworkspace = (PCRE2_UCHAR *)c16workspace; /* There must be error code and offset pointers. */ -if (errorptr == NULL || erroroffset == NULL) return NULL; +if (errorptr == NULL) + { + if (erroroffset != NULL) *erroroffset = 0; + return NULL; + } +if (erroroffset == NULL) + { + if (errorptr != NULL) *errorptr = ERR120; + return NULL; + } *errorptr = ERR0; *erroroffset = 0; @@ -10149,7 +10347,9 @@ if (errorptr == NULL || erroroffset == NULL) return NULL; if (pattern == NULL) { - if (patlen == 0) pattern = (PCRE2_SPTR)""; else + if (patlen == 0) + pattern = null_str; + else { *errorptr = ERR16; return NULL; @@ -10245,9 +10445,9 @@ cb.start_code = cworkspace; cb.start_pattern = pattern; cb.start_workspace = cworkspace; cb.workspace_size = COMPILE_WORK_SIZE; +cb.first_data = NULL; +cb.last_data = NULL; #ifdef SUPPORT_WIDE_CHARS -cb.cranges = NULL; -cb.next_cranges = NULL; cb.char_lists_size = 0; #endif @@ -10341,6 +10541,7 @@ if ((options & PCRE2_LITERAL) == 0) { errorcode = ERR60; ptr += pp; + utf = FALSE; /* Used by HAD_EARLY_ERROR */ goto HAD_EARLY_ERROR; } if (p->type == PSO_LIMH) limit_heap = c; @@ -10373,11 +10574,13 @@ if ((options & PCRE2_LITERAL) == 0) break; + /* LCOV_EXCL_START */ default: /* All values in the enum need an explicit entry for this switch but until a better way to prevent coding mistakes is invented keep a catch all that triggers a debug build assert as a failsafe */ PCRE2_DEBUG_UNREACHABLE(); + /* LCOV_EXCL_STOP */ } break; /* Out of the table scan loop */ } @@ -10500,10 +10703,12 @@ switch(newline) cb.nltype = NLTYPE_ANYCRLF; break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR56; goto HAD_EARLY_ERROR; + /* LCOV_EXCL_STOP */ } /* Pre-scan the pattern to do two things: (1) Discover the named groups and @@ -10632,6 +10837,7 @@ if (length > MAX_PATTERN_SIZE) #endif { errorcode = ERR20; + cb.erroroffset = 0; goto HAD_CB_ERROR; } @@ -10660,6 +10866,7 @@ re_blocksize += CU2BYTES(length); if (re_blocksize > ccontext->max_pattern_compiled_length) { errorcode = ERR101; + cb.erroroffset = 0; goto HAD_CB_ERROR; } @@ -10669,6 +10876,7 @@ re = (pcre2_real_code *) if (re == NULL) { errorcode = ERR21; + cb.erroroffset = 0; goto HAD_CB_ERROR; } @@ -10734,8 +10942,14 @@ created in the pre-pass. */ if (cb.names_found > 0) { named_group *ng = cb.named_groups; + uint32_t tablecount = 0; + + /* Length 0 represents duplicates, and they have already been handled. */ for (i = 0; i < cb.names_found; i++, ng++) - add_name_to_table(&cb, ng->name, ng->length, ng->number, i); + if (ng->length > 0) + tablecount = PRIV(compile_add_name_to_table)(&cb, ng, tablecount); + + PCRE2_ASSERT(tablecount == cb.names_found); } /* Set up a starting, non-extracting bracket, then compile the expression. On @@ -10767,18 +10981,20 @@ memory as unaddressable, so that any out-of-bound reads can be detected. */ *code++ = OP_END; usedlength = code - codestart; +/* LCOV_EXCL_START */ if (usedlength > length) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR23; /* Overflow of code block - internal error */ + cb.erroroffset = 0; + goto HAD_CB_ERROR; } -else - { - re->blocksize -= CU2BYTES(length - usedlength); +/* LCOV_EXCL_STOP */ + +re->blocksize -= CU2BYTES(length - usedlength); #ifdef SUPPORT_VALGRIND - VALGRIND_MAKE_MEM_NOACCESS(code, CU2BYTES(length - usedlength)); +VALGRIND_MAKE_MEM_NOACCESS(code, CU2BYTES(length - usedlength)); #endif - } /* Scan the pattern for recursion/subroutine calls and convert the group numbers into offsets. Maintain a small cache so that repeated groups containing @@ -10823,12 +11039,15 @@ if (errorcode == 0 && cb.had_recurse) if (rgroup == NULL) { rgroup = PRIV(find_bracket)(search_from, utf, groupnumber); + /* LCOV_EXCL_START */ if (rgroup == NULL) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR53; break; } + /* LCOV_EXCL_STOP */ + if (--start < 0) start = RSCAN_CACHE_SIZE - 1; rc[start].groupnumber = groupnumber; rc[start].group = rgroup; @@ -10858,11 +11077,15 @@ function call. */ if (errorcode == 0 && (optim_flags & PCRE2_OPTIM_AUTO_POSSESS) != 0) { PCRE2_UCHAR *temp = (PCRE2_UCHAR *)codestart; - if (PRIV(auto_possessify)(temp, &cb) != 0) + int possessify_rc = PRIV(auto_possessify)(temp, &cb); + /* LCOV_EXCL_START */ + if (possessify_rc != 0) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR80; + cb.erroroffset = 0; } + /* LCOV_EXCL_STOP */ } /* Failed to compile, or error while post-processing. */ @@ -10892,6 +11115,7 @@ unit. */ if ((optim_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) { int minminlength = 0; /* For minimal minlength from first/required CU */ + int study_rc; /* If we do not have a first code unit, see if there is one that is asserted (these are not saved during the compile because they can cause conflicts with @@ -11015,12 +11239,16 @@ if ((optim_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) /* Study the compiled pattern to set up information such as a bitmap of starting code units and a minimum matching length. */ - if (PRIV(study)(re) != 0) + study_rc = PRIV(study)(re); + /* LCOV_EXCL_START */ + if (study_rc != 0) { PCRE2_DEBUG_UNREACHABLE(); errorcode = ERR31; + cb.erroroffset = 0; goto HAD_CB_ERROR; } + /* LCOV_EXCL_STOP */ /* If study() set a bitmap of starting code units, it implies a minimum length of at least one. */ @@ -11041,7 +11269,8 @@ groups if a larger one had to be obtained, and likewise the group information vector. */ #ifdef SUPPORT_UNICODE -PCRE2_ASSERT(cb.cranges == NULL); +/* All items must be freed. */ +PCRE2_ASSERT(cb.first_data == NULL); #endif EXIT: @@ -11067,8 +11296,22 @@ HAD_CB_ERROR: ptr = pattern + cb.erroroffset; HAD_EARLY_ERROR: -PCRE2_ASSERT(ptr >= pattern); /* Ensure we don't return invalid erroroffset */ +/* Ensure we don't return out-of-range erroroffset. */ +PCRE2_ASSERT(ptr >= pattern); PCRE2_ASSERT(ptr <= (pattern + patlen)); +/* Ensure that the erroroffset never slices a UTF-encoded character in half. +If the input is invalid, then we return an offset just before the first invalid +character, so the text to the left of the offset must always be valid. */ +#if defined PCRE2_DEBUG && defined SUPPORT_UNICODE +if (ptr > pattern && utf) + { + PCRE2_SPTR prev = ptr - 1; + PCRE2_SIZE dummyoffset; + BACKCHAR(prev); + PCRE2_ASSERT(prev >= pattern); + PCRE2_ASSERT(PRIV(valid_utf)(prev, ptr - prev, &dummyoffset) == 0); + } +#endif *erroroffset = ptr - pattern; HAD_ERROR: @@ -11076,19 +11319,18 @@ HAD_ERROR: pcre2_code_free(re); re = NULL; -#ifdef SUPPORT_WIDE_CHARS -if (cb.cranges != NULL) +if (cb.first_data != NULL) { - class_ranges* cranges = cb.cranges; + compile_data* current_data = cb.first_data; do { - class_ranges* next_cranges = cranges->next; - cb.cx->memctl.free(cranges, cb.cx->memctl.memory_data); - cranges = next_cranges; + compile_data* next_data = current_data->next; + cb.cx->memctl.free(current_data, cb.cx->memctl.memory_data); + current_data = next_data; } - while (cranges != NULL); + while (current_data != NULL); } -#endif + goto EXIT; } diff --git a/libpcre/src/pcre2_compile.h b/libpcre/src/pcre2_compile.h index c8bf610be..331ca3ad3 100644 --- a/libpcre/src/pcre2_compile.h +++ b/libpcre/src/pcre2_compile.h @@ -51,18 +51,18 @@ pcre2.h.in must be updated - their values are exactly 100 greater than these values. */ enum { ERR0 = COMPILE_ERROR_BASE, - ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9, ERR10, - ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17, ERR18, ERR19, ERR20, - ERR21, ERR22, ERR23, ERR24, ERR25, ERR26, ERR27, ERR28, ERR29, ERR30, - ERR31, ERR32, ERR33, ERR34, ERR35, ERR36, ERR37, ERR38, ERR39, ERR40, - ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47, ERR48, ERR49, ERR50, - ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59, ERR60, - ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69, ERR70, - ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERR77, ERR78, ERR79, ERR80, - ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERR87, ERR88, ERR89, ERR90, - ERR91, ERR92, ERR93, ERR94, ERR95, ERR96, ERR97, ERR98, ERR99, ERR100, - ERR101,ERR102,ERR103,ERR104,ERR105,ERR106,ERR107,ERR108,ERR109,ERR110, - ERR111,ERR112,ERR113,ERR114,ERR115,ERR116 }; + ERR1, ERR2, ERR3, ERR4, ERR5, ERR6, ERR7, ERR8, ERR9, ERR10, + ERR11, ERR12, ERR13, ERR14, ERR15, ERR16, ERR17, ERR18, ERR19, ERR20, + ERR21, ERR22, ERR23, ERR24, ERR25, ERR26, ERR27, ERR28, ERR29, ERR30, + ERR31, ERR32, ERR33, ERR34, ERR35, ERR36, ERR37, ERR38, ERR39, ERR40, + ERR41, ERR42, ERR43, ERR44, ERR45, ERR46, ERR47, ERR48, ERR49, ERR50, + ERR51, ERR52, ERR53, ERR54, ERR55, ERR56, ERR57, ERR58, ERR59, ERR60, + ERR61, ERR62, ERR63, ERR64, ERR65, ERR66, ERR67, ERR68, ERR69, ERR70, + ERR71, ERR72, ERR73, ERR74, ERR75, ERR76, ERR77, ERR78, ERR79, ERR80, + ERR81, ERR82, ERR83, ERR84, ERR85, ERR86, ERR87, ERR88, ERR89, ERR90, + ERR91, ERR92, ERR93, ERR94, ERR95, ERR96, ERR97, ERR98, ERR99, ERR100, + ERR101, ERR102, ERR103, ERR104, ERR105, ERR106, ERR107, ERR108, ERR109, ERR110, + ERR111, ERR112, ERR113, ERR114, ERR115, ERR116, ERR117, ERR118, ERR119, ERR120 }; /* Code values for parsed patterns, which are stored in a vector of 32-bit unsigned ints. Values less than META_END are literal data values. The coding @@ -96,11 +96,11 @@ code (meta_extra_lengths) must be updated to remain in step. */ #define META_COND_RNAME 0x80130000u /* (?(R&name)... */ #define META_COND_RNUMBER 0x80140000u /* (?(Rdigits)... */ #define META_COND_VERSION 0x80150000u /* (?(VERSIONx.y)... */ -#define META_OFFSET 0x80160000u /* Setting offset for various - META codes (e.g. META_SCS_NAME) */ +#define META_OFFSET 0x80160000u /* Setting offset for various META + codes (e.g. META_CAPTURE_NAME) */ #define META_SCS 0x80170000u /* (*scan_substring:... */ -#define META_SCS_NAME 0x80180000u /* Next of scan_substring */ -#define META_SCS_NUMBER 0x80190000u /* Next digits of scan_substring */ +#define META_CAPTURE_NAME 0x80180000u /* Next in capture lists */ +#define META_CAPTURE_NUMBER 0x80190000u /* Next digits in capture lists */ #define META_DOLLAR 0x801a0000u /* $ metacharacter */ #define META_DOT 0x801b0000u /* . metacharacter */ #define META_ESCAPE 0x801c0000u /* \d and friends */ @@ -186,6 +186,36 @@ therefore no need for it to have a length entry, so use a high value. */ #define META_DATA(x) (x & 0x0000ffffu) #define META_DIFF(x,y) ((x-y)>>16) +/* Macros to store and retrieve a PCRE2_SIZE value in the parsed pattern, which +consists of uint32_t elements. Assume that if uint32_t can't hold it, two of +them will be able to (i.e. assume a 64-bit world). */ + +#if PCRE2_SIZE_MAX <= UINT32_MAX +#define PUTOFFSET(s,p) *p++ = s +#define GETOFFSET(s,p) s = *p++ +#define GETPLUSOFFSET(s,p) s = *(++p) +#define READPLUSOFFSET(s,p) s = p[1] +#define SKIPOFFSET(p) p++ +#define SIZEOFFSET 1 +#else +#define PUTOFFSET(s,p) \ + { *p++ = (uint32_t)(s >> 32); *p++ = (uint32_t)(s & 0xffffffff); } +#define GETOFFSET(s,p) \ + { s = ((PCRE2_SIZE)p[0] << 32) | (PCRE2_SIZE)p[1]; p += 2; } +#define GETPLUSOFFSET(s,p) \ + { s = ((PCRE2_SIZE)p[1] << 32) | (PCRE2_SIZE)p[2]; p += 2; } +#define READPLUSOFFSET(s,p) \ + { s = ((PCRE2_SIZE)p[1] << 32) | (PCRE2_SIZE)p[2]; } +#define SKIPOFFSET(p) p += 2 +#define SIZEOFFSET 2 +#endif + +#ifdef PCRE2_DEBUG +/* Compile data types. */ +#define CDATA_RECURSE_ARGS 0 /* Argument list for recurse */ +#define CDATA_CRANGE 1 /* Character range list */ +#endif + /* Extended class management flags. */ #define CLASS_IS_ECLASS 0x1 @@ -236,10 +266,16 @@ typedef struct { /* Macros for the definitions below, to prevent name collisions. */ -#define _pcre2_posix_class_maps PCRE2_SUFFIX(_pcre2_posix_class_maps) -#define _pcre2_update_classbits PCRE2_SUFFIX(_pcre2_update_classbits_) -#define _pcre2_compile_class_nested PCRE2_SUFFIX(_pcre2_compile_class_nested_) -#define _pcre2_compile_class_not_nested PCRE2_SUFFIX(_pcre2_compile_class_not_nested_) +#define _pcre2_posix_class_maps PCRE2_SUFFIX(_pcre2_posix_class_maps) +#define _pcre2_update_classbits PCRE2_SUFFIX(_pcre2_update_classbits_) +#define _pcre2_compile_class_nested PCRE2_SUFFIX(_pcre2_compile_class_nested_) +#define _pcre2_compile_class_not_nested PCRE2_SUFFIX(_pcre2_compile_class_not_nested_) +#define _pcre2_compile_get_hash_from_name PCRE2_SUFFIX(_pcre2_compile_get_hash_from_name) +#define _pcre2_compile_find_named_group PCRE2_SUFFIX(_pcre2_compile_find_named_group) +#define _pcre2_compile_find_dupname_details PCRE2_SUFFIX(_pcre2_compile_find_dupname_details) +#define _pcre2_compile_add_name_to_table PCRE2_SUFFIX(_pcre2_compile_add_name_to_table) +#define _pcre2_compile_parse_scan_substr_args PCRE2_SUFFIX(_pcre2_compile_parse_scan_substr_args) +#define _pcre2_compile_parse_recurse_args PCRE2_SUFFIX(_pcre2_compile_parse_recurse_args) /* Indices of the POSIX classes in posix_names, posix_name_lengths, @@ -253,6 +289,14 @@ posix_class_maps, and posix_substitutes. They must be kept in sync. */ extern const int PRIV(posix_class_maps)[]; +/* Defines for hash_dup member in named_group structure. */ + +#define NAMED_GROUP_HASH_MASK ((uint16_t)0x7fff) +#define NAMED_GROUP_IS_DUPNAME ((uint16_t)0x8000) + +#define NAMED_GROUP_GET_HASH(ng) ((ng)->hash_dup & NAMED_GROUP_HASH_MASK) + +/* Exported functions from pcre2_compile_class.c file: */ /* Set bits in classbits according to the property type */ @@ -275,6 +319,38 @@ BOOL PRIV(compile_class_nested)(uint32_t options, uint32_t xoptions, uint32_t **pptr, PCRE2_UCHAR **pcode, int *errorcodeptr, compile_block *cb, PCRE2_SIZE *lengthptr); +/* Exported functions from pcre2_compile_cgroup.c file: */ + +/* Compute hash from a capture name. */ + +uint16_t PRIV(compile_get_hash_from_name)(PCRE2_SPTR name, uint32_t length); + +/* Get the descriptor of a known named capture. */ + +named_group *PRIV(compile_find_named_group)(PCRE2_SPTR name, + uint32_t length, compile_block *cb); + +/* Add entires to name table in alphabetical order. */ + +uint32_t PRIV(compile_add_name_to_table)(compile_block *cb, + named_group *ng, uint32_t tablecount); + +/* Searches the properties of duplicated names, and returns them +in indexptr and countptr. */ + +BOOL PRIV(compile_find_dupname_details)(PCRE2_SPTR name, uint32_t length, + int *indexptr, int *countptr, int *errorcodeptr, compile_block *cb); + +/* Parse the arguments of recurse operations. */ + +uint32_t * PRIV(compile_parse_scan_substr_args)(uint32_t *pptr, + int *errorcodeptr, compile_block *cb, PCRE2_SIZE *lengthptr); + +/* Parse the arguments of recurse operations. */ + +BOOL PRIV(compile_parse_recurse_args)(uint32_t *pptr_start, + PCRE2_SIZE offset, int *errorcodeptr, compile_block *cb); + #endif /* PCRE2_COMPILE_H_IDEMPOTENT_GUARD */ /* End of pcre2_compile.h */ diff --git a/libpcre/src/pcre2_compile_cgroup.c b/libpcre/src/pcre2_compile_cgroup.c new file mode 100644 index 000000000..ee0cd06b7 --- /dev/null +++ b/libpcre/src/pcre2_compile_cgroup.c @@ -0,0 +1,632 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2016-2024 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * 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. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. +----------------------------------------------------------------------------- +*/ + + +#include "pcre2_compile.h" + +/************************************************* +* Compute the hash code from a capture name * +*************************************************/ + +/* This function returns with a simple hash code +computed from the name of a capture group. + +Arguments: + name name of the capture group + length the length of the name + +Returns: hash code +*/ + +uint16_t +PRIV(compile_get_hash_from_name)(PCRE2_SPTR name, uint32_t length) +{ +uint16_t hash; + +PCRE2_ASSERT(length > 0); + +hash = (uint16_t)((name[0] & 0x7f) | ((name[length - 1] & 0xff) << 7)); +PCRE2_ASSERT(hash <= NAMED_GROUP_HASH_MASK); +return hash; +} + + +/************************************************* +* Get the descriptor of a known named capture * +*************************************************/ + +/* This function returns the descriptor in the +named group list of a known capture group. + +Arguments: + name name of the capture group + length the length of the name + +Returns: pointer to the descriptor when found, + NULL otherwise + */ + +named_group * +PRIV(compile_find_named_group)(PCRE2_SPTR name, + uint32_t length, compile_block *cb) +{ +uint16_t hash = PRIV(compile_get_hash_from_name)(name, length); +named_group *ng; +named_group *end = cb->named_groups + cb->names_found; + +for (ng = cb->named_groups; ng < end; ng++) + if (length == ng->length && hash == NAMED_GROUP_GET_HASH(ng) && + PRIV(strncmp)(name, ng->name, length) == 0) return ng; + +return NULL; +} + + +/************************************************* +* Add an entry to the name/number table * +*************************************************/ + +/* This function is called between compiling passes to add an entry to the +name/number table, maintaining alphabetical order. Checking for permitted +and forbidden duplicates has already been done. + +Arguments: + cb the compile data block + nb named group entry + tablecount the count of names in the table so far + +Returns: new tablecount +*/ + +uint32_t +PRIV(compile_add_name_to_table)(compile_block *cb, + named_group *ng, uint32_t tablecount) +{ +uint32_t i; +PCRE2_SPTR name = ng->name; +int length = ng->length; +uint32_t duplicate_count = 1; + +PCRE2_UCHAR *slot = cb->name_table; + +PCRE2_ASSERT(length > 0); + +if ((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) != 0) + { + named_group *ng_it; + named_group *end = cb->named_groups + cb->names_found; + + for (ng_it = ng + 1; ng_it < end; ng_it++) + if (ng_it->name == name) duplicate_count++; + } + +for (i = 0; i < tablecount; i++) + { + int crc = memcmp(name, slot + IMM2_SIZE, CU2BYTES(length)); + if (crc == 0 && slot[IMM2_SIZE + length] != 0) + crc = -1; /* Current name is a substring */ + + /* Make space in the table and break the loop for an earlier name. For a + duplicate or later name, carry on. We do this for duplicates so that in the + simple case (when ?(| is not used) they are in order of their numbers. In all + cases they are in the order in which they appear in the pattern. */ + + if (crc < 0) + { + (void)memmove(slot + cb->name_entry_size * duplicate_count, slot, + CU2BYTES((tablecount - i) * cb->name_entry_size)); + break; + } + + /* Continue the loop for a later or duplicate name */ + + slot += cb->name_entry_size; + } + +tablecount += duplicate_count; + +while (TRUE) + { + PUT2(slot, 0, ng->number); + memcpy(slot + IMM2_SIZE, name, CU2BYTES(length)); + + /* Add a terminating zero and fill the rest of the slot with zeroes so that + the memory is all initialized. Otherwise valgrind moans about uninitialized + memory when saving serialized compiled patterns. */ + + memset(slot + IMM2_SIZE + length, 0, + CU2BYTES(cb->name_entry_size - length - IMM2_SIZE)); + + if (--duplicate_count == 0) break; + + while (TRUE) + { + ++ng; + if (ng->name == name) break; + } + + slot += cb->name_entry_size; + } + +return tablecount; +} + + +/************************************************* +* Find details of duplicate group names * +*************************************************/ + +/* This is called from compile_branch() when it needs to know the index and +count of duplicates in the names table when processing named backreferences, +either directly, or as conditions. + +Arguments: + name points to the name + length the length of the name + indexptr where to put the index + countptr where to put the count of duplicates + errorcodeptr where to put an error code + cb the compile block + +Returns: TRUE if OK, FALSE if not, error code set +*/ + +BOOL +PRIV(compile_find_dupname_details)(PCRE2_SPTR name, uint32_t length, + int *indexptr, int *countptr, int *errorcodeptr, compile_block *cb) +{ +uint32_t i, groupnumber; +int count; +PCRE2_UCHAR *slot = cb->name_table; + +/* Find the first entry in the table */ + +for (i = 0; i < cb->names_found; i++) + { + if (PRIV(strncmp)(name, slot + IMM2_SIZE, length) == 0 && + slot[IMM2_SIZE + length] == 0) break; + slot += cb->name_entry_size; + } + +/* This should not occur, because this function is called only when we know we +have duplicate names. Give an internal error. */ + +/* LCOV_EXCL_START */ +if (i >= cb->names_found) + { + PCRE2_DEBUG_UNREACHABLE(); + *errorcodeptr = ERR53; + cb->erroroffset = name - cb->start_pattern; + return FALSE; + } +/* LCOV_EXCL_STOP */ + +/* Record the index and then see how many duplicates there are, updating the +backref map and maximum back reference as we do. */ + +*indexptr = i; +count = 0; + +for (;;) + { + count++; + groupnumber = GET2(slot, 0); + cb->backref_map |= (groupnumber < 32)? (1u << groupnumber) : 1; + if (groupnumber > cb->top_backref) cb->top_backref = groupnumber; + if (++i >= cb->names_found) break; + slot += cb->name_entry_size; + if (PRIV(strncmp)(name, slot + IMM2_SIZE, length) != 0 || + (slot + IMM2_SIZE)[length] != 0) break; + } + +*countptr = count; +return TRUE; +} + + +/* Process the capture list of scan substring and recurse +operations. Since at least one argument must be present, +a 0 return value represents error. */ + +static size_t +PRIV(compile_process_capture_list)(uint32_t *pptr, PCRE2_SIZE offset, + int *errorcodeptr, compile_block *cb) +{ +size_t i, size = 0; +named_group *ng; +PCRE2_SPTR name; +uint32_t length; +named_group *end = cb->named_groups + cb->names_found; + +while (TRUE) + { + ++pptr; + + switch (META_CODE(*pptr)) + { + case META_OFFSET: + GETPLUSOFFSET(offset, pptr); + continue; + + case META_CAPTURE_NAME: + offset += META_DATA(*pptr); + length = *(++pptr); + name = cb->start_pattern + offset; + + ng = PRIV(compile_find_named_group)(name, length, cb); + + if (ng == NULL) + { + *errorcodeptr = ERR15; + cb->erroroffset = offset; + return 0; + } + + if ((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) == 0) + { + pptr[-1] = META_CAPTURE_NUMBER; + pptr[0] = ng->number; + size++; + continue; + } + + /* Remains only for duplicated names. */ + pptr[-1] = META_CAPTURE_NAME; + pptr[0] = (uint32_t)(ng - cb->named_groups); + size++; + name = ng->name; + + while (++ng < end) + if (ng->name == name) size++; + continue; + + case META_CAPTURE_NUMBER: + offset += META_DATA(*pptr); + + i = *(++pptr); + if (i > cb->bracount) + { + *errorcodeptr = ERR15; + cb->erroroffset = offset; + return 0; + } + if (i > cb->top_backref) cb->top_backref = (uint16_t)i; + size++; + continue; + + default: + break; + } + + PCRE2_ASSERT(size > 0); + return size; + } +} + + +/******************************************************* +* Parse the arguments of scan substring operations * +********************************************************/ + +/* This function parses the arguments of scan substring operations. + +Arguments: + pptr_start points to the current parsed pattern pointer + offset argument starting offset in the pattern + errorcodeptr where to put an error code + cb the compile block + lengthptr NULL during the real compile phase + points to length accumulator during pre-compile phase + +Returns: TRUE if OK, FALSE if not, error code set +*/ + +uint32_t * +PRIV(compile_parse_scan_substr_args)(uint32_t *pptr, + int *errorcodeptr, compile_block *cb, PCRE2_SIZE *lengthptr) +{ +uint8_t *captures; +uint8_t *capture_ptr; +uint8_t bit; +PCRE2_SPTR name; +named_group *ng; +named_group *end = cb->named_groups + cb->names_found; +BOOL all_found; +size_t size; + +PCRE2_ASSERT(*pptr == META_OFFSET); +if (PRIV(compile_process_capture_list)(pptr - 1, 0, errorcodeptr, cb) == 0) + return NULL; + +/* Align to bytes. Since the highest capture can +be equal to bracount, +1 is added before the aligning. */ +size = (cb->bracount + 1 + 7) >> 3; +captures = (uint8_t*)cb->cx->memctl.malloc(size, cb->cx->memctl.memory_data); +if (captures == NULL) + { + *errorcodeptr = ERR21; + READPLUSOFFSET(cb->erroroffset, pptr); + return NULL; + } + +memset(captures, 0, size); + +while (TRUE) + { + switch (META_CODE(*pptr)) + { + case META_OFFSET: + pptr++; + SKIPOFFSET(pptr); + continue; + + case META_CAPTURE_NAME: + ng = cb->named_groups + pptr[1]; + PCRE2_ASSERT((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) != 0); + pptr += 2; + name = ng->name; + + all_found = TRUE; + do + { + if (ng->name != name) continue; + + capture_ptr = captures + (ng->number >> 3); + PCRE2_ASSERT(capture_ptr < captures + size); + bit = (uint8_t)(1 << (ng->number & 0x7)); + + if ((*capture_ptr & bit) == 0) + { + *capture_ptr |= bit; + all_found = FALSE; + } + } + while (++ng < end); + + if (!all_found) + { + *lengthptr += 1 + 2 * IMM2_SIZE; + continue; + } + + pptr[-2] = META_CAPTURE_NUMBER; + pptr[-1] = 0; + continue; + + case META_CAPTURE_NUMBER: + pptr += 2; + + capture_ptr = captures + (pptr[-1] >> 3); + PCRE2_ASSERT(capture_ptr < captures + size); + bit = (uint8_t)(1 << (pptr[-1] & 0x7)); + + if ((*capture_ptr & bit) != 0) + { + pptr[-1] = 0; + continue; + } + + *capture_ptr |= bit; + *lengthptr += 1 + IMM2_SIZE; + continue; + + default: + break; + } + + break; + } + +cb->cx->memctl.free(captures, cb->cx->memctl.memory_data); +return pptr - 1; +} + + +/* Implement heapsort heapify algorithm. */ + +static void do_heapify_u16(uint16_t *captures, size_t size, size_t i) +{ +size_t max; +size_t left; +size_t right; +uint16_t tmp; + +while (TRUE) + { + max = i; + left = (i << 1) + 1; + right = left + 1; + + if (left < size && captures[left] > captures[max]) max = left; + if (right < size && captures[right] > captures[max]) max = right; + if (i == max) return; + + tmp = captures[i]; + captures[i] = captures[max]; + captures[max] = tmp; + i = max; + } +} + + +/************************************************* +* Parse the arguments of recurse operations * +*************************************************/ + +/* This function parses the arguments of recurse operations. + +Arguments: + pptr_start the current parsed pattern pointer + offset argument starting offset in the pattern + errorcodeptr where to put an error code + cb the compile block + lengthptr NULL during the real compile phase + points to length accumulator during pre-compile phase + +Returns: TRUE if OK, FALSE if not, error code set +*/ + +BOOL +PRIV(compile_parse_recurse_args)(uint32_t *pptr_start, + PCRE2_SIZE offset, int *errorcodeptr, compile_block *cb) +{ +uint32_t *pptr = pptr_start; +size_t i, size; +PCRE2_SPTR name; +named_group *ng; +named_group *end = cb->named_groups + cb->names_found; +recurse_arguments *args; +uint16_t *captures; +uint16_t *current; +uint16_t *captures_end; +uint16_t tmp; + +/* Process all arguments, compute the required size. */ + +size = PRIV(compile_process_capture_list)(pptr, offset, errorcodeptr, cb); +if (size == 0) return FALSE; + +args = cb->cx->memctl.malloc( + sizeof(recurse_arguments) + size * sizeof(uint16_t), cb->cx->memctl.memory_data); + +if (args == NULL) + { + *errorcodeptr = ERR21; + cb->erroroffset = offset; + return FALSE; + } + +args->header.next = NULL; +#ifdef PCRE2_DEBUG +args->header.type = CDATA_RECURSE_ARGS; +#endif +args->size = size; + +/* Caching the pre-processed capture list. */ +if (cb->last_data != NULL) + cb->last_data->next = &args->header; +else + cb->first_data = &args->header; + +cb->last_data = &args->header; + +/* Create the capture list size. */ + +captures = (uint16_t*)(args + 1); + +while (TRUE) + { + ++pptr; + + switch (META_CODE(*pptr)) + { + case META_OFFSET: + SKIPOFFSET(pptr); + continue; + + case META_CAPTURE_NAME: + ng = cb->named_groups + *(++pptr); + PCRE2_ASSERT((ng->hash_dup & NAMED_GROUP_IS_DUPNAME) != 0); + *captures++ = (uint16_t)(ng->number); + + name = ng->name; + + while (++ng < end) + if (ng->name == name) *captures++ = (uint16_t)(ng->number); + continue; + + case META_CAPTURE_NUMBER: + *captures++ = *(++pptr); + continue; + + default: + break; + } + + break; + } + +PCRE2_ASSERT(size == (size_t)(captures - (uint16_t*)(args + 1))); +args->skip_size = (size_t)(pptr - pptr_start) - 1; + +if (size == 1) return TRUE; + +/* Sort captures. */ + +captures = (uint16_t*)(args + 1); +i = (size >> 1) - 1; +while (TRUE) + { + do_heapify_u16(captures, size, i); + if (i == 0) break; + i--; + } + +for (i = size - 1; i > 0; i--) + { + tmp = captures[0]; + captures[0] = captures[i]; + captures[i] = tmp; + + do_heapify_u16(captures, i, 0); + } + +/* Remove duplicates. */ + +captures_end = captures + size; +tmp = *captures++; +current = captures; + +while (current < captures_end) + { + if (*current != tmp) + { + tmp = *current; + *captures++ = tmp; + } + + current++; + } + +args->size = (size_t)(captures - (uint16_t*)(args + 1)); +return TRUE; +} + +/* End of pcre2_compile_cgroup.c */ diff --git a/libpcre/src/pcre2_compile_class.c b/libpcre/src/pcre2_compile_class.c index 6a73bb9a7..9a1fc022f 100644 --- a/libpcre/src/pcre2_compile_class.c +++ b/libpcre/src/pcre2_compile_class.c @@ -38,12 +38,11 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif #include "pcre2_compile.h" + + typedef struct { /* Option bits for eclass. */ uint32_t options; @@ -66,7 +65,7 @@ b) none of the cases here: #define CLASS_END_CASES(meta) \ default: \ PCRE2_ASSERT((meta) <= META_END); \ - /* Fall through */ \ + PCRE2_FALLTHROUGH /* Fall through */ \ case META_CLASS: \ case META_CLASS_NOT: \ case META_CLASS_EMPTY: \ @@ -525,6 +524,9 @@ if (xoptions & PCRE2_EXTRA_CASELESS_RESTRICT) if (xoptions & PCRE2_EXTRA_TURKISH_CASING) class_options |= PARSE_CLASS_TURKISH_UTF; +#else +(void)options; /* Avoid compiler warning. */ +(void)xoptions; /* Avoid compiler warning. */ #endif /* Compute required space for the range. */ @@ -543,7 +545,10 @@ cranges = cb->cx->memctl.malloc( if (cranges == NULL) return NULL; -cranges->next = NULL; +cranges->header.next = NULL; +#ifdef PCRE2_DEBUG +cranges->header.type = CDATA_CRANGE; +#endif cranges->range_list_size = (uint16_t)range_list_size; cranges->char_lists_types = 0; cranges->char_lists_size = 0; @@ -905,6 +910,10 @@ uint8_t *classbits = cb->classbits.classbits; uint32_t c, byte_start, byte_end; uint32_t classbits_end = (end <= 0xff ? end : 0xff); +#ifndef SUPPORT_UNICODE +(void)xoptions; /* Avoid compiler warning. */ +#endif + /* If caseless matching is required, scan the range and process alternate cases. In Unicode, there are 8-bit characters that have alternate cases that are greater than 255 and vice-versa (though these may be ignored if caseless @@ -1080,6 +1089,10 @@ BOOL utf = FALSE; uint32_t xclass_props; PCRE2_UCHAR *class_uchardata; class_ranges* cranges; +#else +(void)has_bitmap; /* Avoid compiler warning. */ +(void)errorcodeptr; /* Avoid compiler warning. */ +(void)lengthptr; /* Avoid compiler warning. */ #endif /* If an XClass contains a negative special such as \S, we need to flip the @@ -1112,19 +1125,19 @@ if (utf) } /* Caching the pre-processed character ranges. */ - if (cb->next_cranges != NULL) - cb->next_cranges->next = cranges; + if (cb->last_data != NULL) + cb->last_data->next = &cranges->header; else - cb->cranges = cranges; + cb->first_data = &cranges->header; - cb->next_cranges = cranges; + cb->last_data = &cranges->header; } else { /* Reuse the pre-processed character ranges. */ - cranges = cb->cranges; - PCRE2_ASSERT(cranges != NULL); - cb->cranges = cranges->next; + cranges = (class_ranges*)cb->first_data; + PCRE2_ASSERT(cranges != NULL && cranges->header.type == CDATA_CRANGE); + cb->first_data = cranges->header.next; } if (cranges->range_list_size > 0) @@ -1270,8 +1283,23 @@ while (TRUE) value of 1 removes vertical space and 2 removes underscore. */ if (tabopt < 0) tabopt = -tabopt; +#ifdef EBCDIC + { + uint8_t posix_vertical[4] = { CHAR_LF, CHAR_VT, CHAR_FF, CHAR_CR }; + uint8_t posix_underscore = CHAR_UNDERSCORE; + uint8_t *chars = NULL; + int n = 0; + + if (tabopt == 1) { chars = posix_vertical; n = 4; } + else if (tabopt == 2) { chars = &posix_underscore; n = 1; } + + for (; n > 0; ++chars, --n) + pbits.classbits[*chars/8] &= ~(1u << (*chars&7)); + } +#else if (tabopt == 1) pbits.classbits[1] &= ~0x3c; - else if (tabopt == 2) pbits.classbits[11] &= 0x7f; + else if (tabopt == 2) pbits.classbits[11] &= 0x7f; +#endif /* Add the POSIX table or its complement into the main table that is being built and we are done. */ @@ -2079,9 +2107,11 @@ switch (op) lhs_op_info->bits.classwords[i] ^= rhs_op_info->bits.classwords[i]; break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); break; + /* LCOV_EXCL_STOP */ } } @@ -2141,7 +2171,7 @@ switch (meta) } ptr++; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ default: /* Scan forward characters, ranges, and properties. @@ -2158,11 +2188,13 @@ switch (meta) /* We must have a 100% guarantee that ptr increases when compile_class_operand() returns, even on Release builds, so that we can statically prove our loops terminate. */ + /* LCOV_EXCL_START */ if (ptr <= prev_ptr) { PCRE2_DEBUG_UNREACHABLE(); return FALSE; } + /* LCOV_EXCL_STOP */ /* If we fell through above, consume the closing ']'. */ if (meta == META_CLASS || meta == META_CLASS_NOT) diff --git a/libpcre/src/pcre2_config.c b/libpcre/src/pcre2_config.c index 031981b09..045f6e78d 100644 --- a/libpcre/src/pcre2_config.c +++ b/libpcre/src/pcre2_config.c @@ -38,18 +38,11 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -/* Save the configured link size, which is in bytes. In 16-bit and 32-bit modes -its value gets changed by pcre2_intmodedep.h (included by pcre2_internal.h) to -be in code units. */ - -static int configured_link_size = LINK_SIZE; #include "pcre2_internal.h" + + /* These macros are the standard way of turning unquoted text into C strings. They allow macros like PCRE2_MAJOR to be defined without quotes, which is convenient for user programs that want to test their values. */ @@ -79,7 +72,7 @@ pcre2_config(uint32_t what, void *where) { if (where == NULL) /* Requests a length */ { - switch(what) + switch (what) { default: return PCRE2_ERROR_BADOPTION; @@ -87,6 +80,7 @@ if (where == NULL) /* Requests a length */ case PCRE2_CONFIG_BSR: case PCRE2_CONFIG_COMPILED_WIDTHS: case PCRE2_CONFIG_DEPTHLIMIT: + case PCRE2_CONFIG_EFFECTIVE_LINKSIZE: case PCRE2_CONFIG_HEAPLIMIT: case PCRE2_CONFIG_JIT: case PCRE2_CONFIG_LINKSIZE: @@ -124,13 +118,13 @@ switch (what) case PCRE2_CONFIG_COMPILED_WIDTHS: *((uint32_t *)where) = 0 #ifdef SUPPORT_PCRE2_8 - + 1 + + (1 << 0) #endif #ifdef SUPPORT_PCRE2_16 - + 2 + + (1 << 1) #endif #ifdef SUPPORT_PCRE2_32 - + 4 + + (1 << 2) #endif ; break; @@ -139,6 +133,10 @@ switch (what) *((uint32_t *)where) = MATCH_LIMIT_DEPTH; break; + case PCRE2_CONFIG_EFFECTIVE_LINKSIZE: + *((uint32_t *)where) = LINK_SIZE * sizeof(PCRE2_UCHAR); + break; + case PCRE2_CONFIG_HEAPLIMIT: *((uint32_t *)where) = HEAP_LIMIT; break; @@ -163,7 +161,7 @@ switch (what) #endif case PCRE2_CONFIG_LINKSIZE: - *((uint32_t *)where) = (uint32_t)configured_link_size; + *((uint32_t *)where) = (uint32_t)CONFIGURED_LINK_SIZE; break; case PCRE2_CONFIG_MATCHLIMIT: @@ -206,8 +204,7 @@ switch (what) #endif return (int)(1 + ((where == NULL)? strlen(v) : PRIV(strcpy_c8)((PCRE2_UCHAR *)where, v))); - } - break; + } case PCRE2_CONFIG_UNICODE: #if defined SUPPORT_UNICODE @@ -244,6 +241,7 @@ switch (what) return (int)(1 + ((where == NULL)? strlen(v) : PRIV(strcpy_c8)((PCRE2_UCHAR *)where, v))); } + } return 0; diff --git a/libpcre/src/pcre2_context.c b/libpcre/src/pcre2_context.c index 2345145d3..6246683df 100644 --- a/libpcre/src/pcre2_context.c +++ b/libpcre/src/pcre2_context.c @@ -39,10 +39,6 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" @@ -506,10 +502,7 @@ return 0; } /* These functions became obsolete at release 10.30. The first is kept as a -synonym for backwards compatibility. The second now does nothing. Exclude both -from coverage reports. */ - -/* LCOV_EXCL_START */ +synonym for backwards compatibility. The second now does nothing. */ PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_set_recursion_limit(pcre2_match_context *mcontext, uint32_t limit) @@ -529,8 +522,6 @@ pcre2_set_recursion_memory_management(pcre2_match_context *mcontext, return 0; } -/* LCOV_EXCL_STOP */ - /* ------------ Convert context ------------ */ @@ -543,10 +534,20 @@ ccontext->glob_separator = separator; return 0; } +static const char *globpunct = + STR_EXCLAMATION_MARK STR_QUOTATION_MARK STR_NUMBER_SIGN STR_DOLLAR_SIGN + STR_PERCENT_SIGN STR_AMPERSAND STR_APOSTROPHE STR_LEFT_PARENTHESIS + STR_RIGHT_PARENTHESIS STR_ASTERISK STR_PLUS STR_COMMA STR_MINUS STR_DOT + STR_SLASH STR_COLON STR_SEMICOLON STR_LESS_THAN_SIGN STR_EQUALS_SIGN + STR_GREATER_THAN_SIGN STR_QUESTION_MARK STR_COMMERCIAL_AT + STR_LEFT_SQUARE_BRACKET STR_BACKSLASH STR_RIGHT_SQUARE_BRACKET + STR_CIRCUMFLEX_ACCENT STR_UNDERSCORE STR_GRAVE_ACCENT STR_LEFT_CURLY_BRACKET + STR_VERTICAL_LINE STR_RIGHT_CURLY_BRACKET STR_TILDE; + PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION pcre2_set_glob_escape(pcre2_convert_context *ccontext, uint32_t escape) { -if (escape > 255 || (escape != 0 && !ispunct(escape))) +if (escape > 255 || (escape != 0 && strchr(globpunct, escape) == NULL)) return PCRE2_ERROR_BADDATA; ccontext->glob_escape = escape; return 0; diff --git a/libpcre/src/pcre2_convert.c b/libpcre/src/pcre2_convert.c index d2b238ca4..ad7312ab7 100644 --- a/libpcre/src/pcre2_convert.c +++ b/libpcre/src/pcre2_convert.c @@ -39,12 +39,10 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + + #define TYPE_OPTIONS (PCRE2_CONVERT_GLOB| \ PCRE2_CONVERT_POSIX_BASIC|PCRE2_CONVERT_POSIX_EXTENDED) @@ -81,6 +79,16 @@ enum { POSIX_START_REGEX, POSIX_ANCHORED, POSIX_NOT_BRACKET, } \ } +/* Macro to check for lowercase characters. */ + +#ifdef EBCDIC +#define ISLOWER(c) (((c) >= CHAR_a && (c) <= CHAR_i) || \ + ((c) >= CHAR_j && (c) <= CHAR_r) || \ + ((c) >= CHAR_s && (c) <= CHAR_z)) +#else +#define ISLOWER(c) ((c) >= CHAR_a && (c) <= CHAR_z) +#endif + /* Literals that must be escaped: \ ? * + | . ^ $ { } [ ] ( ) */ static const char *pcre2_escaped_literals = @@ -97,6 +105,24 @@ static const char *posix_meta_escapes = STR_LEFT_CURLY_BRACKET STR_RIGHT_CURLY_BRACKET STR_1 STR_2 STR_3 STR_4 STR_5 STR_6 STR_7 STR_8 STR_9; +/* Recognized POSIX classes, colon-separated. */ + +static const char *posix_classes = + STR_a STR_l STR_p STR_h STR_a STR_COLON + STR_l STR_o STR_w STR_e STR_r STR_COLON + STR_u STR_p STR_p STR_e STR_r STR_COLON + STR_a STR_l STR_n STR_u STR_m STR_COLON + STR_a STR_s STR_c STR_i STR_i STR_COLON + STR_b STR_l STR_a STR_n STR_k STR_COLON + STR_c STR_n STR_t STR_r STR_l STR_COLON + STR_d STR_i STR_g STR_i STR_t STR_COLON + STR_g STR_r STR_a STR_p STR_h STR_COLON + STR_p STR_r STR_i STR_n STR_t STR_COLON + STR_p STR_u STR_n STR_c STR_t STR_COLON + STR_s STR_p STR_a STR_c STR_e STR_COLON + STR_w STR_o STR_r STR_d STR_COLON + STR_x STR_d STR_i STR_g STR_i STR_t STR_COLON; + /************************************************* @@ -190,7 +216,7 @@ while (plength > 0) switch (posix_state) { case POSIX_CLASS_STARTED: - if (c <= 127 && islower(c)) break; /* Remain in started state */ + if (ISLOWER(c)) break; /* Remain in started state */ posix_state = POSIX_CLASS_NOT_STARTED; if (c == CHAR_COLON && plength > 0 && *posix == CHAR_RIGHT_SQUARE_BRACKET) @@ -200,7 +226,7 @@ while (plength > 0) posix++; continue; /* With next character after :] */ } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case POSIX_CLASS_NOT_STARTED: if (c == CHAR_LEFT_SQUARE_BRACKET) @@ -277,9 +303,9 @@ while (plength > 0) if (plength == 0) return PCRE2_ERROR_END_BACKSLASH; if (extended) nextisliteral = TRUE; else { - if (*posix < 127 && strchr(posix_meta_escapes, *posix) != NULL) + if (*posix < 255 && strchr(posix_meta_escapes, *posix) != NULL) { - if (isdigit(*posix)) PUTCHARS(STR_BACKSLASH); + if (*posix >= CHAR_0 && *posix <= CHAR_9) PUTCHARS(STR_BACKSLASH); if (p + 1 > endp) return PCRE2_ERROR_NOMEMORY; lastspecial = *p++ = *posix++; plength--; @@ -295,7 +321,7 @@ while (plength > 0) case CHAR_LEFT_PARENTHESIS: bracount++; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case CHAR_QUESTION_MARK: case CHAR_PLUS: @@ -303,7 +329,7 @@ while (plength > 0) case CHAR_RIGHT_CURLY_BRACKET: case CHAR_VERTICAL_LINE: if (!extended) goto ESCAPE_LITERAL; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case CHAR_DOT: case CHAR_DOLLAR_SIGN: @@ -332,10 +358,10 @@ while (plength > 0) posix_state = POSIX_ANCHORED; goto COPY_SPECIAL; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ default: - if (c < 128 && strchr(pcre2_escaped_literals, c) != NULL) + if (c < 255 && strchr(pcre2_escaped_literals, c) != NULL) { ESCAPE_LITERAL: PUTCHARS(STR_BACKSLASH); @@ -474,8 +500,6 @@ static int convert_glob_parse_class(PCRE2_SPTR *from, PCRE2_SPTR pattern_end, pcre2_output_context *out) { -static const char *posix_classes = "alnum:alpha:ascii:blank:cntrl:digit:" - "graph:lower:print:punct:space:upper:word:xdigit:"; PCRE2_SPTR start = *from + 1; PCRE2_SPTR pattern = start; const char *class_ptr; @@ -500,7 +524,7 @@ class_index = 1; while (TRUE) { - if (*class_ptr == CHAR_NUL) return 0; + if (*class_ptr == 0) return 0; pattern = start; @@ -539,31 +563,61 @@ Returns: !0 => character is found in the class static BOOL convert_glob_char_in_class(int class_index, PCRE2_UCHAR c) { +const uint8_t *cbits = PRIV(default_tables) + cbits_offset; +int cbit; + #if PCRE2_CODE_UNIT_WIDTH != 8 if (c > 0xff) { - /* ctype functions are not sane for c > 0xff */ - return 0; + /* Can't access the character tables for c > 0xff */ + return FALSE; } #endif +/* See posix_class_maps. This is a small local clone of that. +Note that we don't know exactly what character tables will be used at +match time, but, for the purposes of pattern conversion, it should be +sufficient to use PCRE2's built-in default tables. */ + switch (class_index) { - case 1: return isalnum(c); - case 2: return isalpha(c); - case 3: return 1; - case 4: return c == CHAR_HT || c == CHAR_SPACE; - case 5: return iscntrl(c); - case 6: return isdigit(c); - case 7: return isgraph(c); - case 8: return islower(c); - case 9: return isprint(c); - case 10: return ispunct(c); - case 11: return isspace(c); - case 12: return isupper(c); - case 13: return isalnum(c) || c == CHAR_UNDERSCORE; - default: return isxdigit(c); + case 1: /* alpha */ + if (c == CHAR_UNDERSCORE) return FALSE; + if (((cbits + cbit_digit)[c/8] & (1u << (c&7))) != 0) return FALSE; + cbit = cbit_word; + break; + + case 2: cbit = cbit_lower; break; /* lower */ + case 3: cbit = cbit_upper; break; /* upper */ + + case 4: /* alnum */ + if (c == CHAR_UNDERSCORE) return FALSE; + cbit = cbit_word; + break; + + case 5: /* ascii */ + if (((cbits + cbit_cntrl)[c/8] & (1u << (c&7))) != 0) return TRUE; + cbit = cbit_print; + break; + + case 6: /* blank */ + if (c == CHAR_LF || c == CHAR_VT || c == CHAR_FF || c == CHAR_CR) + return FALSE; + cbit = cbit_space; + break; + + case 7: cbit = cbit_cntrl; break; /* cntrl */ + case 8: cbit = cbit_digit; break; /* digit */ + case 9: cbit = cbit_graph; break; /* graph */ + case 10: cbit = cbit_print; break; /* print */ + case 11: cbit = cbit_punct; break; /* punct */ + case 12: cbit = cbit_space; break; /* space */ + case 13: cbit = cbit_word; break; /* word */ + case 14: cbit = cbit_xdigit; break; /* xdigit */ + default: return FALSE; } + +return ((cbits + cbit)[c/8] & (1u << (c&7))) != 0; } /* Parse a range of characters. @@ -1005,7 +1059,7 @@ while (pattern < pattern_end) c = *pattern++; } - if (c < 128 && strchr(pcre2_escaped_literals, c) != NULL) + if (c < 255 && strchr(pcre2_escaped_literals, c) != NULL) convert_glob_write(&out, CHAR_BACKSLASH); convert_glob_write(&out, c); @@ -1065,13 +1119,21 @@ pcre2_pattern_convert(PCRE2_SPTR pattern, PCRE2_SIZE plength, uint32_t options, pcre2_convert_context *ccontext) { int rc; +PCRE2_UCHAR null_str[1] = { 0xcd }; PCRE2_UCHAR dummy_buffer[DUMMY_BUFFER_SIZE]; PCRE2_UCHAR *use_buffer = dummy_buffer; PCRE2_SIZE use_length = DUMMY_BUFFER_SIZE; BOOL utf = (options & PCRE2_CONVERT_UTF) != 0; uint32_t pattype = options & TYPE_OPTIONS; -if (pattern == NULL || bufflenptr == NULL) return PCRE2_ERROR_NULL; +if (pattern == NULL && plength == 0) + pattern = null_str; + +if (pattern == NULL || bufflenptr == NULL) + { + if (bufflenptr != NULL) *bufflenptr = 0; /* Error offset */ + return PCRE2_ERROR_NULL; + } if ((options & ~ALL_OPTIONS) != 0 || /* Undefined bit set */ (pattype & (~pattype+1)) != pattype || /* More than one type set */ @@ -1136,8 +1198,13 @@ for (int i = 0; i < 2; i++) bufflenptr, dummyrun, ccontext); break; + /* We have already validated pattype. */ + /* LCOV_EXCL_START */ default: - goto EXIT; + PCRE2_DEBUG_UNREACHABLE(); + *bufflenptr = 0; /* Error offset */ + return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } if (rc != 0 || /* Error */ @@ -1150,20 +1217,23 @@ for (int i = 0; i < 2; i++) allocated = PRIV(memctl_malloc)(sizeof(pcre2_memctl) + (*bufflenptr + 1)*PCRE2_CODE_UNIT_WIDTH, (pcre2_memctl *)ccontext); - if (allocated == NULL) return PCRE2_ERROR_NOMEMORY; + if (allocated == NULL) + { + *bufflenptr = 0; /* Error offset */ + return PCRE2_ERROR_NOMEMORY; + } *buffptr = (PCRE2_UCHAR *)(((char *)allocated) + sizeof(pcre2_memctl)); use_buffer = *buffptr; use_length = *bufflenptr + 1; } -/* Something went terribly wrong. Trigger an assert and return an error */ +/* Running the loop above ought to have succeeded the second time. */ +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); - -EXIT: - *bufflenptr = 0; /* Error offset */ return PCRE2_ERROR_INTERNAL; +/* LCOV_EXCL_STOP */ } diff --git a/libpcre/src/pcre2_dfa_match.c b/libpcre/src/pcre2_dfa_match.c index ebf31d284..f507acf8d 100644 --- a/libpcre/src/pcre2_dfa_match.c +++ b/libpcre/src/pcre2_dfa_match.c @@ -72,16 +72,14 @@ Overall, I concluded that the gains in some cases did not outweigh the losses in others, so I abandoned this code. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif +#include "pcre2_internal.h" + + #define NLBLOCK mb /* Block containing newline information */ #define PSSTART start_subject /* Field containing processed string start */ #define PSEND end_subject /* Field containing processed string end */ -#include "pcre2_internal.h" - #define PUBLIC_DFA_MATCH_OPTIONS \ (PCRE2_ANCHORED|PCRE2_ENDANCHORED|PCRE2_NOTBOL|PCRE2_NOTEOL|PCRE2_NOTEMPTY| \ PCRE2_NOTEMPTY_ATSTART|PCRE2_NO_UTF_CHECK|PCRE2_PARTIAL_HARD| \ @@ -2330,7 +2328,7 @@ for (;;) case 0x2029: #endif /* Not EBCDIC */ if (mb->bsr_convention == PCRE2_BSR_ANYCRLF) break; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case CHAR_LF: ADD_NEW(state_offset + 1, 0); @@ -2442,7 +2440,7 @@ for (;;) caseless = TRUE; codevalue -= OP_STARI - OP_STAR; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_PLUS: case OP_MINPLUS: case OP_POSPLUS: @@ -2486,7 +2484,7 @@ for (;;) case OP_NOTPOSQUERYI: caseless = TRUE; codevalue -= OP_STARI - OP_STAR; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_QUERY: case OP_MINQUERY: case OP_POSQUERY: @@ -2527,7 +2525,7 @@ for (;;) case OP_NOTPOSSTARI: caseless = TRUE; codevalue -= OP_STARI - OP_STAR; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_STAR: case OP_MINSTAR: case OP_POSSTAR: @@ -2564,7 +2562,7 @@ for (;;) case OP_NOTEXACTI: caseless = TRUE; codevalue -= OP_STARI - OP_STAR; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_EXACT: case OP_NOTEXACT: count = current_state->count; /* Number already matched */ @@ -2599,7 +2597,7 @@ for (;;) case OP_NOTPOSUPTOI: caseless = TRUE; codevalue -= OP_STARI - OP_STAR; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_UPTO: case OP_MINUPTO: case OP_POSUPTO: @@ -2941,6 +2939,9 @@ for (;;) uint32_t recno = (callpat == mb->start_code)? 0 : GET2(callpat, 1 + LINK_SIZE); + /* Argument list has not been supported yet. */ + if (code[1 + LINK_SIZE] == OP_CREF) return PCRE2_ERROR_DFA_UITEM; + if (rws->free < RWS_RSIZE + RWS_OVEC_RSIZE) { rc = more_workspace(&rws, RWS_OVEC_RSIZE, mb); @@ -3341,10 +3342,12 @@ pcre2_dfa_match(const pcre2_code *code, PCRE2_SPTR subject, PCRE2_SIZE length, pcre2_match_context *mcontext, int *workspace, PCRE2_SIZE wscount) { int rc; -int was_zero_terminated = 0; const pcre2_real_code *re = (const pcre2_real_code *)code; +uint32_t original_options = options; +PCRE2_UCHAR null_str[1] = { 0xcd }; +PCRE2_SPTR original_subject = subject; PCRE2_SPTR start_match; PCRE2_SPTR end_subject; PCRE2_SPTR bumpalong_limit; @@ -3386,44 +3389,46 @@ rws->free = RWS_BASE_SIZE - RWS_ANCHOR_SIZE; /* Recognize NULL, length 0 as an empty string. */ -if (subject == NULL && length == 0) subject = (PCRE2_SPTR)""; +if (subject == NULL && length == 0) subject = null_str; /* Plausibility checks */ -if ((options & ~PUBLIC_DFA_MATCH_OPTIONS) != 0) return PCRE2_ERROR_BADOPTION; -if (re == NULL || subject == NULL || workspace == NULL || match_data == NULL) - return PCRE2_ERROR_NULL; +if (match_data == NULL) return PCRE2_ERROR_NULL; +if (re == NULL || subject == NULL || workspace == NULL) + { rc = PCRE2_ERROR_NULL; goto EXIT; } +if ((options & ~PUBLIC_DFA_MATCH_OPTIONS) != 0) + { rc = PCRE2_ERROR_BADOPTION; goto EXIT; } if (length == PCRE2_ZERO_TERMINATED) { length = PRIV(strlen)(subject); - was_zero_terminated = 1; } -if (wscount < 20) return PCRE2_ERROR_DFA_WSSIZE; -if (start_offset > length) return PCRE2_ERROR_BADOFFSET; +if (wscount < 20) { rc = PCRE2_ERROR_DFA_WSSIZE; goto EXIT; } +if (start_offset > length) { rc = PCRE2_ERROR_BADOFFSET; goto EXIT; } /* Partial matching and PCRE2_ENDANCHORED are currently not allowed at the same time. */ if ((options & (PCRE2_PARTIAL_HARD|PCRE2_PARTIAL_SOFT)) != 0 && ((re->overall_options | options) & PCRE2_ENDANCHORED) != 0) - return PCRE2_ERROR_BADOPTION; + { rc = PCRE2_ERROR_BADOPTION; goto EXIT; } /* Invalid UTF support is not available for DFA matching. */ if ((re->overall_options & PCRE2_MATCH_INVALID_UTF) != 0) - return PCRE2_ERROR_DFA_UINVALID_UTF; + { rc = PCRE2_ERROR_DFA_UINVALID_UTF; goto EXIT; } /* Check that the first field in the block is the magic number. If it is not, return with PCRE2_ERROR_BADMAGIC. */ -if (re->magic_number != MAGIC_NUMBER) return PCRE2_ERROR_BADMAGIC; +if (re->magic_number != MAGIC_NUMBER) + { rc = PCRE2_ERROR_BADMAGIC; goto EXIT; } /* Check the code unit width. */ if ((re->flags & PCRE2_MODE_MASK) != PCRE2_CODE_UNIT_WIDTH/8) - return PCRE2_ERROR_BADMODE; + { rc = PCRE2_ERROR_BADMODE; goto EXIT; } /* PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the options variable for this function. Users of PCRE2 who are not calling the @@ -3449,8 +3454,8 @@ of the workspace. */ if ((options & PCRE2_DFA_RESTART) != 0) { if ((workspace[0] & (-2)) != 0 || workspace[1] < 1 || - workspace[1] > (int)((wscount - 2)/INTS_PER_STATEBLOCK)) - return PCRE2_ERROR_DFA_BADRESTART; + workspace[1] > (int)((wscount - 2)/INTS_PER_STATEBLOCK)) + { rc = PCRE2_ERROR_DFA_BADRESTART; goto EXIT; } } /* Set some local values */ @@ -3498,7 +3503,7 @@ else if (mcontext->offset_limit != PCRE2_UNSET) { if ((re->overall_options & PCRE2_USE_OFFSET_LIMIT) == 0) - return PCRE2_ERROR_BADOFFSETLIMIT; + { rc = PCRE2_ERROR_BADOFFSETLIMIT; goto EXIT; } bumpalong_limit = subject + mcontext->offset_limit; } mb->callout = mcontext->callout; @@ -3565,9 +3570,12 @@ switch(re->newline_convention) mb->nltype = NLTYPE_ANYCRLF; break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); - return PCRE2_ERROR_INTERNAL; + rc = PCRE2_ERROR_INTERNAL; + goto EXIT; + /* LCOV_EXCL_STOP */ } /* Check a UTF string for validity if required. For 8-bit and 16-bit strings, @@ -3588,7 +3596,7 @@ if (utf && (options & PCRE2_NO_UTF_CHECK) == 0) #if PCRE2_CODE_UNIT_WIDTH != 32 unsigned int i; if (start_match < end_subject && NOT_FIRSTCU(*start_match)) - return PCRE2_ERROR_BADUTFOFFSET; + { rc = PCRE2_ERROR_BADUTFOFFSET; goto EXIT; } for (i = re->max_lookbehind; i > 0 && check_subject > subject; i--) { check_subject--; @@ -3609,12 +3617,12 @@ if (utf && (options & PCRE2_NO_UTF_CHECK) == 0) /* Validate the relevant portion of the subject. After an error, adjust the offset to be an absolute offset in the whole string. */ - match_data->rc = PRIV(valid_utf)(check_subject, + rc = PRIV(valid_utf)(check_subject, length - (PCRE2_SIZE)(check_subject - subject), &(match_data->startchar)); - if (match_data->rc != 0) + if (rc != 0) { match_data->startchar += (PCRE2_SIZE)(check_subject - subject); - return match_data->rc; + goto EXIT; } } #endif /* SUPPORT_UNICODE */ @@ -3678,9 +3686,10 @@ if ((match_data->flags & PCRE2_MD_COPIED_SUBJECT) != 0) /* Fill in fields that are always returned in the match data. */ match_data->code = re; -match_data->subject = NULL; /* Default for no match */ +match_data->subject = NULL; /* Default for match error */ match_data->mark = NULL; match_data->matchedby = PCRE2_MATCHEDBY_DFA_INTERPRETER; +match_data->options = original_options; /* Call the main matching function, looping for a non-anchored regex after a failed match. If not restarting, perform certain optimizations at the start of @@ -4032,29 +4041,40 @@ for (;;) if (rc != PCRE2_ERROR_NOMATCH || anchored) { + if (rc == PCRE2_ERROR_NOMATCH) goto NOMATCH_EXIT; + if (rc == PCRE2_ERROR_PARTIAL && match_data->oveccount > 0) { match_data->ovector[0] = (PCRE2_SIZE)(start_match - subject); match_data->ovector[1] = (PCRE2_SIZE)(end_subject - subject); } - match_data->subject_length = length; - match_data->leftchar = (PCRE2_SIZE)(mb->start_used_ptr - subject); - match_data->rightchar = (PCRE2_SIZE)(mb->last_used_ptr - subject); - match_data->startchar = (PCRE2_SIZE)(start_match - subject); - match_data->rc = rc; - if (rc >= 0 &&(options & PCRE2_COPY_MATCHED_SUBJECT) != 0) + if (rc >= 0 || rc == PCRE2_ERROR_PARTIAL) { - length = CU2BYTES(length + was_zero_terminated); - match_data->subject = match_data->memctl.malloc(length, - match_data->memctl.memory_data); - if (match_data->subject == NULL) return PCRE2_ERROR_NOMEMORY; - memcpy((void *)match_data->subject, subject, length); + match_data->subject_length = length; + match_data->start_offset = start_offset; + match_data->leftchar = (PCRE2_SIZE)(mb->start_used_ptr - subject); + match_data->rightchar = (PCRE2_SIZE)(mb->last_used_ptr - subject); + match_data->startchar = (PCRE2_SIZE)(start_match - subject); + } + + if (rc >= 0 && (options & PCRE2_COPY_MATCHED_SUBJECT) != 0) + { + if (length != 0) + { + match_data->subject = match_data->memctl.malloc(CU2BYTES(length), + match_data->memctl.memory_data); + if (match_data->subject == NULL) + { rc = PCRE2_ERROR_NOMEMORY; goto EXIT; } + memcpy((void *)match_data->subject, subject, CU2BYTES(length)); + } + else + match_data->subject = NULL; match_data->flags |= PCRE2_MD_COPIED_SUBJECT; } - else + else if (rc >= 0 || rc == PCRE2_ERROR_PARTIAL) { - if (rc >= 0 || rc == PCRE2_ERROR_PARTIAL) match_data->subject = subject; + match_data->subject = original_subject; } goto EXIT; } @@ -4088,6 +4108,9 @@ for (;;) } /* "Bumpalong" loop */ NOMATCH_EXIT: +match_data->subject = original_subject; +match_data->subject_length = length; +match_data->start_offset = start_offset; rc = PCRE2_ERROR_NOMATCH; EXIT: @@ -4098,6 +4121,7 @@ while (rws->next != NULL) mb->memctl.free(next, mb->memctl.memory_data); } +match_data->rc = rc; return rc; } diff --git a/libpcre/src/pcre2_dftables.c b/libpcre/src/pcre2_dftables.c index 0f9aedf85..1d19870de 100644 --- a/libpcre/src/pcre2_dftables.c +++ b/libpcre/src/pcre2_dftables.c @@ -47,21 +47,23 @@ option can be used to select the current locale from the LC_ALL environment variable. By default, the tables are written in source form, but if -b is given, they are written in binary. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif + #include #include #include #include -#define PCRE2_DFTABLES /* for pcre2_internal.h, pcre2_maketables.c */ +/* For pcre2_internal.h, pcre2_maketables.c, pcre2_tables.c */ +#define PCRE2_DFTABLES +/* For pcre2_tables.c */ +#define PRIV(name) name #define PCRE2_CODE_UNIT_WIDTH 0 /* Must be set, but not relevant here */ #include "pcre2_internal.h" #include "pcre2_maketables.c" +#include "pcre2_tables.c" static const char *classlist[] = @@ -70,6 +72,23 @@ static const char *classlist[] = "word", "graph", "print", "punct", "cntrl" }; +static int identity(int c) { return c; } + +#ifdef EBCDIC +static int ebcdic_to_unicode(int c) +{ +if (c < 0 || c > 255) abort(); + +return ebcdic_1047_to_ascii[c]; +} + +static int unicode_to_ebcdic(int c) +{ +if (c < 0 || c > 255) abort(); + +return ascii_to_ebcdic_1047[c]; +} +#endif /************************************************* @@ -83,6 +102,9 @@ usage(void) "Usage: pcre2_dftables [options] \n" " -b Write output in binary (default is source code)\n" " -L Use locale from LC_ALL (default is \"C\" locale)\n" +#ifdef EBCDIC + " -E Use EBCDIC 1047 via locale C.UTF-8\n" +#endif ); } @@ -101,6 +123,8 @@ BOOL binary = FALSE; char *env = (char *)"C"; const uint8_t *tables; const uint8_t *base_of_tables; +int (*charfn_to)(int) = identity; +int (*charfn_from)(int) = identity; /* Process options */ @@ -125,6 +149,24 @@ for (i = 1; i < argc; i++) env = getenv("LC_ALL"); } +#ifdef EBCDIC + else if (strcmp(arg, "-E") == 0) + { + if (setlocale(LC_ALL, "C.UTF-8") == NULL) + { + (void)fprintf(stderr, "pcre2_dftables: setlocale() failed\n"); + return 1; + } +#ifdef EBCDIC_NL25 + env = "EBCDIC 1047 (NL 0x25)"; +#else + env = "EBCDIC 1047 (NL 0x15)"; +#endif + charfn_to = ebcdic_to_unicode; + charfn_from = unicode_to_ebcdic; + } +#endif + else if (strcmp(arg, "-b") == 0) binary = TRUE; @@ -143,7 +185,7 @@ if (i != argc - 1) /* Make the tables */ -tables = maketables(); +tables = maketables(charfn_to, charfn_from); base_of_tables = tables; f = fopen(argv[i], "wb"); @@ -197,20 +239,7 @@ the very long string otherwise. */ "pcre2_dftables manually with the -L option to build tables using the LC_ALL\n" "locale. */\n\n"); -/* Force config.h in z/OS */ - -#if defined NATIVE_ZOS (void)fprintf(f, - "/* For z/OS, config.h is forced */\n" - "#ifndef HAVE_CONFIG_H\n" - "#define HAVE_CONFIG_H 1\n" - "#endif\n\n"); -#endif - -(void)fprintf(f, - "#ifdef HAVE_CONFIG_H\n" - "#include \"config.h\"\n" - "#endif\n\n" "#include \"pcre2_internal.h\"\n\n"); (void)fprintf(f, diff --git a/libpcre/src/pcre2_error.c b/libpcre/src/pcre2_error.c index 8b7423c6c..df26add2b 100644 --- a/libpcre/src/pcre2_error.c +++ b/libpcre/src/pcre2_error.c @@ -39,12 +39,10 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + + #define STRING(a) # a #define XSTRING(s) STRING(s) @@ -97,7 +95,7 @@ static const unsigned char compile_error_texts[] = "a relative value of zero is not allowed\0" "conditional subpattern contains more than two branches\0" "atomic assertion expected after (?( or (?(?C)\0" - "digit expected after (?+ or (?-\0" + "digit expected after (?+\0" /* 30 */ "unknown POSIX class name\0" "internal error in pcre2_study(): should not occur\0" @@ -148,7 +146,7 @@ static const unsigned char compile_error_texts[] = #ifndef EBCDIC "\\c must be followed by a printable ASCII character\0" #else - "\\c must be followed by a letter or one of [\\]^_?\0" + "\\c must be followed by a letter or one of @[\\]^_?\0" #endif "\\k is not followed by a braced, angle-bracketed, or quoted name\0" /* 70 */ @@ -208,6 +206,11 @@ static const unsigned char compile_error_texts[] = /* 115 */ "terminating ] with no following closing parenthesis in (?[...]\0" "unexpected character in (?[...]) extended character class\0" + "expected capture group number or name\0" + "missing opening parenthesis\0" + "syntax error in subpattern number (missing terminator?)\0" + /* 120 */ + "erroroffset passed as NULL\0" ; /* Match-time and UTF error texts are in the same format. */ @@ -291,13 +294,18 @@ static const unsigned char match_error_texts[] = "heap limit exceeded\0" "invalid syntax\0" /* 65 */ - "internal error - duplicate substitution match\0" + "internal error: duplicate substitution match\0" "PCRE2_MATCH_INVALID_UTF is not supported for DFA matching\0" - "INTERNAL ERROR: invalid substring offset\0" + "internal error: invalid substring offset\0" "feature is not supported by the JIT compiler\0" "error performing replacement case transformation\0" /* 70 */ "replacement too large (longer than PCRE2_SIZE)\0" + "substitute pattern differs from prior match call\0" + "substitute subject differs from prior match call\0" + "substitute start offset differs from prior match call\0" + "substitute options differ from prior match call\0" + "disallowed use of \\K in lookaround\0" ; @@ -324,7 +332,7 @@ pcre2_get_error_message(int enumber, PCRE2_UCHAR *buffer, PCRE2_SIZE size) { const unsigned char *message; PCRE2_SIZE i; -int n; +int n, rc = 0; if (size == 0) return PCRE2_ERROR_NOMEMORY; @@ -346,7 +354,7 @@ else /* Invalid error number */ for (; n > 0; n--) { - while (*message++ != CHAR_NUL) {}; + while (*message++ != CHAR_NUL) {} if (*message == CHAR_NUL) return PCRE2_ERROR_BADDATA; } @@ -354,14 +362,23 @@ for (i = 0; *message != 0; i++) { if (i >= size - 1) { - buffer[i] = 0; /* Terminate partial message */ - return PCRE2_ERROR_NOMEMORY; + rc = PCRE2_ERROR_NOMEMORY; + break; } buffer[i] = *message++; } -buffer[i] = 0; -return (int)i; +#if defined EBCDIC && 'a' != 0x81 +/* If compiling for EBCDIC, but the compiler's string literals are not EBCDIC, +then we are in the "force EBCDIC 1047" mode. I have chosen to add a few lines +here to translate the error strings on the fly, rather than require the string +literals above to be written out arduously using the "STR_XYZ" macros. */ +for (PCRE2_SIZE j = 0; j < i; ++j) + buffer[j] = PRIV(ascii_to_ebcdic_1047)[buffer[j]]; +#endif + +buffer[i] = 0; /* Terminate message, even if truncated. */ +return rc? rc : (int)i; } /* End of pcre2_error.c */ diff --git a/libpcre/src/pcre2_extuni.c b/libpcre/src/pcre2_extuni.c index 91d839e29..1b7f04b4b 100644 --- a/libpcre/src/pcre2_extuni.c +++ b/libpcre/src/pcre2_extuni.c @@ -38,6 +38,7 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains an internal function that is used to match a Unicode extended grapheme sequence. It is used by both pcre2_match() and pcre2_dfa_match(). However, it is called only when Unicode support is being @@ -45,14 +46,10 @@ compiled. Nevertheless, we provide a dummy function when there is no Unicode support, because some compilers do not like functionless source files. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - - #include "pcre2_internal.h" + /* Dummy function */ #ifndef SUPPORT_UNICODE diff --git a/libpcre/src/pcre2_find_bracket.c b/libpcre/src/pcre2_find_bracket.c index 486f4539d..e26ee9923 100644 --- a/libpcre/src/pcre2_find_bracket.c +++ b/libpcre/src/pcre2_find_bracket.c @@ -46,13 +46,10 @@ function is called from pcre2_compile.c and also from pcre2_study.c when finding the minimum matching length. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + /************************************************* * Scan compiled regex for specific bracket * *************************************************/ diff --git a/libpcre/src/pcre2_internal.h b/libpcre/src/pcre2_internal.h index 6e0a5e05d..aa7940957 100644 --- a/libpcre/src/pcre2_internal.h +++ b/libpcre/src/pcre2_internal.h @@ -41,6 +41,15 @@ POSSIBILITY OF SUCH DAMAGE. #ifndef PCRE2_INTERNAL_H_IDEMPOTENT_GUARD #define PCRE2_INTERNAL_H_IDEMPOTENT_GUARD +/* We do not assume that the config.h file has an idempotent include guard, +since it may well be written by clients. The standard Autoheader config.h does +not have an include guard (although we could customise that). */ + +#if defined HAVE_CONFIG_H && !defined PCRE2_CONFIG_H_IDEMPOTENT_GUARD +#define PCRE2_CONFIG_H_IDEMPOTENT_GUARD +#include "config.h" +#endif + /* We do not support both EBCDIC and Unicode at the same time. The "configure" script prevents both being selected, but not everybody uses "configure". EBCDIC is only supported for the 8-bit library, but the check for this has to be later @@ -59,13 +68,12 @@ be including this file. There is no explicit way of forcing a compile to be abandoned, but trying to include a non-existent file seems cleanest. Otherwise there will be many irrelevant consequential errors. */ -#if (!defined PCRE2_BUILDING_PCRE2TEST && !defined PCRE2_DFTABLES) && \ +#if (!defined PCRE2_PCRE2TEST && !defined PCRE2_DFTABLES) && \ (!defined PCRE2_CODE_UNIT_WIDTH || \ (PCRE2_CODE_UNIT_WIDTH != 8 && \ PCRE2_CODE_UNIT_WIDTH != 16 && \ PCRE2_CODE_UNIT_WIDTH != 32)) #error PCRE2_CODE_UNIT_WIDTH must be defined as 8, 16, or 32. -#include #endif @@ -120,13 +128,12 @@ MSVC 10/2010. Except for VC6 (which is missing some fundamentals and fails). */ #endif /* When compiling a DLL for Windows, the exported symbols have to be declared -using some MS magic. I found some useful information on this web page: -http://msdn2.microsoft.com/en-us/library/y4h7bcy6(VS.80).aspx. According to the -information there, using __declspec(dllexport) without "extern" we have a -definition; with "extern" we have a declaration. The settings here override the -setting in pcre2.h (which is included below); it defines only PCRE2_EXP_DECL, -which is all that is needed for applications (they just import the symbols). We -use: +using some MS magic, as documented here: +https://learn.microsoft.com/en-us/cpp/build/exporting-from-a-dll-using-declspec-dllexport + +In pcre2.h (which is included below), we define only PCRE2_EXP_DECL, +which is all that is needed for applications (they just import the symbols). To +compile the library, we use: PCRE2_EXP_DECL for declarations PCRE2_EXP_DEFN for definitions @@ -140,24 +147,23 @@ special-purpose environments) might want to stick other stuff in front of exported symbols. That's why, in the non-Windows case, we set PCRE2_EXP_DEFN only if it is not already set. */ +#if defined __cplusplus +#error This project uses C99. C++ is not supported. +#endif + #ifndef PCRE2_EXP_DECL -# ifdef _WIN32 -# ifndef PCRE2_STATIC -# define PCRE2_EXP_DECL extern __declspec(dllexport) -# define PCRE2_EXP_DEFN __declspec(dllexport) -# else -# define PCRE2_EXP_DECL extern PCRE2_EXPORT -# define PCRE2_EXP_DEFN -# endif +# if defined(_WIN32) && !defined(PCRE2_STATIC) +# define PCRE2_EXP_DECL extern __declspec(dllexport) # else -# ifdef __cplusplus -# define PCRE2_EXP_DECL extern "C" PCRE2_EXPORT -# else -# define PCRE2_EXP_DECL extern PCRE2_EXPORT -# endif -# ifndef PCRE2_EXP_DEFN -# define PCRE2_EXP_DEFN PCRE2_EXP_DECL -# endif +# define PCRE2_EXP_DECL extern PCRE2_EXPORT +# endif +#endif + +#ifndef PCRE2_EXP_DEFN +# if defined(_WIN32) && !defined(PCRE2_STATIC) +# define PCRE2_EXP_DEFN extern __declspec(dllexport) +# else +# define PCRE2_EXP_DEFN extern PCRE2_EXPORT # endif #endif @@ -167,19 +173,6 @@ property values. This must follow the setting of PCRE2_EXP_DECL above. */ #include "pcre2.h" #include "pcre2_ucp.h" -/* When PCRE2 is compiled as a C++ library, the subject pointer can be replaced -with a custom type. This makes it possible, for example, to allow pcre2_match() -to process subject strings that are discontinuous by using a smart pointer -class. It must always be possible to inspect all of the subject string in -pcre2_match() because of the way it backtracks. */ - -/* WARNING: This is as yet untested for PCRE2. */ - -#ifdef CUSTOM_SUBJECT_PTR -#undef PCRE2_SPTR -#define PCRE2_SPTR CUSTOM_SUBJECT_PTR -#endif - /* When checking for integer overflow, we need to handle large integers. If a 64-bit integer type is available, we can use that. Otherwise we have to cast to double, which of course requires floating point @@ -201,28 +194,6 @@ code that a non-static object is being referenced. */ #define PRIV(name) _pcre2_##name #endif -/* When compiling for use with the Virtual Pascal compiler, these functions -need to have their names changed. PCRE2 must be compiled with the -DVPCOMPAT -option on the command line. */ - -#ifdef VPCOMPAT -#define strlen(s) _strlen(s) -#define strncmp(s1,s2,m) _strncmp(s1,s2,m) -#define memcmp(s,c,n) _memcmp(s,c,n) -#define memcpy(d,s,n) _memcpy(d,s,n) -#define memmove(d,s,n) _memmove(d,s,n) -#define memset(s,c,n) _memset(s,c,n) -#else /* VPCOMPAT */ - -/* Otherwise, to cope with SunOS4 and other systems that lack memmove(), define -a macro that calls an emulating function. */ - -#ifndef HAVE_MEMMOVE -#undef memmove /* Some systems may have a macro */ -#define memmove(a, b, c) PRIV(memmove)(a, b, c) -#endif /* not HAVE_MEMMOVE */ -#endif /* not VPCOMPAT */ - /* This is an unsigned int value that no UTF character can ever have, as Unicode doesn't go beyond 0x0010ffff. */ @@ -406,7 +377,7 @@ PCRE (both APIs) for a long time. */ #define HSPACE_LIST \ CHAR_HT, CHAR_SPACE, CHAR_NBSP, \ 0x1680, 0x180e, 0x2000, 0x2001, 0x2002, 0x2003, 0x2004, 0x2005, \ - 0x2006, 0x2007, 0x2008, 0x2009, 0x200A, 0x202f, 0x205f, 0x3000, \ + 0x2006, 0x2007, 0x2008, 0x2009, 0x200a, 0x202f, 0x205f, 0x3000, \ NOTACHAR #define HSPACE_MULTIBYTE_CASES \ @@ -422,7 +393,7 @@ PCRE (both APIs) for a long time. */ case 0x2007: /* FIGURE SPACE */ \ case 0x2008: /* PUNCTUATION SPACE */ \ case 0x2009: /* THIN SPACE */ \ - case 0x200A: /* HAIR SPACE */ \ + case 0x200a: /* HAIR SPACE */ \ case 0x202f: /* NARROW NO-BREAK SPACE */ \ case 0x205f: /* MEDIUM MATHEMATICAL SPACE */ \ case 0x3000 /* IDEOGRAPHIC SPACE */ @@ -552,6 +523,7 @@ bytes in a code unit in that mode. */ #define PCRE2_DUPCAPUSED 0x00200000u /* contains (?| */ #define PCRE2_HASBKC 0x00400000u /* contains \C */ #define PCRE2_HASACCEPT 0x00800000u /* contains (*ACCEPT) */ +#define PCRE2_HASBSK 0x01000000u /* contains \K */ #define PCRE2_MODE_MASK (PCRE2_MODE8 | PCRE2_MODE16 | PCRE2_MODE32) @@ -698,6 +670,10 @@ same code point. */ compatibility. NEL is the Unicode newline character; make sure it is a positive value. */ +#if '\n' != 0x0a +#error "ASCII character '\n' is not 0x0a" +#endif + #define CHAR_LF '\n' #define CHAR_NL CHAR_LF #define CHAR_NEL ((unsigned char)'\x85') @@ -713,7 +689,232 @@ a positive value. */ #endif /* EBCDIC */ -/* The remaining definitions work in both environments. */ +/* When we want to use EBCDIC with an ASCII compiler, for testing EBCDIC on +ASCII platforms, then we can hardcode an EBCDIC codepage (IBM-1047). */ + +#ifdef EBCDIC_IGNORING_COMPILER + +#define CHAR_NUL '\000' +#define CHAR_HT '\005' +#define CHAR_VT '\013' +#define CHAR_FF '\014' +#define CHAR_CR '\015' +#define CHAR_BS '\026' +#define CHAR_BEL '\057' + +#define CHAR_SPACE '\100' +#define CHAR_EXCLAMATION_MARK '\132' +#define CHAR_QUOTATION_MARK '\177' +#define CHAR_NUMBER_SIGN '\173' +#define CHAR_DOLLAR_SIGN '\133' +#define CHAR_PERCENT_SIGN '\154' +#define CHAR_AMPERSAND '\120' +#define CHAR_APOSTROPHE '\175' +#define CHAR_LEFT_PARENTHESIS '\115' +#define CHAR_RIGHT_PARENTHESIS '\135' +#define CHAR_ASTERISK '\134' +#define CHAR_PLUS '\116' +#define CHAR_COMMA '\153' +#define CHAR_MINUS '\140' +#define CHAR_DOT '\113' +#define CHAR_SLASH '\141' +#define CHAR_0 ((unsigned char)'\xf0') +#define CHAR_1 ((unsigned char)'\xf1') +#define CHAR_2 ((unsigned char)'\xf2') +#define CHAR_3 ((unsigned char)'\xf3') +#define CHAR_4 ((unsigned char)'\xf4') +#define CHAR_5 ((unsigned char)'\xf5') +#define CHAR_6 ((unsigned char)'\xf6') +#define CHAR_7 ((unsigned char)'\xf7') +#define CHAR_8 ((unsigned char)'\xf8') +#define CHAR_9 ((unsigned char)'\xf9') +#define CHAR_COLON '\172' +#define CHAR_SEMICOLON '\136' +#define CHAR_LESS_THAN_SIGN '\114' +#define CHAR_EQUALS_SIGN '\176' +#define CHAR_GREATER_THAN_SIGN '\156' +#define CHAR_QUESTION_MARK '\157' +#define CHAR_COMMERCIAL_AT '\174' +#define CHAR_A ((unsigned char)'\xc1') +#define CHAR_B ((unsigned char)'\xc2') +#define CHAR_C ((unsigned char)'\xc3') +#define CHAR_D ((unsigned char)'\xc4') +#define CHAR_E ((unsigned char)'\xc5') +#define CHAR_F ((unsigned char)'\xc6') +#define CHAR_G ((unsigned char)'\xc7') +#define CHAR_H ((unsigned char)'\xc8') +#define CHAR_I ((unsigned char)'\xc9') +#define CHAR_J ((unsigned char)'\xd1') +#define CHAR_K ((unsigned char)'\xd2') +#define CHAR_L ((unsigned char)'\xd3') +#define CHAR_M ((unsigned char)'\xd4') +#define CHAR_N ((unsigned char)'\xd5') +#define CHAR_O ((unsigned char)'\xd6') +#define CHAR_P ((unsigned char)'\xd7') +#define CHAR_Q ((unsigned char)'\xd8') +#define CHAR_R ((unsigned char)'\xd9') +#define CHAR_S ((unsigned char)'\xe2') +#define CHAR_T ((unsigned char)'\xe3') +#define CHAR_U ((unsigned char)'\xe4') +#define CHAR_V ((unsigned char)'\xe5') +#define CHAR_W ((unsigned char)'\xe6') +#define CHAR_X ((unsigned char)'\xe7') +#define CHAR_Y ((unsigned char)'\xe8') +#define CHAR_Z ((unsigned char)'\xe9') +#define CHAR_LEFT_SQUARE_BRACKET ((unsigned char)'\xad') +#define CHAR_BACKSLASH ((unsigned char)'\xe0') +#define CHAR_RIGHT_SQUARE_BRACKET ((unsigned char)'\xbd') +#define CHAR_CIRCUMFLEX_ACCENT '\137' +#define CHAR_UNDERSCORE '\155' +#define CHAR_GRAVE_ACCENT '\171' +#define CHAR_a ((unsigned char)'\x81') +#define CHAR_b ((unsigned char)'\x82') +#define CHAR_c ((unsigned char)'\x83') +#define CHAR_d ((unsigned char)'\x84') +#define CHAR_e ((unsigned char)'\x85') +#define CHAR_f ((unsigned char)'\x86') +#define CHAR_g ((unsigned char)'\x87') +#define CHAR_h ((unsigned char)'\x88') +#define CHAR_i ((unsigned char)'\x89') +#define CHAR_j ((unsigned char)'\x91') +#define CHAR_k ((unsigned char)'\x92') +#define CHAR_l ((unsigned char)'\x93') +#define CHAR_m ((unsigned char)'\x94') +#define CHAR_n ((unsigned char)'\x95') +#define CHAR_o ((unsigned char)'\x96') +#define CHAR_p ((unsigned char)'\x97') +#define CHAR_q ((unsigned char)'\x98') +#define CHAR_r ((unsigned char)'\x99') +#define CHAR_s ((unsigned char)'\xa2') +#define CHAR_t ((unsigned char)'\xa3') +#define CHAR_u ((unsigned char)'\xa4') +#define CHAR_v ((unsigned char)'\xa5') +#define CHAR_w ((unsigned char)'\xa6') +#define CHAR_x ((unsigned char)'\xa7') +#define CHAR_y ((unsigned char)'\xa8') +#define CHAR_z ((unsigned char)'\xa9') +#define CHAR_LEFT_CURLY_BRACKET ((unsigned char)'\xc0') +#define CHAR_VERTICAL_LINE '\117' +#define CHAR_RIGHT_CURLY_BRACKET ((unsigned char)'\xd0') +#define CHAR_TILDE ((unsigned char)'\xa1') + +#define STR_HT "\005" +#define STR_VT "\013" +#define STR_FF "\014" +#define STR_CR "\015" +#define STR_BS "\026" +#define STR_BEL "\057" + +#define STR_SPACE "\100" +#define STR_EXCLAMATION_MARK "\132" +#define STR_QUOTATION_MARK "\177" +#define STR_NUMBER_SIGN "\173" +#define STR_DOLLAR_SIGN "\133" +#define STR_PERCENT_SIGN "\154" +#define STR_AMPERSAND "\120" +#define STR_APOSTROPHE "\175" +#define STR_LEFT_PARENTHESIS "\115" +#define STR_RIGHT_PARENTHESIS "\135" +#define STR_ASTERISK "\134" +#define STR_PLUS "\116" +#define STR_COMMA "\153" +#define STR_MINUS "\140" +#define STR_DOT "\113" +#define STR_SLASH "\141" +#define STR_0 "\360" +#define STR_1 "\361" +#define STR_2 "\362" +#define STR_3 "\363" +#define STR_4 "\364" +#define STR_5 "\365" +#define STR_6 "\366" +#define STR_7 "\367" +#define STR_8 "\370" +#define STR_9 "\371" +#define STR_COLON "\172" +#define STR_SEMICOLON "\136" +#define STR_LESS_THAN_SIGN "\114" +#define STR_EQUALS_SIGN "\176" +#define STR_GREATER_THAN_SIGN "\156" +#define STR_QUESTION_MARK "\157" +#define STR_COMMERCIAL_AT "\174" +#define STR_A "\301" +#define STR_B "\302" +#define STR_C "\303" +#define STR_D "\304" +#define STR_E "\305" +#define STR_F "\306" +#define STR_G "\307" +#define STR_H "\310" +#define STR_I "\311" +#define STR_J "\321" +#define STR_K "\322" +#define STR_L "\323" +#define STR_M "\324" +#define STR_N "\325" +#define STR_O "\326" +#define STR_P "\327" +#define STR_Q "\330" +#define STR_R "\331" +#define STR_S "\342" +#define STR_T "\343" +#define STR_U "\344" +#define STR_V "\345" +#define STR_W "\346" +#define STR_X "\347" +#define STR_Y "\350" +#define STR_Z "\351" +#define STR_LEFT_SQUARE_BRACKET "\255" +#define STR_BACKSLASH "\340" +#define STR_RIGHT_SQUARE_BRACKET "\275" +#define STR_CIRCUMFLEX_ACCENT "\137" +#define STR_UNDERSCORE "\155" +#define STR_GRAVE_ACCENT "\171" +#define STR_a "\201" +#define STR_b "\202" +#define STR_c "\203" +#define STR_d "\204" +#define STR_e "\205" +#define STR_f "\206" +#define STR_g "\207" +#define STR_h "\210" +#define STR_i "\211" +#define STR_j "\221" +#define STR_k "\222" +#define STR_l "\223" +#define STR_m "\224" +#define STR_n "\225" +#define STR_o "\226" +#define STR_p "\227" +#define STR_q "\230" +#define STR_r "\231" +#define STR_s "\242" +#define STR_t "\243" +#define STR_u "\244" +#define STR_v "\245" +#define STR_w "\246" +#define STR_x "\247" +#define STR_y "\250" +#define STR_z "\251" +#define STR_LEFT_CURLY_BRACKET "\300" +#define STR_VERTICAL_LINE "\117" +#define STR_RIGHT_CURLY_BRACKET "\320" +#define STR_TILDE "\241" + +#else /* EBCDIC_IGNORING_COMPILER */ + +/* Otherwise, on a real EBCDIC compiler or an ASCII compiler, we can use simple +string and character literals. */ + +#ifdef EBCDIC +#if 'a' != 0x81 +#error "EBCDIC character 'a' is not 0x81" +#endif +#else +#if 'a' != 0x61 +#error "ASCII character 'a' is not 0x61" +#endif +#endif #define CHAR_NUL '\0' #define CHAR_HT '\t' @@ -922,88 +1123,7 @@ a positive value. */ #define STR_RIGHT_CURLY_BRACKET "}" #define STR_TILDE "~" -#define STRING_ACCEPT0 "ACCEPT\0" -#define STRING_COMMIT0 "COMMIT\0" -#define STRING_F0 "F\0" -#define STRING_FAIL0 "FAIL\0" -#define STRING_MARK0 "MARK\0" -#define STRING_PRUNE0 "PRUNE\0" -#define STRING_SKIP0 "SKIP\0" -#define STRING_THEN "THEN" - -#define STRING_atomic0 "atomic\0" -#define STRING_pla0 "pla\0" -#define STRING_plb0 "plb\0" -#define STRING_napla0 "napla\0" -#define STRING_naplb0 "naplb\0" -#define STRING_nla0 "nla\0" -#define STRING_nlb0 "nlb\0" -#define STRING_scs0 "scs\0" -#define STRING_sr0 "sr\0" -#define STRING_asr0 "asr\0" -#define STRING_positive_lookahead0 "positive_lookahead\0" -#define STRING_positive_lookbehind0 "positive_lookbehind\0" -#define STRING_non_atomic_positive_lookahead0 "non_atomic_positive_lookahead\0" -#define STRING_non_atomic_positive_lookbehind0 "non_atomic_positive_lookbehind\0" -#define STRING_negative_lookahead0 "negative_lookahead\0" -#define STRING_negative_lookbehind0 "negative_lookbehind\0" -#define STRING_script_run0 "script_run\0" -#define STRING_atomic_script_run "atomic_script_run" -#define STRING_scan_substring0 "scan_substring\0" - -#define STRING_alpha0 "alpha\0" -#define STRING_lower0 "lower\0" -#define STRING_upper0 "upper\0" -#define STRING_alnum0 "alnum\0" -#define STRING_ascii0 "ascii\0" -#define STRING_blank0 "blank\0" -#define STRING_cntrl0 "cntrl\0" -#define STRING_digit0 "digit\0" -#define STRING_graph0 "graph\0" -#define STRING_print0 "print\0" -#define STRING_punct0 "punct\0" -#define STRING_space0 "space\0" -#define STRING_word0 "word\0" -#define STRING_xdigit "xdigit" - -#define STRING_DEFINE "DEFINE" -#define STRING_VERSION "VERSION" -#define STRING_WEIRD_STARTWORD "[:<:]]" -#define STRING_WEIRD_ENDWORD "[:>:]]" - -#define STRING_CR_RIGHTPAR "CR)" -#define STRING_LF_RIGHTPAR "LF)" -#define STRING_CRLF_RIGHTPAR "CRLF)" -#define STRING_ANY_RIGHTPAR "ANY)" -#define STRING_ANYCRLF_RIGHTPAR "ANYCRLF)" -#define STRING_NUL_RIGHTPAR "NUL)" -#define STRING_BSR_ANYCRLF_RIGHTPAR "BSR_ANYCRLF)" -#define STRING_BSR_UNICODE_RIGHTPAR "BSR_UNICODE)" -#define STRING_UTF8_RIGHTPAR "UTF8)" -#define STRING_UTF16_RIGHTPAR "UTF16)" -#define STRING_UTF32_RIGHTPAR "UTF32)" -#define STRING_UTF_RIGHTPAR "UTF)" -#define STRING_UCP_RIGHTPAR "UCP)" -#define STRING_NO_AUTO_POSSESS_RIGHTPAR "NO_AUTO_POSSESS)" -#define STRING_NO_DOTSTAR_ANCHOR_RIGHTPAR "NO_DOTSTAR_ANCHOR)" -#define STRING_NO_JIT_RIGHTPAR "NO_JIT)" -#define STRING_NO_START_OPT_RIGHTPAR "NO_START_OPT)" -#define STRING_NOTEMPTY_RIGHTPAR "NOTEMPTY)" -#define STRING_NOTEMPTY_ATSTART_RIGHTPAR "NOTEMPTY_ATSTART)" -#define STRING_CASELESS_RESTRICT_RIGHTPAR "CASELESS_RESTRICT)" -#define STRING_TURKISH_CASING_RIGHTPAR "TURKISH_CASING)" -#define STRING_LIMIT_HEAP_EQ "LIMIT_HEAP=" -#define STRING_LIMIT_MATCH_EQ "LIMIT_MATCH=" -#define STRING_LIMIT_DEPTH_EQ "LIMIT_DEPTH=" -#define STRING_LIMIT_RECURSION_EQ "LIMIT_RECURSION=" -#define STRING_MARK "MARK" - -#define STRING_bc "bc" -#define STRING_bidiclass "bidiclass" -#define STRING_sc "sc" -#define STRING_script "script" -#define STRING_scriptextensions "scriptextensions" -#define STRING_scx "scx" +#endif /* EBCDIC_WITH_ASCII_COMPILER */ #else /* SUPPORT_UNICODE */ @@ -1227,6 +1347,9 @@ only. */ #define STR_RIGHT_CURLY_BRACKET "\175" #define STR_TILDE "\176" +#endif /* SUPPORT_UNICODE */ + + #define STRING_ACCEPT0 STR_A STR_C STR_C STR_E STR_P STR_T "\0" #define STRING_COMMIT0 STR_C STR_O STR_M STR_M STR_I STR_T "\0" #define STRING_F0 STR_F "\0" @@ -1311,8 +1434,6 @@ only. */ #define STRING_scx STR_s STR_c STR_x -#endif /* SUPPORT_UNICODE */ - /* -------------------- End of character and string names -------------------*/ /* -------------------- Definitions for compiled patterns -------------------*/ @@ -1791,7 +1912,7 @@ pcre2_dfa_match.c that must be updated. */ /* This macro defines textual names for all the opcodes. These are used only for debugging, and some of them are only partial names. The macro is referenced -only in pcre2_printint.c, which fills out the full names in many cases (and in +only in pcre2_printint_inc.h, which fills out the full names in many cases (and in some cases doesn't actually use these names at all). */ #define OP_NAME_LIST \ @@ -2075,7 +2196,7 @@ tables are needed only when compiling the 8-bit library. */ #if PCRE2_CODE_UNIT_WIDTH == 8 extern const int PRIV(utf8_table1)[]; -extern const int PRIV(utf8_table1_size); +extern const unsigned PRIV(utf8_table1_size); extern const int PRIV(utf8_table2)[]; extern const int PRIV(utf8_table3)[]; extern const uint8_t PRIV(utf8_table4)[]; @@ -2110,6 +2231,8 @@ extern const uint8_t PRIV(utf8_table4)[]; #define _pcre2_utt PCRE2_SUFFIX(_pcre2_utt_) #define _pcre2_utt_names PCRE2_SUFFIX(_pcre2_utt_names_) #define _pcre2_utt_size PCRE2_SUFFIX(_pcre2_utt_size_) +#define _pcre2_ebcdic_1047_to_ascii PCRE2_SUFFIX(_pcre2_ebcdic_1047_to_ascii_) +#define _pcre2_ascii_to_ebcdic_1047 PCRE2_SUFFIX(_pcre2_ascii_to_ebcdic_1047_) extern const uint8_t PRIV(OP_lengths)[]; extern const uint32_t PRIV(callout_end_delims)[]; @@ -2142,6 +2265,8 @@ extern const char *PRIV(unicode_version); extern const ucp_type_table PRIV(utt)[]; extern const char PRIV(utt_names)[]; extern const size_t PRIV(utt_size); +extern const uint8_t PRIV(ebcdic_1047_to_ascii)[]; +extern const uint8_t PRIV(ascii_to_ebcdic_1047)[]; /* Mode-dependent macros and hidden and private structures are defined in a separate file so that pcre2test can include them at all supported widths. When @@ -2165,6 +2290,7 @@ is available. */ #define _pcre2_auto_possessify PCRE2_SUFFIX(_pcre2_auto_possessify_) #define _pcre2_check_escape PCRE2_SUFFIX(_pcre2_check_escape_) +#define _pcre2_ckd_smul PCRE2_SUFFIX(_pcre2_ckd_smul_) #define _pcre2_extuni PCRE2_SUFFIX(_pcre2_extuni_) #define _pcre2_find_bracket PCRE2_SUFFIX(_pcre2_find_bracket_) #define _pcre2_is_newline PCRE2_SUFFIX(_pcre2_is_newline_) @@ -2191,6 +2317,7 @@ extern int _pcre2_auto_possessify(PCRE2_UCHAR *, const compile_block *); extern int _pcre2_check_escape(PCRE2_SPTR *, PCRE2_SPTR, uint32_t *, int *, uint32_t, uint32_t, uint32_t, BOOL, compile_block *); +extern BOOL _pcre2_ckd_smul(PCRE2_SIZE *, int, int); extern PCRE2_SPTR _pcre2_extuni(uint32_t, PCRE2_SPTR, PCRE2_SPTR, PCRE2_SPTR, BOOL, int *); extern PCRE2_SPTR _pcre2_find_bracket(PCRE2_SPTR, BOOL, int); @@ -2217,17 +2344,8 @@ extern BOOL _pcre2_xclass(uint32_t, PCRE2_SPTR, const uint8_t *, BOOL); extern BOOL _pcre2_eclass(uint32_t, PCRE2_SPTR, PCRE2_SPTR, const uint8_t *, BOOL); -/* This function is needed only when memmove() is not available. */ - -#if !defined(VPCOMPAT) && !defined(HAVE_MEMMOVE) -#define _pcre2_memmove PCRE2_SUFFIX(_pcre2_memmove) -extern void * _pcre2_memmove(void *, const void *, size_t); -#endif - #endif /* PCRE2_CODE_UNIT_WIDTH */ -extern BOOL PRIV(ckd_smul)(PCRE2_SIZE *, int, int); - #include "pcre2_util.h" #endif /* PCRE2_INTERNAL_H_IDEMPOTENT_GUARD */ diff --git a/libpcre/src/pcre2_intmodedep.h b/libpcre/src/pcre2_intmodedep.h index 6b858139f..6cefb61d3 100644 --- a/libpcre/src/pcre2_intmodedep.h +++ b/libpcre/src/pcre2_intmodedep.h @@ -47,9 +47,16 @@ to have access to the hidden structures at all supported widths. Some of the mode-dependent macros are required at different widths for different parts of the pcre2test code (in particular, the included -pcre2_printint.c file). We undefine them here so that they can be re-defined for -multiple inclusions. Not all of these are used in pcre2test, but it's easier -just to undefine them all. */ +pcre2_printint_inc.h file). We undefine them here so that they can be re-defined +for multiple inclusions. Not all of these are used in pcre2test, but it's easier +just to undefine them all. + +You can also include pcre2_intmodedep.h with PCRE2_CODE_UNIT_WIDTH defined to +zero in order to simply clear the previous macros. */ + +#ifndef PCRE2_CODE_UNIT_WIDTH +#error PCRE2_CODE_UNIT_WIDTH must be defined +#endif #undef ACROSSCHAR #undef BACKCHAR @@ -81,9 +88,14 @@ just to undefine them all. */ #undef PUTINC #undef TABLE_GET +/************************************************* +* MACROS * +*************************************************/ +/* Macros may be undefined and re-defined if the same file handles multiple +bit-widths. */ -/* -------------------------- MACROS ----------------------------- */ +#if PCRE2_CODE_UNIT_WIDTH != 0 /* PCRE keeps offsets in its compiled code as at least 16-bit quantities (always stored in big-endian order in 8-bit mode) by default. These are used, @@ -97,11 +109,23 @@ unit string is now handled by the macros that are defined here. The macros are controlled by the value of LINK_SIZE. This defaults to 2, but values of 3 or 4 are also supported. */ +#ifndef CONFIGURED_LINK_SIZE +#if LINK_SIZE == 2 +#define CONFIGURED_LINK_SIZE 2 +#elif LINK_SIZE == 3 +#define CONFIGURED_LINK_SIZE 3 +#elif LINK_SIZE == 4 +#define CONFIGURED_LINK_SIZE 4 +#else +#error LINK_SIZE must be 2, 3, or 4 +#endif +#endif /* CONFIGURED_LINK_SIZE */ + /* ------------------- 8-bit support ------------------ */ #if PCRE2_CODE_UNIT_WIDTH == 8 -#if LINK_SIZE == 2 +#if CONFIGURED_LINK_SIZE == 2 #define PUT(a,n,d) \ (a[n] = (PCRE2_UCHAR)((d) >> 8)), \ (a[(n)+1] = (PCRE2_UCHAR)((d) & 255)) @@ -109,7 +133,7 @@ values of 3 or 4 are also supported. */ (unsigned int)(((a)[n] << 8) | (a)[(n)+1]) #define MAX_PATTERN_SIZE (1 << 16) -#elif LINK_SIZE == 3 +#elif CONFIGURED_LINK_SIZE == 3 #define PUT(a,n,d) \ (a[n] = (PCRE2_UCHAR)((d) >> 16)), \ (a[(n)+1] = (PCRE2_UCHAR)((d) >> 8)), \ @@ -118,7 +142,7 @@ values of 3 or 4 are also supported. */ (unsigned int)(((a)[n] << 16) | ((a)[(n)+1] << 8) | (a)[(n)+2]) #define MAX_PATTERN_SIZE (1 << 24) -#elif LINK_SIZE == 4 +#elif CONFIGURED_LINK_SIZE == 4 #define PUT(a,n,d) \ (a[n] = (PCRE2_UCHAR)((d) >> 24)), \ (a[(n)+1] = (PCRE2_UCHAR)((d) >> 16)), \ @@ -128,8 +152,6 @@ values of 3 or 4 are also supported. */ (unsigned int)(((a)[n] << 24) | ((a)[(n)+1] << 16) | ((a)[(n)+2] << 8) | (a)[(n)+3]) #define MAX_PATTERN_SIZE (1 << 30) /* Keep it positive */ -#else -#error LINK_SIZE must be 2, 3, or 4 #endif @@ -137,7 +159,7 @@ values of 3 or 4 are also supported. */ #elif PCRE2_CODE_UNIT_WIDTH == 16 -#if LINK_SIZE == 2 +#if CONFIGURED_LINK_SIZE == 2 #undef LINK_SIZE #define LINK_SIZE 1 #define PUT(a,n,d) \ @@ -146,7 +168,7 @@ values of 3 or 4 are also supported. */ (a[n]) #define MAX_PATTERN_SIZE (1 << 16) -#elif LINK_SIZE == 3 || LINK_SIZE == 4 +#elif CONFIGURED_LINK_SIZE == 3 || CONFIGURED_LINK_SIZE == 4 #undef LINK_SIZE #define LINK_SIZE 2 #define PUT(a,n,d) \ @@ -156,8 +178,6 @@ values of 3 or 4 are also supported. */ (unsigned int)(((a)[n] << 16) | (a)[(n)+1]) #define MAX_PATTERN_SIZE (1 << 30) /* Keep it positive */ -#else -#error LINK_SIZE must be 2, 3, or 4 #endif @@ -194,7 +214,7 @@ arithmetic results in a signed value. Hence the cast. */ #define GET2(a,n) (unsigned int)(((a)[n] << 8) | (a)[(n)+1]) #define PUT2(a,n,d) a[n] = (d) >> 8, a[(n)+1] = (d) & 255 -#else /* Code units are 16 or 32 bits */ +#elif PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 #define IMM2_SIZE 1 #define GET2(a,n) a[n] #define PUT2(a,n,d) a[n] = d @@ -219,7 +239,7 @@ check is needed before accessing these tables. */ #define CHMAX_255(c) TRUE #endif /* SUPPORT_UNICODE */ -#else /* Code units are 16 or 32 bits */ +#elif PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 #define CHMAX_255(c) ((c) <= 255u) #define MAX_255(c) ((c) <= 255u) #define MAX_MARK ((1u << 16) - 1) @@ -285,7 +305,7 @@ UTF support is omitted, we don't even define them. */ #define HAS_EXTRALEN(c) HASUTF8EXTRALEN(c) -/* Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE. +/* Returns with the additional number of characters if HAS_EXTRALEN(c) is TRUE. Otherwise it has an undefined behaviour. */ #define GET_EXTRALEN(c) (PRIV(utf8_table4)[(c) & 0x3fu]) @@ -371,7 +391,7 @@ because almost all calls are already within a block of UTF-8 only code. */ #define HAS_EXTRALEN(c) (((c) & 0xfc00u) == 0xd800u) -/* Returns with the additional number of characters if IS_MULTICHAR(c) is TRUE. +/* Returns with the additional number of characters if HAS_EXTRALEN(c) is TRUE. Otherwise it has an undefined behaviour. */ #define GET_EXTRALEN(c) 1 @@ -466,7 +486,7 @@ code. */ /* ------------------- 32-bit support ------------------ */ -#else +#elif PCRE2_CODE_UNIT_WIDTH == 32 /* These are trivial for the 32-bit library, since all UTF-32 characters fit into one PCRE2_UCHAR unit. */ @@ -547,6 +567,32 @@ These are all no-ops since all UTF-32 characters fit into one PCRE2_UCHAR. */ #define PUTINC(a,n,d) PUT(a,n,d), a += LINK_SIZE #define PUT2INC(a,n,d) PUT2(a,n,d), a += IMM2_SIZE +#endif /* PCRE2_CODE_UNIT_WIDTH != 0 */ + + + +/************************************************* +* STRUCTURES * +*************************************************/ + +/* We need a more complex include guard than usual, because the file can be +included once for each bit-width to define the various structures. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 && !defined PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_8 +#define PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_8 +#define PCRE2_INTMODEDEP_CAN_DEFINE +#endif +#if PCRE2_CODE_UNIT_WIDTH == 16 && !defined PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_16 +#define PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_16 +#define PCRE2_INTMODEDEP_CAN_DEFINE +#endif +#if PCRE2_CODE_UNIT_WIDTH == 32 && !defined PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_32 +#define PCRE2_INTMODEDEP_IDEMPOTENT_GUARD_32 +#define PCRE2_INTMODEDEP_CAN_DEFINE +#endif + +#ifdef PCRE2_INTMODEDEP_CAN_DEFINE +#undef PCRE2_INTMODEDEP_CAN_DEFINE /* ----------------------- HIDDEN STRUCTURES ----------------------------- */ @@ -624,7 +670,7 @@ have 16-bit arguments in 8-bit and 16-bit modes, so we need no more than a #define CODE_BLOCKSIZE_TYPE PCRE2_SIZE #undef LOOKBEHIND_MAX -#define LOOKBEHIND_MAX UINT16_MAX +#define LOOKBEHIND_MAX ((int)UINT16_MAX) typedef struct pcre2_real_code { pcre2_memctl memctl; /* Memory control fields */ @@ -672,12 +718,14 @@ typedef struct pcre2_real_match_data { struct heapframe *heapframes; /* Backtracking frames heap memory */ PCRE2_SIZE heapframes_size; /* Malloc-ed size */ PCRE2_SIZE subject_length; /* Subject length */ + PCRE2_SIZE start_offset; /* Offset to start of search */ PCRE2_SIZE leftchar; /* Offset to leftmost code unit */ PCRE2_SIZE rightchar; /* Offset to rightmost code unit */ PCRE2_SIZE startchar; /* Offset to starting code unit */ uint8_t matchedby; /* Type of match (normal, JIT, DFA) */ uint8_t flags; /* Various flags */ uint16_t oveccount; /* Number of pairs */ + uint32_t options; /* Options passed in to the match call */ int rc; /* The return code from the match */ PCRE2_SIZE ovector[131072]; /* Must be last in the structure */ } pcre2_real_match_data; @@ -718,20 +766,31 @@ typedef struct branch_chain { } branch_chain; /* Structure for building a list of named groups during the first pass of -compiling. */ +compiling. When a duplicate name is stored in the list, its name is set to +the name of the first entry with the same name, and its length is set to 0. */ typedef struct named_group { PCRE2_SPTR name; /* Points to the name in the pattern */ uint32_t number; /* Group number */ uint16_t length; /* Length of the name */ - uint16_t isdup; /* TRUE if a duplicate */ + uint16_t hash_dup; /* A concatenation of a 15 bit hash code and + a singe bit which represents duplication */ } named_group; +/* Structure for storing compile time data. */ + +typedef struct compile_data { + struct compile_data *next; /* Next compile data */ +#ifdef PCRE2_DEBUG + uint8_t type; /* Debug only type of the data */ +#endif +} compile_data; + /* Structure for caching sorted ranges. This improves the performance of translating META code to byte code. */ typedef struct class_ranges { - struct class_ranges *next; /* Next class ranges */ + compile_data header; /* Common header */ size_t char_lists_size; /* Total size of encoded char lists */ size_t char_lists_start; /* Start offset of encoded char lists */ uint16_t range_list_size; /* Size of ranges array */ @@ -739,6 +798,14 @@ typedef struct class_ranges { /* Followed by the list of ranges (start/end pairs) */ } class_ranges; +/* Structure for sorted recurse arguments. */ + +typedef struct recurse_arguments { + compile_data header; /* Common header */ + size_t size; /* Total size */ + size_t skip_size; /* Space consumed by arguments */ +} recurse_arguments; + typedef union class_bits_storage { uint8_t classbits[32]; uint32_t classwords[8]; @@ -789,9 +856,9 @@ typedef struct compile_block { BOOL had_pruneorskip; /* (*PRUNE) or (*SKIP) encountered */ BOOL had_recurse; /* Had a pattern recursion or subroutine call */ BOOL dupnames; /* Duplicate names exist */ + compile_data *first_data; /* First item in the compile data list */ + compile_data *last_data; /* Last item in the compile data list */ #ifdef SUPPORT_WIDE_CHARS - class_ranges *cranges; /* First class range. */ - class_ranges *next_cranges; /* Next class range. */ size_t char_lists_size; /* Current size of character lists */ #endif } compile_block; @@ -902,7 +969,9 @@ typedef struct match_block { uint32_t match_call_count; /* Number of times a new frame is created */ BOOL hitend; /* Hit the end of the subject at some point */ BOOL hasthen; /* Pattern contains (*THEN) */ + BOOL hasbsk; /* Pattern contains \K */ BOOL allowemptypartial; /* Allow empty hard partial */ + BOOL allowlookaroundbsk; /* Allow \K within lookarounds */ const uint8_t *lcc; /* Points to lower casing table */ const uint8_t *fcc; /* Points to case-flipping table */ const uint8_t *ctypes; /* Points to table of type maps */ @@ -970,4 +1039,6 @@ typedef struct dfa_match_block { #endif /* PCRE2_PCRE2TEST */ +#endif /* PCRE2_INTMODEDEP_CAN_DEFINE */ + /* End of pcre2_intmodedep.h */ diff --git a/libpcre/src/pcre2_jit_compile.c b/libpcre/src/pcre2_jit_compile.c deleted file mode 100644 index 2d3da6022..000000000 --- a/libpcre/src/pcre2_jit_compile.c +++ /dev/null @@ -1,14103 +0,0 @@ -/************************************************* -* Perl-Compatible Regular Expressions * -*************************************************/ - -/* PCRE is a library of functions to support regular expressions whose syntax -and semantics are as close as possible to those of the Perl 5 language. - - Written by Philip Hazel - This module by Zoltan Herczeg - Original API code Copyright (c) 1997-2012 University of Cambridge - New API code Copyright (c) 2016-2024 University of Cambridge - ------------------------------------------------------------------------------ -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, - this list of conditions and the following disclaimer. - - * 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. - - * Neither the name of the University of Cambridge nor the names of its - contributors may be used to endorse or promote products derived from - this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. ------------------------------------------------------------------------------ -*/ - -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - -#if defined(__has_feature) -#if __has_feature(memory_sanitizer) -#include -#endif /* __has_feature(memory_sanitizer) */ -#endif /* defined(__has_feature) */ - -#include "pcre2_internal.h" - -#ifdef SUPPORT_JIT - -/* All-in-one: Since we use the JIT compiler only from here, -we just include it. This way we don't need to touch the build -system files. */ - -#define SLJIT_CONFIG_AUTO 1 -#define SLJIT_CONFIG_STATIC 1 -#define SLJIT_VERBOSE 0 - -#ifdef PCRE2_DEBUG -#define SLJIT_DEBUG 1 -#else -#define SLJIT_DEBUG 0 -#endif - -#define SLJIT_MALLOC(size, allocator_data) pcre2_jit_malloc(size, allocator_data) -#define SLJIT_FREE(ptr, allocator_data) pcre2_jit_free(ptr, allocator_data) - -static void * pcre2_jit_malloc(size_t size, void *allocator_data) -{ -pcre2_memctl *allocator = ((pcre2_memctl*)allocator_data); -return allocator->malloc(size, allocator->memory_data); -} - -static void pcre2_jit_free(void *ptr, void *allocator_data) -{ -pcre2_memctl *allocator = ((pcre2_memctl*)allocator_data); -allocator->free(ptr, allocator->memory_data); -} - -#include "../deps/sljit/sljit_src/sljitLir.c" - -#if defined SLJIT_CONFIG_UNSUPPORTED && SLJIT_CONFIG_UNSUPPORTED -#error Unsupported architecture -#endif - -/* Defines for debugging purposes. */ - -/* 1 - Use unoptimized capturing brackets. - 2 - Enable capture_last_ptr (includes option 1). */ -/* #define DEBUG_FORCE_UNOPTIMIZED_CBRAS 2 */ - -/* 1 - Always have a control head. */ -/* #define DEBUG_FORCE_CONTROL_HEAD 1 */ - -/* Allocate memory for the regex stack on the real machine stack. -Fast, but limited size. */ -#define MACHINE_STACK_SIZE 32768 - -/* Growth rate for stack allocated by the OS. Should be the multiply -of page size. */ -#define STACK_GROWTH_RATE 8192 - -/* Enable to check that the allocation could destroy temporaries. */ -#if defined SLJIT_DEBUG && SLJIT_DEBUG -#define DESTROY_REGISTERS 1 -#endif - -/* -Short summary about the backtracking mechanism empolyed by the jit code generator: - -The code generator follows the recursive nature of the PERL compatible regular -expressions. The basic blocks of regular expressions are condition checkers -whose execute different commands depending on the result of the condition check. -The relationship between the operators can be horizontal (concatenation) and -vertical (sub-expression) (See struct backtrack_common for more details). - - 'ab' - 'a' and 'b' regexps are concatenated - 'a+' - 'a' is the sub-expression of the '+' operator - -The condition checkers are boolean (true/false) checkers. Machine code is generated -for the checker itself and for the actions depending on the result of the checker. -The 'true' case is called as the matching path (expected path), and the other is called as -the 'backtrack' path. Branch instructions are expesive for all CPUs, so we avoid taken -branches on the matching path. - - Greedy star operator (*) : - Matching path: match happens. - Backtrack path: match failed. - Non-greedy star operator (*?) : - Matching path: no need to perform a match. - Backtrack path: match is required. - -The following example shows how the code generated for a capturing bracket -with two alternatives. Let A, B, C, D are arbirary regular expressions, and -we have the following regular expression: - - A(B|C)D - -The generated code will be the following: - - A matching path - '(' matching path (pushing arguments to the stack) - B matching path - ')' matching path (pushing arguments to the stack) - D matching path - return with successful match - - D backtrack path - ')' backtrack path (If we arrived from "C" jump to the backtrack of "C") - B backtrack path - C expected path - jump to D matching path - C backtrack path - A backtrack path - - Notice, that the order of backtrack code paths are the opposite of the fast - code paths. In this way the topmost value on the stack is always belong - to the current backtrack code path. The backtrack path must check - whether there is a next alternative. If so, it needs to jump back to - the matching path eventually. Otherwise it needs to clear out its own stack - frame and continue the execution on the backtrack code paths. -*/ - -/* -Saved stack frames: - -Atomic blocks and asserts require reloading the values of private data -when the backtrack mechanism performed. Because of OP_RECURSE, the data -are not necessarly known in compile time, thus we need a dynamic restore -mechanism. - -The stack frames are stored in a chain list, and have the following format: -([ capturing bracket offset ][ start value ][ end value ])+ ... [ 0 ] [ previous head ] - -Thus we can restore the private data to a particular point in the stack. -*/ - -typedef struct jit_arguments { - /* Pointers first. */ - struct sljit_stack *stack; - PCRE2_SPTR str; - PCRE2_SPTR begin; - PCRE2_SPTR end; - pcre2_match_data *match_data; - PCRE2_SPTR startchar_ptr; - PCRE2_UCHAR *mark_ptr; - int (*callout)(pcre2_callout_block *, void *); - void *callout_data; - /* Everything else after. */ - sljit_uw offset_limit; - sljit_u32 limit_match; - sljit_u32 oveccount; - sljit_u32 options; -} jit_arguments; - -#define JIT_NUMBER_OF_COMPILE_MODES 3 - -typedef struct executable_functions { - void *executable_funcs[JIT_NUMBER_OF_COMPILE_MODES]; - void *read_only_data_heads[JIT_NUMBER_OF_COMPILE_MODES]; - sljit_uw executable_sizes[JIT_NUMBER_OF_COMPILE_MODES]; - sljit_u32 top_bracket; - sljit_u32 limit_match; -} executable_functions; - -typedef struct jump_list { - struct sljit_jump *jump; - struct jump_list *next; -} jump_list; - -typedef struct stub_list { - struct sljit_jump *start; - struct sljit_label *quit; - struct stub_list *next; -} stub_list; - -enum frame_types { - no_frame = -1, - no_stack = -2 -}; - -enum control_types { - type_mark = 0, - type_then_trap = 1 -}; - -enum early_fail_types { - type_skip = 0, - type_fail = 1, - type_fail_range = 2 -}; - -typedef int (SLJIT_FUNC *jit_function)(jit_arguments *args); - -/* The following structure is the key data type for the recursive -code generator. It is allocated by compile_matchingpath, and contains -the arguments for compile_backtrackingpath. Must be the first member -of its descendants. */ -typedef struct backtrack_common { - /* Backtracking path of an opcode, which falls back - to our opcode, if it cannot resume matching. */ - struct backtrack_common *prev; - /* Backtracks for opcodes without backtracking path. - These opcodes are between 'prev' and the current - opcode, and they never resume the match. */ - jump_list *simple_backtracks; - /* Internal backtracking list for block constructs - which contains other opcodes, such as brackets, - asserts, conditionals, etc. */ - struct backtrack_common *top; - /* Backtracks used internally by the opcode. For component - opcodes, this list is also used by those opcodes without - backtracking path which follows the 'top' backtrack. */ - jump_list *own_backtracks; - /* Opcode pointer. */ - PCRE2_SPTR cc; -} backtrack_common; - -typedef struct assert_backtrack { - backtrack_common common; - jump_list *condfailed; - /* Less than 0 if a frame is not needed. */ - int framesize; - /* Points to our private memory word on the stack. */ - int private_data_ptr; - /* For iterators. */ - struct sljit_label *matchingpath; -} assert_backtrack; - -typedef struct bracket_backtrack { - backtrack_common common; - /* Where to coninue if an alternative is successfully matched. */ - struct sljit_label *alternative_matchingpath; - /* For rmin and rmax iterators. */ - struct sljit_label *recursive_matchingpath; - /* For greedy ? operator. */ - struct sljit_label *zero_matchingpath; - /* Contains the branches of a failed condition. */ - union { - /* Both for OP_COND, OP_SCOND, OP_ASSERT_SCS. */ - jump_list *no_capture; - assert_backtrack *assert; - /* For OP_ONCE. Less than 0 if not needed. */ - int framesize; - } u; - /* For brackets with >3 alternatives. */ - struct sljit_jump *matching_mov_addr; - /* Points to our private memory word on the stack. */ - int private_data_ptr; -} bracket_backtrack; - -typedef struct bracketpos_backtrack { - backtrack_common common; - /* Points to our private memory word on the stack. */ - int private_data_ptr; - /* Reverting stack is needed. */ - int framesize; - /* Allocated stack size. */ - int stacksize; -} bracketpos_backtrack; - -typedef struct braminzero_backtrack { - backtrack_common common; - struct sljit_label *matchingpath; -} braminzero_backtrack; - -typedef struct char_iterator_backtrack { - backtrack_common common; - /* Next iteration. */ - struct sljit_label *matchingpath; - /* Creating a range based on the next character. */ - struct { - unsigned int othercasebit; - PCRE2_UCHAR chr; - BOOL charpos_enabled; - } charpos; -} char_iterator_backtrack; - -typedef struct ref_iterator_backtrack { - backtrack_common common; - /* Next iteration. */ - struct sljit_label *matchingpath; -} ref_iterator_backtrack; - -typedef struct recurse_entry { - struct recurse_entry *next; - /* Contains the function entry label. */ - struct sljit_label *entry_label; - /* Contains the function entry label. */ - struct sljit_label *backtrack_label; - /* Collects the entry calls until the function is not created. */ - jump_list *entry_calls; - /* Collects the backtrack calls until the function is not created. */ - jump_list *backtrack_calls; - /* Points to the starting opcode. */ - sljit_sw start; -} recurse_entry; - -typedef struct recurse_backtrack { - backtrack_common common; - /* Return to the matching path. */ - struct sljit_label *matchingpath; - /* Recursive pattern. */ - recurse_entry *entry; - /* Pattern is inlined. */ - BOOL inlined_pattern; -} recurse_backtrack; - -typedef struct vreverse_backtrack { - backtrack_common common; - /* Return to the matching path. */ - struct sljit_label *matchingpath; -} vreverse_backtrack; - -#define OP_THEN_TRAP OP_TABLE_LENGTH - -typedef struct then_trap_backtrack { - backtrack_common common; - /* If then_trap is not NULL, this structure contains the real - then_trap for the backtracking path. */ - struct then_trap_backtrack *then_trap; - /* Points to the starting opcode. */ - sljit_sw start; - /* Exit point for the then opcodes of this alternative. */ - jump_list *quit; - /* Frame size of the current alternative. */ - int framesize; -} then_trap_backtrack; - -#define MAX_N_CHARS 12 -#define MAX_DIFF_CHARS 5 - -typedef struct fast_forward_char_data { - /* Number of characters in the chars array, 255 for any character. */ - sljit_u8 count; - /* Number of last UTF-8 characters in the chars array. */ - sljit_u8 last_count; - /* Available characters in the current position. */ - PCRE2_UCHAR chars[MAX_DIFF_CHARS]; -} fast_forward_char_data; - -#define MAX_CLASS_RANGE_SIZE 4 -#define MAX_CLASS_CHARS_SIZE 3 - -typedef struct compiler_common { - /* The sljit ceneric compiler. */ - struct sljit_compiler *compiler; - /* Compiled regular expression. */ - pcre2_real_code *re; - /* First byte code. */ - PCRE2_SPTR start; - /* Maps private data offset to each opcode. */ - sljit_s32 *private_data_ptrs; - /* Chain list of read-only data ptrs. */ - void *read_only_data_head; - /* Tells whether the capturing bracket is optimized. */ - sljit_u8 *optimized_cbracket; - /* Tells whether the starting offset is a target of then. */ - sljit_u8 *then_offsets; - /* Current position where a THEN must jump. */ - then_trap_backtrack *then_trap; - /* Starting offset of private data for capturing brackets. */ - sljit_s32 cbra_ptr; -#if defined SLJIT_DEBUG && SLJIT_DEBUG - /* End offset of locals for assertions. */ - sljit_s32 locals_size; -#endif - /* Output vector starting point. Must be divisible by 2. */ - sljit_s32 ovector_start; - /* Points to the starting character of the current match. */ - sljit_s32 start_ptr; - /* Last known position of the requested byte. */ - sljit_s32 req_char_ptr; - /* Head of the last recursion. */ - sljit_s32 recursive_head_ptr; - /* First inspected character for partial matching. - (Needed for avoiding zero length partial matches.) */ - sljit_s32 start_used_ptr; - /* Starting pointer for partial soft matches. */ - sljit_s32 hit_start; - /* Pointer of the match end position. */ - sljit_s32 match_end_ptr; - /* Points to the marked string. */ - sljit_s32 mark_ptr; - /* Head of the recursive control verb management chain. - Each item must have a previous offset and type - (see control_types) values. See do_search_mark. */ - sljit_s32 control_head_ptr; - /* The offset of the saved STR_END in the outermost - scan substring block. Since scan substring restores - STR_END after a match, it is enough to restore - STR_END inside a scan substring block. */ - sljit_s32 restore_end_ptr; - /* Points to the last matched capture block index. */ - sljit_s32 capture_last_ptr; - /* Fast forward skipping byte code pointer. */ - PCRE2_SPTR fast_forward_bc_ptr; - /* Locals used by fast fail optimization. */ - sljit_s32 early_fail_start_ptr; - sljit_s32 early_fail_end_ptr; - /* Variables used by recursive call generator. */ - sljit_s32 recurse_bitset_size; - uint8_t *recurse_bitset; - - /* Flipped and lower case tables. */ - const sljit_u8 *fcc; - sljit_sw lcc; - /* Mode can be PCRE2_JIT_COMPLETE and others. */ - int mode; - /* TRUE, when empty match is accepted for partial matching. */ - BOOL allow_empty_partial; - /* TRUE, when minlength is greater than 0. */ - BOOL might_be_empty; - /* \K is found in the pattern. */ - BOOL has_set_som; - /* (*SKIP:arg) is found in the pattern. */ - BOOL has_skip_arg; - /* (*THEN) is found in the pattern. */ - BOOL has_then; - /* (*SKIP) or (*SKIP:arg) is found in lookbehind assertion. */ - BOOL has_skip_in_assert_back; - /* Quit is redirected by recurse, negative assertion, or positive assertion in conditional block. */ - BOOL local_quit_available; - /* Currently in a positive assertion. */ - BOOL in_positive_assertion; - /* Newline control. */ - int nltype; - sljit_u32 nlmax; - sljit_u32 nlmin; - int newline; - int bsr_nltype; - sljit_u32 bsr_nlmax; - sljit_u32 bsr_nlmin; - /* Dollar endonly. */ - int endonly; - /* Tables. */ - sljit_sw ctypes; - /* Named capturing brackets. */ - PCRE2_SPTR name_table; - sljit_sw name_count; - sljit_sw name_entry_size; - - /* Labels and jump lists. */ - struct sljit_label *partialmatchlabel; - struct sljit_label *quit_label; - struct sljit_label *abort_label; - struct sljit_label *accept_label; - struct sljit_label *ff_newline_shortcut; - stub_list *stubs; - recurse_entry *entries; - recurse_entry *currententry; - jump_list *partialmatch; - jump_list *quit; - jump_list *positive_assertion_quit; - jump_list *abort; - jump_list *failed_match; - jump_list *accept; - jump_list *calllimit; - jump_list *stackalloc; - jump_list *revertframes; - jump_list *wordboundary; - jump_list *ucp_wordboundary; - jump_list *anynewline; - jump_list *hspace; - jump_list *vspace; - jump_list *casefulcmp; - jump_list *caselesscmp; - jump_list *reset_match; - /* Same as reset_match, but resets the STR_PTR as well. */ - jump_list *restart_match; - BOOL unset_backref; - BOOL alt_circumflex; -#ifdef SUPPORT_UNICODE - BOOL utf; - BOOL invalid_utf; - BOOL ucp; - /* Points to saving area for iref. */ - jump_list *getucd; - jump_list *getucdtype; -#if PCRE2_CODE_UNIT_WIDTH == 8 - jump_list *utfreadchar; - jump_list *utfreadtype8; - jump_list *utfpeakcharback; -#endif -#if PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 - jump_list *utfreadchar_invalid; - jump_list *utfreadnewline_invalid; - jump_list *utfmoveback_invalid; - jump_list *utfpeakcharback_invalid; -#endif -#endif /* SUPPORT_UNICODE */ -} compiler_common; - -/* For byte_sequence_compare. */ - -typedef struct compare_context { - int length; - int sourcereg; -#if defined SLJIT_UNALIGNED && SLJIT_UNALIGNED - int ucharptr; - union { - sljit_s32 asint; - sljit_u16 asushort; -#if PCRE2_CODE_UNIT_WIDTH == 8 - sljit_u8 asbyte; - sljit_u8 asuchars[4]; -#elif PCRE2_CODE_UNIT_WIDTH == 16 - sljit_u16 asuchars[2]; -#elif PCRE2_CODE_UNIT_WIDTH == 32 - sljit_u32 asuchars[1]; -#endif - } c; - union { - sljit_s32 asint; - sljit_u16 asushort; -#if PCRE2_CODE_UNIT_WIDTH == 8 - sljit_u8 asbyte; - sljit_u8 asuchars[4]; -#elif PCRE2_CODE_UNIT_WIDTH == 16 - sljit_u16 asuchars[2]; -#elif PCRE2_CODE_UNIT_WIDTH == 32 - sljit_u32 asuchars[1]; -#endif - } oc; -#endif -} compare_context; - -/* Undefine sljit macros. */ -#undef CMP - -/* Used for accessing the elements of the stack. */ -#define STACK(i) ((i) * SSIZE_OF(sw)) - -#ifdef SLJIT_PREF_SHIFT_REG -#if SLJIT_PREF_SHIFT_REG == SLJIT_R2 -/* Nothing. */ -#elif SLJIT_PREF_SHIFT_REG == SLJIT_R3 -#define SHIFT_REG_IS_R3 -#else -#error "Unsupported shift register" -#endif -#endif - -#define TMP1 SLJIT_R0 -#ifdef SHIFT_REG_IS_R3 -#define TMP2 SLJIT_R3 -#define TMP3 SLJIT_R2 -#else -#define TMP2 SLJIT_R2 -#define TMP3 SLJIT_R3 -#endif -#define STR_PTR SLJIT_R1 -#define STR_END SLJIT_S0 -#define STACK_TOP SLJIT_S1 -#define STACK_LIMIT SLJIT_S2 -#define COUNT_MATCH SLJIT_S3 -#define ARGUMENTS SLJIT_S4 -#define RETURN_ADDR SLJIT_R4 - -#if (defined SLJIT_CONFIG_X86_32 && SLJIT_CONFIG_X86_32) -#define HAS_VIRTUAL_REGISTERS 1 -#else -#define HAS_VIRTUAL_REGISTERS 0 -#endif - -/* Local space layout. */ -/* Max limit of recursions. */ -#define LIMIT_MATCH (0 * sizeof(sljit_sw)) -/* Local variables. Their number is computed by check_opcode_types. */ -#define LOCAL0 (1 * sizeof(sljit_sw)) -#define LOCAL1 (2 * sizeof(sljit_sw)) -#define LOCAL2 (3 * sizeof(sljit_sw)) -#define LOCAL3 (4 * sizeof(sljit_sw)) -#define LOCAL4 (5 * sizeof(sljit_sw)) -/* The output vector is stored on the stack, and contains pointers -to characters. The vector data is divided into two groups: the first -group contains the start / end character pointers, and the second is -the start pointers when the end of the capturing group has not yet reached. */ -#define OVECTOR_START (common->ovector_start) -#define OVECTOR(i) (OVECTOR_START + (i) * SSIZE_OF(sw)) -#define OVECTOR_PRIV(i) (common->cbra_ptr + (i) * SSIZE_OF(sw)) -#define PRIVATE_DATA(cc) (common->private_data_ptrs[(cc) - common->start]) - -#if PCRE2_CODE_UNIT_WIDTH == 8 -#define MOV_UCHAR SLJIT_MOV_U8 -#define IN_UCHARS(x) (x) -#elif PCRE2_CODE_UNIT_WIDTH == 16 -#define MOV_UCHAR SLJIT_MOV_U16 -#define UCHAR_SHIFT (1) -#define IN_UCHARS(x) ((x) * 2) -#elif PCRE2_CODE_UNIT_WIDTH == 32 -#define MOV_UCHAR SLJIT_MOV_U32 -#define UCHAR_SHIFT (2) -#define IN_UCHARS(x) ((x) * 4) -#else -#error Unsupported compiling mode -#endif - -/* Shortcuts. */ -#define DEFINE_COMPILER \ - struct sljit_compiler *compiler = common->compiler -#define OP1(op, dst, dstw, src, srcw) \ - sljit_emit_op1(compiler, (op), (dst), (dstw), (src), (srcw)) -#define OP2(op, dst, dstw, src1, src1w, src2, src2w) \ - sljit_emit_op2(compiler, (op), (dst), (dstw), (src1), (src1w), (src2), (src2w)) -#define OP2U(op, src1, src1w, src2, src2w) \ - sljit_emit_op2u(compiler, (op), (src1), (src1w), (src2), (src2w)) -#define OP_SRC(op, src, srcw) \ - sljit_emit_op_src(compiler, (op), (src), (srcw)) -#define LABEL() \ - sljit_emit_label(compiler) -#define JUMP(type) \ - sljit_emit_jump(compiler, (type)) -#define JUMPTO(type, label) \ - sljit_set_label(sljit_emit_jump(compiler, (type)), (label)) -#define JUMPHERE(jump) \ - sljit_set_label((jump), sljit_emit_label(compiler)) -#define SET_LABEL(jump, label) \ - sljit_set_label((jump), (label)) -#define CMP(type, src1, src1w, src2, src2w) \ - sljit_emit_cmp(compiler, (type), (src1), (src1w), (src2), (src2w)) -#define CMPTO(type, src1, src1w, src2, src2w, label) \ - sljit_set_label(sljit_emit_cmp(compiler, (type), (src1), (src1w), (src2), (src2w)), (label)) -#define OP_FLAGS(op, dst, dstw, type) \ - sljit_emit_op_flags(compiler, (op), (dst), (dstw), (type)) -#define SELECT(type, dst_reg, src1, src1w, src2_reg) \ - sljit_emit_select(compiler, (type), (dst_reg), (src1), (src1w), (src2_reg)) -#define GET_LOCAL_BASE(dst, dstw, offset) \ - sljit_get_local_base(compiler, (dst), (dstw), (offset)) - -#define READ_CHAR_MAX ((sljit_u32)0xffffffff) - -#define INVALID_UTF_CHAR -1 -#define UNASSIGNED_UTF_CHAR 888 - -#if defined SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 - -#define GETCHARINC_INVALID(c, ptr, end, invalid_action) \ - { \ - if (ptr[0] <= 0x7f) \ - c = *ptr++; \ - else if (ptr + 1 < end && ptr[1] >= 0x80 && ptr[1] < 0xc0) \ - { \ - c = ptr[1] - 0x80; \ - \ - if (ptr[0] >= 0xc2 && ptr[0] <= 0xdf) \ - { \ - c |= (ptr[0] - 0xc0) << 6; \ - ptr += 2; \ - } \ - else if (ptr + 2 < end && ptr[2] >= 0x80 && ptr[2] < 0xc0) \ - { \ - c = c << 6 | (ptr[2] - 0x80); \ - \ - if (ptr[0] >= 0xe0 && ptr[0] <= 0xef) \ - { \ - c |= (ptr[0] - 0xe0) << 12; \ - ptr += 3; \ - \ - if (c < 0x800 || (c >= 0xd800 && c < 0xe000)) \ - { \ - invalid_action; \ - } \ - } \ - else if (ptr + 3 < end && ptr[3] >= 0x80 && ptr[3] < 0xc0) \ - { \ - c = c << 6 | (ptr[3] - 0x80); \ - \ - if (ptr[0] >= 0xf0 && ptr[0] <= 0xf4) \ - { \ - c |= (ptr[0] - 0xf0) << 18; \ - ptr += 4; \ - \ - if (c >= 0x110000 || c < 0x10000) \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } - -#define GETCHARBACK_INVALID(c, ptr, start, invalid_action) \ - { \ - c = ptr[-1]; \ - if (c <= 0x7f) \ - ptr--; \ - else if (ptr - 1 > start && ptr[-1] >= 0x80 && ptr[-1] < 0xc0) \ - { \ - c -= 0x80; \ - \ - if (ptr[-2] >= 0xc2 && ptr[-2] <= 0xdf) \ - { \ - c |= (ptr[-2] - 0xc0) << 6; \ - ptr -= 2; \ - } \ - else if (ptr - 2 > start && ptr[-2] >= 0x80 && ptr[-2] < 0xc0) \ - { \ - c = c << 6 | (ptr[-2] - 0x80); \ - \ - if (ptr[-3] >= 0xe0 && ptr[-3] <= 0xef) \ - { \ - c |= (ptr[-3] - 0xe0) << 12; \ - ptr -= 3; \ - \ - if (c < 0x800 || (c >= 0xd800 && c < 0xe000)) \ - { \ - invalid_action; \ - } \ - } \ - else if (ptr - 3 > start && ptr[-3] >= 0x80 && ptr[-3] < 0xc0) \ - { \ - c = c << 6 | (ptr[-3] - 0x80); \ - \ - if (ptr[-4] >= 0xf0 && ptr[-4] <= 0xf4) \ - { \ - c |= (ptr[-4] - 0xf0) << 18; \ - ptr -= 4; \ - \ - if (c >= 0x110000 || c < 0x10000) \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } \ - else \ - { \ - invalid_action; \ - } \ - } - -#elif PCRE2_CODE_UNIT_WIDTH == 16 - -#define GETCHARINC_INVALID(c, ptr, end, invalid_action) \ - { \ - if (ptr[0] < 0xd800 || ptr[0] >= 0xe000) \ - c = *ptr++; \ - else if (ptr[0] < 0xdc00 && ptr + 1 < end && ptr[1] >= 0xdc00 && ptr[1] < 0xe000) \ - { \ - c = (((ptr[0] - 0xd800) << 10) | (ptr[1] - 0xdc00)) + 0x10000; \ - ptr += 2; \ - } \ - else \ - { \ - invalid_action; \ - } \ - } - -#define GETCHARBACK_INVALID(c, ptr, start, invalid_action) \ - { \ - c = ptr[-1]; \ - if (c < 0xd800 || c >= 0xe000) \ - ptr--; \ - else if (c >= 0xdc00 && ptr - 1 > start && ptr[-2] >= 0xd800 && ptr[-2] < 0xdc00) \ - { \ - c = (((ptr[-2] - 0xd800) << 10) | (c - 0xdc00)) + 0x10000; \ - ptr -= 2; \ - } \ - else \ - { \ - invalid_action; \ - } \ - } - - -#elif PCRE2_CODE_UNIT_WIDTH == 32 - -#define GETCHARINC_INVALID(c, ptr, end, invalid_action) \ - { \ - if (ptr[0] < 0xd800 || (ptr[0] >= 0xe000 && ptr[0] < 0x110000)) \ - c = *ptr++; \ - else \ - { \ - invalid_action; \ - } \ - } - -#define GETCHARBACK_INVALID(c, ptr, start, invalid_action) \ - { \ - c = ptr[-1]; \ - if (ptr[-1] < 0xd800 || (ptr[-1] >= 0xe000 && ptr[-1] < 0x110000)) \ - ptr--; \ - else \ - { \ - invalid_action; \ - } \ - } - -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -#endif /* SUPPORT_UNICODE */ - -static PCRE2_SPTR bracketend(PCRE2_SPTR cc) -{ -SLJIT_ASSERT((*cc >= OP_ASSERT && *cc <= OP_ASSERT_SCS) || (*cc >= OP_ONCE && *cc <= OP_SCOND)); -do cc += GET(cc, 1); while (*cc == OP_ALT); -SLJIT_ASSERT(*cc >= OP_KET && *cc <= OP_KETRPOS); -cc += 1 + LINK_SIZE; -return cc; -} - -static int no_alternatives(PCRE2_SPTR cc) -{ -int count = 0; -SLJIT_ASSERT((*cc >= OP_ASSERT && *cc <= OP_ASSERT_SCS) || (*cc >= OP_ONCE && *cc <= OP_SCOND)); -do - { - cc += GET(cc, 1); - count++; - } -while (*cc == OP_ALT); -SLJIT_ASSERT(*cc >= OP_KET && *cc <= OP_KETRPOS); -return count; -} - -static BOOL find_vreverse(PCRE2_SPTR cc) -{ - SLJIT_ASSERT(*cc == OP_ASSERTBACK || *cc == OP_ASSERTBACK_NOT || *cc == OP_ASSERTBACK_NA); - - do - { - if (cc[1 + LINK_SIZE] == OP_VREVERSE) - return TRUE; - cc += GET(cc, 1); - } - while (*cc == OP_ALT); - - return FALSE; -} - -/* Functions whose might need modification for all new supported opcodes: - next_opcode - check_opcode_types - set_private_data_ptrs - get_framesize - init_frame - get_recurse_data_length - copy_recurse_data - compile_matchingpath - compile_backtrackingpath -*/ - -static PCRE2_SPTR next_opcode(compiler_common *common, PCRE2_SPTR cc) -{ -SLJIT_UNUSED_ARG(common); -switch(*cc) - { - case OP_SOD: - case OP_SOM: - case OP_SET_SOM: - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - case OP_ALLANY: - case OP_NOTPROP: - case OP_PROP: - case OP_ANYNL: - case OP_NOT_HSPACE: - case OP_HSPACE: - case OP_NOT_VSPACE: - case OP_VSPACE: - case OP_EXTUNI: - case OP_EODN: - case OP_EOD: - case OP_CIRC: - case OP_CIRCM: - case OP_DOLL: - case OP_DOLLM: - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - case OP_CRRANGE: - case OP_CRMINRANGE: - case OP_CRPOSSTAR: - case OP_CRPOSPLUS: - case OP_CRPOSQUERY: - case OP_CRPOSRANGE: - case OP_CLASS: - case OP_NCLASS: - case OP_REF: - case OP_REFI: - case OP_DNREF: - case OP_DNREFI: - case OP_RECURSE: - case OP_CALLOUT: - case OP_ALT: - case OP_KET: - case OP_KETRMAX: - case OP_KETRMIN: - case OP_KETRPOS: - case OP_REVERSE: - case OP_VREVERSE: - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ASSERT_SCS: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRA: - case OP_BRAPOS: - case OP_CBRA: - case OP_CBRAPOS: - case OP_COND: - case OP_SBRA: - case OP_SBRAPOS: - case OP_SCBRA: - case OP_SCBRAPOS: - case OP_SCOND: - case OP_CREF: - case OP_DNCREF: - case OP_RREF: - case OP_DNRREF: - case OP_FALSE: - case OP_TRUE: - case OP_BRAZERO: - case OP_BRAMINZERO: - case OP_BRAPOSZERO: - case OP_PRUNE: - case OP_SKIP: - case OP_THEN: - case OP_COMMIT: - case OP_FAIL: - case OP_ACCEPT: - case OP_ASSERT_ACCEPT: - case OP_CLOSE: - case OP_SKIPZERO: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - return cc + PRIV(OP_lengths)[*cc]; - - case OP_CHAR: - case OP_CHARI: - case OP_NOT: - case OP_NOTI: - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - case OP_UPTO: - case OP_MINUPTO: - case OP_EXACT: - case OP_POSSTAR: - case OP_POSPLUS: - case OP_POSQUERY: - case OP_POSUPTO: - case OP_STARI: - case OP_MINSTARI: - case OP_PLUSI: - case OP_MINPLUSI: - case OP_QUERYI: - case OP_MINQUERYI: - case OP_UPTOI: - case OP_MINUPTOI: - case OP_EXACTI: - case OP_POSSTARI: - case OP_POSPLUSI: - case OP_POSQUERYI: - case OP_POSUPTOI: - case OP_NOTSTAR: - case OP_NOTMINSTAR: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - case OP_NOTEXACT: - case OP_NOTPOSSTAR: - case OP_NOTPOSPLUS: - case OP_NOTPOSQUERY: - case OP_NOTPOSUPTO: - case OP_NOTSTARI: - case OP_NOTMINSTARI: - case OP_NOTPLUSI: - case OP_NOTMINPLUSI: - case OP_NOTQUERYI: - case OP_NOTMINQUERYI: - case OP_NOTUPTOI: - case OP_NOTMINUPTOI: - case OP_NOTEXACTI: - case OP_NOTPOSSTARI: - case OP_NOTPOSPLUSI: - case OP_NOTPOSQUERYI: - case OP_NOTPOSUPTOI: - cc += PRIV(OP_lengths)[*cc]; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - return cc; - - /* Special cases. */ - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - case OP_TYPEEXACT: - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - case OP_TYPEPOSQUERY: - case OP_TYPEPOSUPTO: - return cc + PRIV(OP_lengths)[*cc] - 1; - - case OP_ANYBYTE: -#ifdef SUPPORT_UNICODE - if (common->utf) return NULL; -#endif - return cc + 1; - - case OP_CALLOUT_STR: - return cc + GET(cc, 1 + 2*LINK_SIZE); - -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_ECLASS: - case OP_XCLASS: - SLJIT_COMPILE_ASSERT(OP_XCLASS + 1 == OP_ECLASS && OP_CLASS + 1 == OP_NCLASS && OP_NCLASS < OP_XCLASS, class_byte_code_order); - return cc + GET(cc, 1); -#endif - - case OP_MARK: - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_SKIP_ARG: - case OP_THEN_ARG: - return cc + 1 + 2 + cc[1]; - - default: - SLJIT_UNREACHABLE(); - return NULL; - } -} - -static sljit_s32 ref_update_local_size(compiler_common *common, PCRE2_SPTR cc, sljit_s32 current_locals_size) -{ -/* Depends on do_casefulcmp(), do_caselesscmp(), and compile_ref_matchingpath() */ -int locals_size = 2 * SSIZE_OF(sw); -SLJIT_UNUSED_ARG(common); - -#ifdef SUPPORT_UNICODE -if ((*cc == OP_REFI || *cc == OP_DNREFI) && (common->utf || common->ucp)) - locals_size = 3 * SSIZE_OF(sw); -#endif - -cc += PRIV(OP_lengths)[*cc]; -/* Although do_casefulcmp() uses only one local, the allocate_stack() -calls during the repeat destroys LOCAL1 variables. */ -if (*cc >= OP_CRSTAR && *cc <= OP_CRPOSRANGE) - locals_size += 2 * SSIZE_OF(sw); - -return (current_locals_size >= locals_size) ? current_locals_size : locals_size; -} - -static BOOL check_opcode_types(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend) -{ -int count; -PCRE2_SPTR slot; -PCRE2_SPTR assert_back_end = cc - 1; -PCRE2_SPTR assert_na_end = cc - 1; -sljit_s32 locals_size = 2 * SSIZE_OF(sw); -BOOL set_recursive_head = FALSE; -BOOL set_capture_last = FALSE; -BOOL set_mark = FALSE; - -/* Calculate important variables (like stack size) and checks whether all opcodes are supported. */ -while (cc < ccend) - { - switch(*cc) - { - case OP_SET_SOM: - common->has_set_som = TRUE; - common->might_be_empty = TRUE; - cc += 1; - break; - - case OP_TYPEUPTO: - case OP_TYPEEXACT: - if (cc[1 + IMM2_SIZE] == OP_EXTUNI && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); - cc += (2 + IMM2_SIZE) - 1; - break; - - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - case OP_TYPEPOSQUERY: - if (cc[1] == OP_EXTUNI && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); - cc += 2 - 1; - break; - - case OP_TYPEPOSUPTO: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); -#endif - if (cc[1 + IMM2_SIZE] == OP_EXTUNI && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); - cc += (2 + IMM2_SIZE) - 1; - break; - - case OP_REFI: - case OP_REF: - locals_size = ref_update_local_size(common, cc, locals_size); - common->optimized_cbracket[GET2(cc, 1)] = 0; - cc += PRIV(OP_lengths)[*cc]; - break; - - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ASSERT_SCS: - slot = bracketend(cc); - if (slot > assert_na_end) - assert_na_end = slot; - cc += 1 + LINK_SIZE; - break; - - case OP_CBRAPOS: - case OP_SCBRAPOS: - common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] = 0; - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_COND: - case OP_SCOND: - /* Only AUTO_CALLOUT can insert this opcode. We do - not intend to support this case. */ - if (cc[1 + LINK_SIZE] == OP_CALLOUT || cc[1 + LINK_SIZE] == OP_CALLOUT_STR) - return FALSE; - cc += 1 + LINK_SIZE; - break; - - case OP_CREF: - common->optimized_cbracket[GET2(cc, 1)] = 0; - cc += 1 + IMM2_SIZE; - break; - - case OP_DNREFI: - case OP_DNREF: - locals_size = ref_update_local_size(common, cc, locals_size); - /* Fall through */ - case OP_DNCREF: - count = GET2(cc, 1 + IMM2_SIZE); - slot = common->name_table + GET2(cc, 1) * common->name_entry_size; - while (count-- > 0) - { - common->optimized_cbracket[GET2(slot, 0)] = 0; - slot += common->name_entry_size; - } - cc += PRIV(OP_lengths)[*cc]; - break; - - case OP_RECURSE: - /* Set its value only once. */ - set_recursive_head = TRUE; - cc += 1 + LINK_SIZE; - break; - - case OP_CALLOUT: - case OP_CALLOUT_STR: - set_capture_last = TRUE; - cc += (*cc == OP_CALLOUT) ? PRIV(OP_lengths)[OP_CALLOUT] : GET(cc, 1 + 2*LINK_SIZE); - break; - - case OP_ASSERTBACK: - slot = bracketend(cc); - if (slot > assert_back_end) - assert_back_end = slot; - cc += 1 + LINK_SIZE; - break; - - case OP_THEN_ARG: - common->has_then = TRUE; - common->control_head_ptr = 1; - /* Fall through. */ - - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_MARK: - set_mark = TRUE; - cc += 1 + 2 + cc[1]; - break; - - case OP_THEN: - common->has_then = TRUE; - common->control_head_ptr = 1; - cc += 1; - break; - - case OP_SKIP: - if (cc < assert_back_end) - common->has_skip_in_assert_back = TRUE; - cc += 1; - break; - - case OP_SKIP_ARG: - common->control_head_ptr = 1; - common->has_skip_arg = TRUE; - if (cc < assert_back_end) - common->has_skip_in_assert_back = TRUE; - cc += 1 + 2 + cc[1]; - break; - - case OP_ASSERT_ACCEPT: - if (cc < assert_na_end) - return FALSE; - cc++; - break; - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - case OP_CRPOSRANGE: - /* The second value can be 0 for infinite repeats. */ - if (common->utf && GET2(cc, 1) != GET2(cc, 1 + IMM2_SIZE) && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); - cc += 1 + 2 * IMM2_SIZE; - break; - - case OP_POSUPTO: - case OP_POSUPTOI: - case OP_NOTPOSUPTO: - case OP_NOTPOSUPTOI: - if (common->utf && locals_size <= 3 * SSIZE_OF(sw)) - locals_size = 3 * SSIZE_OF(sw); -#endif - /* Fall through */ - default: - cc = next_opcode(common, cc); - if (cc == NULL) - return FALSE; - break; - } - } - -SLJIT_ASSERT((locals_size & (SSIZE_OF(sw) - 1)) == 0); -#if defined SLJIT_DEBUG && SLJIT_DEBUG -common->locals_size = locals_size; -#endif - -if (locals_size > 0) - common->ovector_start += locals_size; - -if (set_mark) - { - SLJIT_ASSERT(common->mark_ptr == 0); - common->mark_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -if (set_recursive_head) - { - SLJIT_ASSERT(common->recursive_head_ptr == 0); - common->recursive_head_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -if (set_capture_last) - { - SLJIT_ASSERT(common->capture_last_ptr == 0); - common->capture_last_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -return TRUE; -} - -#define EARLY_FAIL_ENHANCE_MAX (3 + 3) - -/* - Start represent the number of allowed early fail enhancements - - The 0-2 values has a special meaning: - 0 - skip is allowed for all iterators - 1 - fail is allowed for all iterators - 2 - fail is allowed for greedy iterators - 3 - only ranged early fail is allowed - >3 - (start - 3) number of remaining ranged early fails allowed - -return: the updated value of start -*/ -static int detect_early_fail(compiler_common *common, PCRE2_SPTR cc, - int *private_data_start, sljit_s32 depth, int start) -{ -PCRE2_SPTR begin = cc; -PCRE2_SPTR next_alt; -PCRE2_SPTR end; -PCRE2_SPTR accelerated_start; -int result = 0; -int count, prev_count; - -SLJIT_ASSERT(*cc == OP_ONCE || *cc == OP_BRA || *cc == OP_CBRA); -SLJIT_ASSERT(*cc != OP_CBRA || common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] != 0); -SLJIT_ASSERT(start < EARLY_FAIL_ENHANCE_MAX); - -next_alt = cc + GET(cc, 1); -if (*next_alt == OP_ALT && start < 1) - start = 1; - -do - { - count = start; - cc += 1 + LINK_SIZE + ((*cc == OP_CBRA) ? IMM2_SIZE : 0); - - while (TRUE) - { - accelerated_start = NULL; - - switch(*cc) - { - case OP_SOD: - case OP_SOM: - case OP_SET_SOM: - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_EODN: - case OP_EOD: - case OP_CIRC: - case OP_CIRCM: - case OP_DOLL: - case OP_DOLLM: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - /* Zero width assertions. */ - cc++; - continue; - - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - case OP_ALLANY: - case OP_ANYBYTE: - case OP_NOT_HSPACE: - case OP_HSPACE: - case OP_NOT_VSPACE: - case OP_VSPACE: - if (count < 1) - count = 1; - cc++; - continue; - - case OP_ANYNL: - case OP_EXTUNI: - if (count < 3) - count = 3; - cc++; - continue; - - case OP_NOTPROP: - case OP_PROP: - if (count < 1) - count = 1; - cc += 1 + 2; - continue; - - case OP_CHAR: - case OP_CHARI: - case OP_NOT: - case OP_NOTI: - if (count < 1) - count = 1; - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - continue; - - case OP_TYPEMINSTAR: - case OP_TYPEMINPLUS: - if (count == 2) - count = 3; - /* Fall through */ - - case OP_TYPESTAR: - case OP_TYPEPLUS: - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - /* The type or prop opcode is skipped in the next iteration. */ - cc += 1; - - if (cc[0] != OP_ANYNL && cc[0] != OP_EXTUNI) - { - accelerated_start = cc - 1; - break; - } - - if (count < 3) - count = 3; - continue; - - case OP_TYPEEXACT: - if (count < 1) - count = 1; - cc += 1 + IMM2_SIZE; - continue; - - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - case OP_TYPEPOSUPTO: - cc += IMM2_SIZE; - /* Fall through */ - - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - case OP_TYPEPOSQUERY: - /* The type or prop opcode is skipped in the next iteration. */ - if (count < 3) - count = 3; - cc += 1; - continue; - - case OP_MINSTAR: - case OP_MINPLUS: - case OP_MINSTARI: - case OP_MINPLUSI: - case OP_NOTMINSTAR: - case OP_NOTMINPLUS: - case OP_NOTMINSTARI: - case OP_NOTMINPLUSI: - if (count == 2) - count = 3; - /* Fall through */ - - case OP_STAR: - case OP_PLUS: - case OP_POSSTAR: - case OP_POSPLUS: - - case OP_STARI: - case OP_PLUSI: - case OP_POSSTARI: - case OP_POSPLUSI: - - case OP_NOTSTAR: - case OP_NOTPLUS: - case OP_NOTPOSSTAR: - case OP_NOTPOSPLUS: - - case OP_NOTSTARI: - case OP_NOTPLUSI: - case OP_NOTPOSSTARI: - case OP_NOTPOSPLUSI: - accelerated_start = cc; - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - case OP_EXACT: - if (count < 1) - count = 1; - cc += 2 + IMM2_SIZE; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - continue; - - case OP_UPTO: - case OP_MINUPTO: - case OP_POSUPTO: - case OP_UPTOI: - case OP_MINUPTOI: - case OP_EXACTI: - case OP_POSUPTOI: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - case OP_NOTEXACT: - case OP_NOTPOSUPTO: - case OP_NOTUPTOI: - case OP_NOTMINUPTOI: - case OP_NOTEXACTI: - case OP_NOTPOSUPTOI: - cc += IMM2_SIZE; - /* Fall through */ - - case OP_QUERY: - case OP_MINQUERY: - case OP_POSQUERY: - case OP_QUERYI: - case OP_MINQUERYI: - case OP_POSQUERYI: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - case OP_NOTPOSQUERY: - case OP_NOTQUERYI: - case OP_NOTMINQUERYI: - case OP_NOTPOSQUERYI: - if (count < 3) - count = 3; - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - continue; - - case OP_CLASS: - case OP_NCLASS: -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: - accelerated_start = cc; - cc += (*cc >= OP_XCLASS) ? GET(cc, 1) : (unsigned int)(1 + (32 / sizeof(PCRE2_UCHAR))); -#else - accelerated_start = cc; - cc += (1 + (32 / sizeof(PCRE2_UCHAR))); -#endif - - switch (*cc) - { - case OP_CRMINSTAR: - case OP_CRMINPLUS: - if (count == 2) - count = 3; - /* Fall through */ - - case OP_CRSTAR: - case OP_CRPLUS: - case OP_CRPOSSTAR: - case OP_CRPOSPLUS: - cc++; - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - case OP_CRPOSRANGE: - if (GET2(cc, 1) == GET2(cc, 1 + IMM2_SIZE)) - { - /* Exact repeat. */ - cc += 1 + 2 * IMM2_SIZE; - if (count < 1) - count = 1; - continue; - } - - cc += 2 * IMM2_SIZE; - /* Fall through */ - case OP_CRQUERY: - case OP_CRMINQUERY: - case OP_CRPOSQUERY: - cc++; - if (count < 3) - count = 3; - continue; - - default: - /* No repeat. */ - if (count < 1) - count = 1; - continue; - } - break; - - case OP_BRA: - case OP_CBRA: - prev_count = count; - if (count < 1) - count = 1; - - if (depth >= 4) - break; - - if (count < 3 && cc[GET(cc, 1)] == OP_ALT) - count = 3; - - end = bracketend(cc); - if (end[-1 - LINK_SIZE] != OP_KET || (*cc == OP_CBRA && common->optimized_cbracket[GET2(cc, 1 + LINK_SIZE)] == 0)) - break; - - prev_count = detect_early_fail(common, cc, private_data_start, depth + 1, prev_count); - - if (prev_count > count) - count = prev_count; - - if (PRIVATE_DATA(cc) != 0) - common->private_data_ptrs[begin - common->start] = 1; - - if (count < EARLY_FAIL_ENHANCE_MAX) - { - cc = end; - continue; - } - break; - - case OP_KET: - SLJIT_ASSERT(PRIVATE_DATA(cc) == 0); - if (cc >= next_alt) - break; - cc += 1 + LINK_SIZE; - continue; - } - - if (accelerated_start == NULL) - break; - - if (count == 0) - { - common->fast_forward_bc_ptr = accelerated_start; - common->private_data_ptrs[(accelerated_start + 1) - common->start] = ((*private_data_start) << 3) | type_skip; - *private_data_start += sizeof(sljit_sw); - count = 4; - } - else if (count < 3) - { - common->private_data_ptrs[(accelerated_start + 1) - common->start] = ((*private_data_start) << 3) | type_fail; - - if (common->early_fail_start_ptr == 0) - common->early_fail_start_ptr = *private_data_start; - - *private_data_start += sizeof(sljit_sw); - common->early_fail_end_ptr = *private_data_start; - - if (*private_data_start > SLJIT_MAX_LOCAL_SIZE) - return EARLY_FAIL_ENHANCE_MAX; - - count = 4; - } - else - { - common->private_data_ptrs[(accelerated_start + 1) - common->start] = ((*private_data_start) << 3) | type_fail_range; - - if (common->early_fail_start_ptr == 0) - common->early_fail_start_ptr = *private_data_start; - - *private_data_start += 2 * sizeof(sljit_sw); - common->early_fail_end_ptr = *private_data_start; - - if (*private_data_start > SLJIT_MAX_LOCAL_SIZE) - return EARLY_FAIL_ENHANCE_MAX; - - count++; - } - - /* Cannot be part of a repeat. */ - common->private_data_ptrs[begin - common->start] = 1; - - if (count >= EARLY_FAIL_ENHANCE_MAX) - break; - } - - if (*cc != OP_ALT && *cc != OP_KET) - result = EARLY_FAIL_ENHANCE_MAX; - else if (result < count) - result = count; - - cc = next_alt; - next_alt = cc + GET(cc, 1); - } -while (*cc == OP_ALT); - -return result; -} - -static int get_class_iterator_size(PCRE2_SPTR cc) -{ -sljit_u32 min; -sljit_u32 max; -switch(*cc) - { - case OP_CRSTAR: - case OP_CRPLUS: - return 2; - - case OP_CRMINSTAR: - case OP_CRMINPLUS: - case OP_CRQUERY: - case OP_CRMINQUERY: - return 1; - - case OP_CRRANGE: - case OP_CRMINRANGE: - min = GET2(cc, 1); - max = GET2(cc, 1 + IMM2_SIZE); - if (max == 0) - return (*cc == OP_CRRANGE) ? 2 : 1; - max -= min; - if (max > (sljit_u32)(*cc == OP_CRRANGE ? 0 : 1)) - max = 2; - return max; - - default: - return 0; - } -} - -static BOOL detect_repeat(compiler_common *common, PCRE2_SPTR begin) -{ -PCRE2_SPTR end = bracketend(begin); -PCRE2_SPTR next; -PCRE2_SPTR next_end; -PCRE2_SPTR max_end; -PCRE2_UCHAR type; -sljit_sw length = end - begin; -sljit_s32 min, max, i; - -/* Detect fixed iterations first. */ -if (end[-(1 + LINK_SIZE)] != OP_KET || PRIVATE_DATA(begin) != 0) - return FALSE; - -/* /(?:AB){4,6}/ is currently converted to /(?:AB){3}(?AB){1,3}/ - * Skip the check of the second part. */ -if (PRIVATE_DATA(end - LINK_SIZE) != 0) - return TRUE; - -next = end; -min = 1; -while (1) - { - if (*next != *begin) - break; - next_end = bracketend(next); - if (next_end - next != length || memcmp(begin, next, IN_UCHARS(length)) != 0) - break; - next = next_end; - min++; - } - -if (min == 2) - return FALSE; - -max = 0; -max_end = next; -if (*next == OP_BRAZERO || *next == OP_BRAMINZERO) - { - type = *next; - while (1) - { - if (next[0] != type || next[1] != OP_BRA || next[2 + LINK_SIZE] != *begin) - break; - next_end = bracketend(next + 2 + LINK_SIZE); - if (next_end - next != (length + 2 + LINK_SIZE) || memcmp(begin, next + 2 + LINK_SIZE, IN_UCHARS(length)) != 0) - break; - next = next_end; - max++; - } - - if (next[0] == type && next[1] == *begin && max >= 1) - { - next_end = bracketend(next + 1); - if (next_end - next == (length + 1) && memcmp(begin, next + 1, IN_UCHARS(length)) == 0) - { - for (i = 0; i < max; i++, next_end += 1 + LINK_SIZE) - if (*next_end != OP_KET) - break; - - if (i == max) - { - common->private_data_ptrs[max_end - common->start - LINK_SIZE] = next_end - max_end; - common->private_data_ptrs[max_end - common->start - LINK_SIZE + 1] = (type == OP_BRAZERO) ? OP_UPTO : OP_MINUPTO; - /* +2 the original and the last. */ - common->private_data_ptrs[max_end - common->start - LINK_SIZE + 2] = max + 2; - if (min == 1) - return TRUE; - min--; - max_end -= (1 + LINK_SIZE) + GET(max_end, -LINK_SIZE); - } - } - } - } - -if (min >= 3) - { - common->private_data_ptrs[end - common->start - LINK_SIZE] = max_end - end; - common->private_data_ptrs[end - common->start - LINK_SIZE + 1] = OP_EXACT; - common->private_data_ptrs[end - common->start - LINK_SIZE + 2] = min; - return TRUE; - } - -return FALSE; -} - -#define CASE_ITERATOR_PRIVATE_DATA_1 \ - case OP_MINSTAR: \ - case OP_MINPLUS: \ - case OP_QUERY: \ - case OP_MINQUERY: \ - case OP_MINSTARI: \ - case OP_MINPLUSI: \ - case OP_QUERYI: \ - case OP_MINQUERYI: \ - case OP_NOTMINSTAR: \ - case OP_NOTMINPLUS: \ - case OP_NOTQUERY: \ - case OP_NOTMINQUERY: \ - case OP_NOTMINSTARI: \ - case OP_NOTMINPLUSI: \ - case OP_NOTQUERYI: \ - case OP_NOTMINQUERYI: - -#define CASE_ITERATOR_PRIVATE_DATA_2A \ - case OP_STAR: \ - case OP_PLUS: \ - case OP_STARI: \ - case OP_PLUSI: \ - case OP_NOTSTAR: \ - case OP_NOTPLUS: \ - case OP_NOTSTARI: \ - case OP_NOTPLUSI: - -#define CASE_ITERATOR_PRIVATE_DATA_2B \ - case OP_UPTO: \ - case OP_MINUPTO: \ - case OP_UPTOI: \ - case OP_MINUPTOI: \ - case OP_NOTUPTO: \ - case OP_NOTMINUPTO: \ - case OP_NOTUPTOI: \ - case OP_NOTMINUPTOI: - -#define CASE_ITERATOR_TYPE_PRIVATE_DATA_1 \ - case OP_TYPEMINSTAR: \ - case OP_TYPEMINPLUS: \ - case OP_TYPEQUERY: \ - case OP_TYPEMINQUERY: - -#define CASE_ITERATOR_TYPE_PRIVATE_DATA_2A \ - case OP_TYPESTAR: \ - case OP_TYPEPLUS: - -#define CASE_ITERATOR_TYPE_PRIVATE_DATA_2B \ - case OP_TYPEUPTO: \ - case OP_TYPEMINUPTO: - -static void set_private_data_ptrs(compiler_common *common, int *private_data_start, PCRE2_SPTR ccend) -{ -PCRE2_SPTR cc = common->start; -PCRE2_SPTR alternative; -PCRE2_SPTR end = NULL; -int private_data_ptr = *private_data_start; -int space, size, bracketlen; -BOOL repeat_check = TRUE; - -while (cc < ccend) - { - space = 0; - size = 0; - bracketlen = 0; - if (private_data_ptr > SLJIT_MAX_LOCAL_SIZE) - break; - - /* When the bracket is prefixed by a zero iteration, skip the repeat check (at this point). */ - if (repeat_check && (*cc == OP_ONCE || *cc == OP_BRA || *cc == OP_CBRA || *cc == OP_COND)) - { - if (detect_repeat(common, cc)) - { - /* These brackets are converted to repeats, so no global - based single character repeat is allowed. */ - if (cc >= end) - end = bracketend(cc); - } - } - repeat_check = TRUE; - - switch(*cc) - { - case OP_KET: - if (common->private_data_ptrs[cc + 1 - common->start] != 0) - { - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw); - cc += common->private_data_ptrs[cc + 1 - common->start]; - } - cc += 1 + LINK_SIZE; - break; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ASSERT_NA: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRAPOS: - case OP_SBRA: - case OP_SBRAPOS: - case OP_SCOND: - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw); - bracketlen = 1 + LINK_SIZE; - break; - - case OP_ASSERTBACK_NA: - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw); - - if (find_vreverse(cc)) - { - common->private_data_ptrs[cc + 1 - common->start] = 1; - private_data_ptr += sizeof(sljit_sw); - } - - bracketlen = 1 + LINK_SIZE; - break; - - case OP_ASSERT_SCS: - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += 2 * sizeof(sljit_sw); - bracketlen = 1 + LINK_SIZE; - break; - - case OP_CBRAPOS: - case OP_SCBRAPOS: - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw); - bracketlen = 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_COND: - /* Might be a hidden SCOND. */ - common->private_data_ptrs[cc - common->start] = 0; - alternative = cc + GET(cc, 1); - if (*alternative == OP_KETRMAX || *alternative == OP_KETRMIN) - { - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw); - } - bracketlen = 1 + LINK_SIZE; - break; - - case OP_BRA: - bracketlen = 1 + LINK_SIZE; - break; - - case OP_CBRA: - case OP_SCBRA: - bracketlen = 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_BRAZERO: - case OP_BRAMINZERO: - case OP_BRAPOSZERO: - size = 1; - repeat_check = FALSE; - break; - - CASE_ITERATOR_PRIVATE_DATA_1 - size = -2; - space = 1; - break; - - CASE_ITERATOR_PRIVATE_DATA_2A - size = -2; - space = 2; - break; - - CASE_ITERATOR_PRIVATE_DATA_2B - size = -(2 + IMM2_SIZE); - space = 2; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_1 - size = 1; - space = 1; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_2A - size = 1; - if (cc[1] != OP_EXTUNI) - space = 2; - break; - - case OP_TYPEUPTO: - size = 1 + IMM2_SIZE; - if (cc[1 + IMM2_SIZE] != OP_EXTUNI) - space = 2; - break; - - case OP_TYPEMINUPTO: - size = 1 + IMM2_SIZE; - space = 2; - break; - - case OP_CLASS: - case OP_NCLASS: - size = 1 + 32 / sizeof(PCRE2_UCHAR); - space = get_class_iterator_size(cc + size); - break; - -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: - size = GET(cc, 1); - space = get_class_iterator_size(cc + size); - break; -#endif - - default: - cc = next_opcode(common, cc); - SLJIT_ASSERT(cc != NULL); - break; - } - - /* Character iterators, which are not inside a repeated bracket, - gets a private slot instead of allocating it on the stack. */ - if (space > 0 && cc >= end) - { - common->private_data_ptrs[cc - common->start] = private_data_ptr; - private_data_ptr += sizeof(sljit_sw) * space; - } - - if (size != 0) - { - if (size < 0) - { - cc += -size; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - } - else - cc += size; - } - - if (bracketlen > 0) - { - if (cc >= end) - { - end = bracketend(cc); - if (end[-1 - LINK_SIZE] == OP_KET) - end = NULL; - } - cc += bracketlen; - } - } -*private_data_start = private_data_ptr; -} - -/* Returns with a frame_types (always < 0) if no need for frame. */ -static int get_framesize(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, BOOL recursive, BOOL *needs_control_head) -{ -int length = 0; -int possessive = 0; -BOOL stack_restore = FALSE; -BOOL setsom_found = recursive; -BOOL setmark_found = recursive; -/* The last capture is a local variable even for recursions. */ -BOOL capture_last_found = FALSE; - -#if defined DEBUG_FORCE_CONTROL_HEAD && DEBUG_FORCE_CONTROL_HEAD -SLJIT_ASSERT(common->control_head_ptr != 0); -*needs_control_head = TRUE; -#else -*needs_control_head = FALSE; -#endif - -if (ccend == NULL) - { - ccend = bracketend(cc) - (1 + LINK_SIZE); - if (!recursive && (*cc == OP_CBRAPOS || *cc == OP_SCBRAPOS)) - { - possessive = length = (common->capture_last_ptr != 0) ? 5 : 3; - /* This is correct regardless of common->capture_last_ptr. */ - capture_last_found = TRUE; - } - cc = next_opcode(common, cc); - } - -SLJIT_ASSERT(cc != NULL); -while (cc < ccend) - switch(*cc) - { - case OP_SET_SOM: - SLJIT_ASSERT(common->has_set_som); - stack_restore = TRUE; - if (!setsom_found) - { - length += 2; - setsom_found = TRUE; - } - cc += 1; - break; - - case OP_MARK: - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_THEN_ARG: - SLJIT_ASSERT(common->mark_ptr != 0); - stack_restore = TRUE; - if (!setmark_found) - { - length += 2; - setmark_found = TRUE; - } - if (common->control_head_ptr != 0) - *needs_control_head = TRUE; - cc += 1 + 2 + cc[1]; - break; - - case OP_RECURSE: - stack_restore = TRUE; - if (common->has_set_som && !setsom_found) - { - length += 2; - setsom_found = TRUE; - } - if (common->mark_ptr != 0 && !setmark_found) - { - length += 2; - setmark_found = TRUE; - } - if (common->capture_last_ptr != 0 && !capture_last_found) - { - length += 2; - capture_last_found = TRUE; - } - cc += 1 + LINK_SIZE; - break; - - case OP_CBRA: - case OP_CBRAPOS: - case OP_SCBRA: - case OP_SCBRAPOS: - stack_restore = TRUE; - if (common->capture_last_ptr != 0 && !capture_last_found) - { - length += 2; - capture_last_found = TRUE; - } - length += 3; - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_THEN: - stack_restore = TRUE; - if (common->control_head_ptr != 0) - *needs_control_head = TRUE; - cc ++; - break; - - default: - stack_restore = TRUE; - /* Fall through. */ - - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - case OP_ALLANY: - case OP_ANYBYTE: - case OP_NOTPROP: - case OP_PROP: - case OP_ANYNL: - case OP_NOT_HSPACE: - case OP_HSPACE: - case OP_NOT_VSPACE: - case OP_VSPACE: - case OP_EXTUNI: - case OP_EODN: - case OP_EOD: - case OP_CIRC: - case OP_CIRCM: - case OP_DOLL: - case OP_DOLLM: - case OP_CHAR: - case OP_CHARI: - case OP_NOT: - case OP_NOTI: - - case OP_EXACT: - case OP_POSSTAR: - case OP_POSPLUS: - case OP_POSQUERY: - case OP_POSUPTO: - - case OP_EXACTI: - case OP_POSSTARI: - case OP_POSPLUSI: - case OP_POSQUERYI: - case OP_POSUPTOI: - - case OP_NOTEXACT: - case OP_NOTPOSSTAR: - case OP_NOTPOSPLUS: - case OP_NOTPOSQUERY: - case OP_NOTPOSUPTO: - - case OP_NOTEXACTI: - case OP_NOTPOSSTARI: - case OP_NOTPOSPLUSI: - case OP_NOTPOSQUERYI: - case OP_NOTPOSUPTOI: - - case OP_TYPEEXACT: - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - case OP_TYPEPOSQUERY: - case OP_TYPEPOSUPTO: - - case OP_CLASS: - case OP_NCLASS: - case OP_XCLASS: - case OP_ECLASS: - - case OP_CALLOUT: - case OP_CALLOUT_STR: - - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - - cc = next_opcode(common, cc); - SLJIT_ASSERT(cc != NULL); - break; - } - -/* Possessive quantifiers can use a special case. */ -if (SLJIT_UNLIKELY(possessive == length)) - return stack_restore ? no_frame : no_stack; - -if (length > 0) - return length + 1; -return stack_restore ? no_frame : no_stack; -} - -static void init_frame(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, int stackpos, int stacktop) -{ -DEFINE_COMPILER; -BOOL setsom_found = FALSE; -BOOL setmark_found = FALSE; -/* The last capture is a local variable even for recursions. */ -BOOL capture_last_found = FALSE; -int offset; - -/* >= 1 + shortest item size (2) */ -SLJIT_UNUSED_ARG(stacktop); -SLJIT_ASSERT(stackpos >= stacktop + 2); - -stackpos = STACK(stackpos); -if (ccend == NULL) - { - ccend = bracketend(cc) - (1 + LINK_SIZE); - if (*cc != OP_CBRAPOS && *cc != OP_SCBRAPOS) - cc = next_opcode(common, cc); - } - -/* The data is restored by do_revertframes(). */ -SLJIT_ASSERT(cc != NULL); -while (cc < ccend) - switch(*cc) - { - case OP_SET_SOM: - SLJIT_ASSERT(common->has_set_som); - if (!setsom_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -OVECTOR(0)); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - setsom_found = TRUE; - } - cc += 1; - break; - - case OP_MARK: - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_THEN_ARG: - SLJIT_ASSERT(common->mark_ptr != 0); - if (!setmark_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->mark_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -common->mark_ptr); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - setmark_found = TRUE; - } - cc += 1 + 2 + cc[1]; - break; - - case OP_RECURSE: - if (common->has_set_som && !setsom_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -OVECTOR(0)); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - setsom_found = TRUE; - } - if (common->mark_ptr != 0 && !setmark_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->mark_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -common->mark_ptr); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - setmark_found = TRUE; - } - if (common->capture_last_ptr != 0 && !capture_last_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -common->capture_last_ptr); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - capture_last_found = TRUE; - } - cc += 1 + LINK_SIZE; - break; - - case OP_CBRA: - case OP_CBRAPOS: - case OP_SCBRA: - case OP_SCBRAPOS: - if (common->capture_last_ptr != 0 && !capture_last_found) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, -common->capture_last_ptr); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - capture_last_found = TRUE; - } - offset = (GET2(cc, 1 + LINK_SIZE)) << 1; - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, OVECTOR(offset)); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP1, 0); - stackpos -= SSIZE_OF(sw); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, TMP2, 0); - stackpos -= SSIZE_OF(sw); - - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - default: - cc = next_opcode(common, cc); - SLJIT_ASSERT(cc != NULL); - break; - } - -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), stackpos, SLJIT_IMM, 0); -SLJIT_ASSERT(stackpos == STACK(stacktop)); -} - -#define RECURSE_TMP_REG_COUNT 3 - -typedef struct delayed_mem_copy_status { - struct sljit_compiler *compiler; - int store_bases[RECURSE_TMP_REG_COUNT]; - int store_offsets[RECURSE_TMP_REG_COUNT]; - int tmp_regs[RECURSE_TMP_REG_COUNT]; - int saved_tmp_regs[RECURSE_TMP_REG_COUNT]; - int next_tmp_reg; -} delayed_mem_copy_status; - -static void delayed_mem_copy_init(delayed_mem_copy_status *status, compiler_common *common) -{ -int i; - -for (i = 0; i < RECURSE_TMP_REG_COUNT; i++) - { - SLJIT_ASSERT(status->tmp_regs[i] >= 0); - SLJIT_ASSERT(sljit_get_register_index(SLJIT_GP_REGISTER, status->saved_tmp_regs[i]) < 0 || status->tmp_regs[i] == status->saved_tmp_regs[i]); - - status->store_bases[i] = -1; - } -status->next_tmp_reg = 0; -status->compiler = common->compiler; -} - -static void delayed_mem_copy_move(delayed_mem_copy_status *status, int load_base, sljit_sw load_offset, - int store_base, sljit_sw store_offset) -{ -struct sljit_compiler *compiler = status->compiler; -int next_tmp_reg = status->next_tmp_reg; -int tmp_reg = status->tmp_regs[next_tmp_reg]; - -SLJIT_ASSERT(load_base > 0 && store_base > 0); - -if (status->store_bases[next_tmp_reg] == -1) - { - /* Preserve virtual registers. */ - if (sljit_get_register_index(SLJIT_GP_REGISTER, status->saved_tmp_regs[next_tmp_reg]) < 0) - OP1(SLJIT_MOV, status->saved_tmp_regs[next_tmp_reg], 0, tmp_reg, 0); - } -else - OP1(SLJIT_MOV, SLJIT_MEM1(status->store_bases[next_tmp_reg]), status->store_offsets[next_tmp_reg], tmp_reg, 0); - -OP1(SLJIT_MOV, tmp_reg, 0, SLJIT_MEM1(load_base), load_offset); -status->store_bases[next_tmp_reg] = store_base; -status->store_offsets[next_tmp_reg] = store_offset; - -status->next_tmp_reg = (next_tmp_reg + 1) % RECURSE_TMP_REG_COUNT; -} - -static void delayed_mem_copy_finish(delayed_mem_copy_status *status) -{ -struct sljit_compiler *compiler = status->compiler; -int next_tmp_reg = status->next_tmp_reg; -int tmp_reg, saved_tmp_reg, i; - -for (i = 0; i < RECURSE_TMP_REG_COUNT; i++) - { - if (status->store_bases[next_tmp_reg] != -1) - { - tmp_reg = status->tmp_regs[next_tmp_reg]; - saved_tmp_reg = status->saved_tmp_regs[next_tmp_reg]; - - OP1(SLJIT_MOV, SLJIT_MEM1(status->store_bases[next_tmp_reg]), status->store_offsets[next_tmp_reg], tmp_reg, 0); - - /* Restore virtual registers. */ - if (sljit_get_register_index(SLJIT_GP_REGISTER, saved_tmp_reg) < 0) - OP1(SLJIT_MOV, tmp_reg, 0, saved_tmp_reg, 0); - } - - next_tmp_reg = (next_tmp_reg + 1) % RECURSE_TMP_REG_COUNT; - } -} - -#undef RECURSE_TMP_REG_COUNT - -static BOOL recurse_check_bit(compiler_common *common, sljit_sw bit_index) -{ -uint8_t *byte; -uint8_t mask; - -SLJIT_ASSERT((bit_index & (sizeof(sljit_sw) - 1)) == 0); - -bit_index >>= SLJIT_WORD_SHIFT; - -SLJIT_ASSERT((bit_index >> 3) < common->recurse_bitset_size); - -mask = 1 << (bit_index & 0x7); -byte = common->recurse_bitset + (bit_index >> 3); - -if (*byte & mask) - return FALSE; - -*byte |= mask; -return TRUE; -} - -enum get_recurse_flags { - recurse_flag_quit_found = (1 << 0), - recurse_flag_accept_found = (1 << 1), - recurse_flag_setsom_found = (1 << 2), - recurse_flag_setmark_found = (1 << 3), - recurse_flag_control_head_found = (1 << 4), -}; - -static int get_recurse_data_length(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, uint32_t *result_flags) -{ -int length = 1; -int size, offset; -PCRE2_SPTR alternative; -uint32_t recurse_flags = 0; - -memset(common->recurse_bitset, 0, common->recurse_bitset_size); - -#if defined DEBUG_FORCE_CONTROL_HEAD && DEBUG_FORCE_CONTROL_HEAD -SLJIT_ASSERT(common->control_head_ptr != 0); -recurse_flags |= recurse_flag_control_head_found; -#endif - -/* Calculate the sum of the private machine words. */ -while (cc < ccend) - { - size = 0; - switch(*cc) - { - case OP_SET_SOM: - SLJIT_ASSERT(common->has_set_som); - recurse_flags |= recurse_flag_setsom_found; - cc += 1; - break; - - case OP_RECURSE: - if (common->has_set_som) - recurse_flags |= recurse_flag_setsom_found; - if (common->mark_ptr != 0) - recurse_flags |= recurse_flag_setmark_found; - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - length++; - cc += 1 + LINK_SIZE; - break; - - case OP_KET: - offset = PRIVATE_DATA(cc); - if (offset != 0) - { - if (recurse_check_bit(common, offset)) - length++; - SLJIT_ASSERT(PRIVATE_DATA(cc + 1) != 0); - cc += PRIVATE_DATA(cc + 1); - } - cc += 1 + LINK_SIZE; - break; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRAPOS: - case OP_SBRA: - case OP_SBRAPOS: - case OP_SCOND: - SLJIT_ASSERT(PRIVATE_DATA(cc) != 0); - if (recurse_check_bit(common, PRIVATE_DATA(cc))) - length++; - cc += 1 + LINK_SIZE; - break; - - case OP_ASSERT_SCS: - SLJIT_ASSERT(PRIVATE_DATA(cc) != 0); - if (recurse_check_bit(common, PRIVATE_DATA(cc))) - length += 2; - cc += 1 + LINK_SIZE; - break; - - case OP_CBRA: - case OP_SCBRA: - offset = GET2(cc, 1 + LINK_SIZE); - if (recurse_check_bit(common, OVECTOR(offset << 1))) - { - SLJIT_ASSERT(recurse_check_bit(common, OVECTOR((offset << 1) + 1))); - length += 2; - } - if (common->optimized_cbracket[offset] == 0 && recurse_check_bit(common, OVECTOR_PRIV(offset))) - length++; - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - length++; - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_CBRAPOS: - case OP_SCBRAPOS: - offset = GET2(cc, 1 + LINK_SIZE); - if (recurse_check_bit(common, OVECTOR(offset << 1))) - { - SLJIT_ASSERT(recurse_check_bit(common, OVECTOR((offset << 1) + 1))); - length += 2; - } - if (recurse_check_bit(common, OVECTOR_PRIV(offset))) - length++; - if (recurse_check_bit(common, PRIVATE_DATA(cc))) - length++; - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - length++; - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_COND: - /* Might be a hidden SCOND. */ - alternative = cc + GET(cc, 1); - if ((*alternative == OP_KETRMAX || *alternative == OP_KETRMIN) && recurse_check_bit(common, PRIVATE_DATA(cc))) - length++; - cc += 1 + LINK_SIZE; - break; - - CASE_ITERATOR_PRIVATE_DATA_1 - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - length++; - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_PRIVATE_DATA_2A - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - { - SLJIT_ASSERT(recurse_check_bit(common, offset + sizeof(sljit_sw))); - length += 2; - } - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_PRIVATE_DATA_2B - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - { - SLJIT_ASSERT(recurse_check_bit(common, offset + sizeof(sljit_sw))); - length += 2; - } - cc += 2 + IMM2_SIZE; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_1 - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - length++; - cc += 1; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_2A - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - { - SLJIT_ASSERT(recurse_check_bit(common, offset + sizeof(sljit_sw))); - length += 2; - } - cc += 1; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_2B - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - { - SLJIT_ASSERT(recurse_check_bit(common, offset + sizeof(sljit_sw))); - length += 2; - } - cc += 1 + IMM2_SIZE; - break; - - case OP_CLASS: - case OP_NCLASS: -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: - size = (*cc >= OP_XCLASS) ? GET(cc, 1) : 1 + 32 / (int)sizeof(PCRE2_UCHAR); -#else - size = 1 + 32 / (int)sizeof(PCRE2_UCHAR); -#endif - - offset = PRIVATE_DATA(cc); - if (offset != 0 && recurse_check_bit(common, offset)) - length += get_class_iterator_size(cc + size); - cc += size; - break; - - case OP_MARK: - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_THEN_ARG: - SLJIT_ASSERT(common->mark_ptr != 0); - recurse_flags |= recurse_flag_setmark_found; - if (common->control_head_ptr != 0) - recurse_flags |= recurse_flag_control_head_found; - if (*cc != OP_MARK) - recurse_flags |= recurse_flag_quit_found; - - cc += 1 + 2 + cc[1]; - break; - - case OP_PRUNE: - case OP_SKIP: - case OP_COMMIT: - recurse_flags |= recurse_flag_quit_found; - cc++; - break; - - case OP_SKIP_ARG: - recurse_flags |= recurse_flag_quit_found; - cc += 1 + 2 + cc[1]; - break; - - case OP_THEN: - SLJIT_ASSERT(common->control_head_ptr != 0); - recurse_flags |= recurse_flag_quit_found | recurse_flag_control_head_found; - cc++; - break; - - case OP_ACCEPT: - case OP_ASSERT_ACCEPT: - recurse_flags |= recurse_flag_accept_found; - cc++; - break; - - default: - cc = next_opcode(common, cc); - SLJIT_ASSERT(cc != NULL); - break; - } - } -SLJIT_ASSERT(cc == ccend); - -if (recurse_flags & recurse_flag_control_head_found) - length++; -if (recurse_flags & recurse_flag_quit_found) - { - if (recurse_flags & recurse_flag_setsom_found) - length++; - if (recurse_flags & recurse_flag_setmark_found) - length++; - } - -*result_flags = recurse_flags; -return length; -} - -enum copy_recurse_data_types { - recurse_copy_from_global, - recurse_copy_private_to_global, - recurse_copy_shared_to_global, - recurse_copy_kept_shared_to_global, - recurse_swap_global -}; - -static void copy_recurse_data(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, - int type, int stackptr, int stacktop, uint32_t recurse_flags) -{ -delayed_mem_copy_status status; -PCRE2_SPTR alternative; -sljit_sw private_srcw[2]; -sljit_sw shared_srcw[3]; -sljit_sw kept_shared_srcw[2]; -int private_count, shared_count, kept_shared_count; -int from_sp, base_reg, offset, i; - -memset(common->recurse_bitset, 0, common->recurse_bitset_size); - -#if defined DEBUG_FORCE_CONTROL_HEAD && DEBUG_FORCE_CONTROL_HEAD -SLJIT_ASSERT(common->control_head_ptr != 0); -recurse_check_bit(common, common->control_head_ptr); -#endif - -switch (type) - { - case recurse_copy_from_global: - from_sp = TRUE; - base_reg = STACK_TOP; - break; - - case recurse_copy_private_to_global: - case recurse_copy_shared_to_global: - case recurse_copy_kept_shared_to_global: - from_sp = FALSE; - base_reg = STACK_TOP; - break; - - default: - SLJIT_ASSERT(type == recurse_swap_global); - from_sp = FALSE; - base_reg = TMP2; - break; - } - -stackptr = STACK(stackptr); -stacktop = STACK(stacktop); - -status.tmp_regs[0] = TMP1; -status.saved_tmp_regs[0] = TMP1; - -if (base_reg != TMP2) - { - status.tmp_regs[1] = TMP2; - status.saved_tmp_regs[1] = TMP2; - } -else - { - status.saved_tmp_regs[1] = RETURN_ADDR; - if (HAS_VIRTUAL_REGISTERS) - status.tmp_regs[1] = STR_PTR; - else - status.tmp_regs[1] = RETURN_ADDR; - } - -status.saved_tmp_regs[2] = TMP3; -if (HAS_VIRTUAL_REGISTERS) - status.tmp_regs[2] = STR_END; -else - status.tmp_regs[2] = TMP3; - -delayed_mem_copy_init(&status, common); - -if (type != recurse_copy_shared_to_global && type != recurse_copy_kept_shared_to_global) - { - SLJIT_ASSERT(type == recurse_copy_from_global || type == recurse_copy_private_to_global || type == recurse_swap_global); - - if (!from_sp) - delayed_mem_copy_move(&status, base_reg, stackptr, SLJIT_SP, common->recursive_head_ptr); - - if (from_sp || type == recurse_swap_global) - delayed_mem_copy_move(&status, SLJIT_SP, common->recursive_head_ptr, base_reg, stackptr); - } - -stackptr += sizeof(sljit_sw); - -#if defined DEBUG_FORCE_CONTROL_HEAD && DEBUG_FORCE_CONTROL_HEAD -if (type != recurse_copy_shared_to_global) - { - if (!from_sp) - delayed_mem_copy_move(&status, base_reg, stackptr, SLJIT_SP, common->control_head_ptr); - - if (from_sp || type == recurse_swap_global) - delayed_mem_copy_move(&status, SLJIT_SP, common->control_head_ptr, base_reg, stackptr); - } - -stackptr += sizeof(sljit_sw); -#endif - -while (cc < ccend) - { - private_count = 0; - shared_count = 0; - kept_shared_count = 0; - - switch(*cc) - { - case OP_SET_SOM: - SLJIT_ASSERT(common->has_set_som); - if ((recurse_flags & recurse_flag_quit_found) && recurse_check_bit(common, OVECTOR(0))) - { - kept_shared_srcw[0] = OVECTOR(0); - kept_shared_count = 1; - } - cc += 1; - break; - - case OP_RECURSE: - if (recurse_flags & recurse_flag_quit_found) - { - if (common->has_set_som && recurse_check_bit(common, OVECTOR(0))) - { - kept_shared_srcw[0] = OVECTOR(0); - kept_shared_count = 1; - } - if (common->mark_ptr != 0 && recurse_check_bit(common, common->mark_ptr)) - { - kept_shared_srcw[kept_shared_count] = common->mark_ptr; - kept_shared_count++; - } - } - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - { - shared_srcw[0] = common->capture_last_ptr; - shared_count = 1; - } - cc += 1 + LINK_SIZE; - break; - - case OP_KET: - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0) - { - if (recurse_check_bit(common, private_srcw[0])) - private_count = 1; - SLJIT_ASSERT(PRIVATE_DATA(cc + 1) != 0); - cc += PRIVATE_DATA(cc + 1); - } - cc += 1 + LINK_SIZE; - break; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRAPOS: - case OP_SBRA: - case OP_SBRAPOS: - case OP_SCOND: - private_srcw[0] = PRIVATE_DATA(cc); - if (recurse_check_bit(common, private_srcw[0])) - private_count = 1; - cc += 1 + LINK_SIZE; - break; - - case OP_ASSERT_SCS: - private_srcw[0] = PRIVATE_DATA(cc); - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - if (recurse_check_bit(common, private_srcw[0])) - private_count = 2; - cc += 1 + LINK_SIZE; - break; - - case OP_CBRA: - case OP_SCBRA: - offset = GET2(cc, 1 + LINK_SIZE); - shared_srcw[0] = OVECTOR(offset << 1); - if (recurse_check_bit(common, shared_srcw[0])) - { - shared_srcw[1] = shared_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, shared_srcw[1])); - shared_count = 2; - } - - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - { - shared_srcw[shared_count] = common->capture_last_ptr; - shared_count++; - } - - if (common->optimized_cbracket[offset] == 0) - { - private_srcw[0] = OVECTOR_PRIV(offset); - if (recurse_check_bit(common, private_srcw[0])) - private_count = 1; - } - - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_CBRAPOS: - case OP_SCBRAPOS: - offset = GET2(cc, 1 + LINK_SIZE); - shared_srcw[0] = OVECTOR(offset << 1); - if (recurse_check_bit(common, shared_srcw[0])) - { - shared_srcw[1] = shared_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, shared_srcw[1])); - shared_count = 2; - } - - if (common->capture_last_ptr != 0 && recurse_check_bit(common, common->capture_last_ptr)) - { - shared_srcw[shared_count] = common->capture_last_ptr; - shared_count++; - } - - private_srcw[0] = PRIVATE_DATA(cc); - if (recurse_check_bit(common, private_srcw[0])) - private_count = 1; - - offset = OVECTOR_PRIV(offset); - if (recurse_check_bit(common, offset)) - { - private_srcw[private_count] = offset; - private_count++; - } - cc += 1 + LINK_SIZE + IMM2_SIZE; - break; - - case OP_COND: - /* Might be a hidden SCOND. */ - alternative = cc + GET(cc, 1); - if (*alternative == OP_KETRMAX || *alternative == OP_KETRMIN) - { - private_srcw[0] = PRIVATE_DATA(cc); - if (recurse_check_bit(common, private_srcw[0])) - private_count = 1; - } - cc += 1 + LINK_SIZE; - break; - - CASE_ITERATOR_PRIVATE_DATA_1 - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - private_count = 1; - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_PRIVATE_DATA_2A - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - { - private_count = 2; - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, private_srcw[1])); - } - cc += 2; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_PRIVATE_DATA_2B - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - { - private_count = 2; - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, private_srcw[1])); - } - cc += 2 + IMM2_SIZE; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(cc[-1])) cc += GET_EXTRALEN(cc[-1]); -#endif - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_1 - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - private_count = 1; - cc += 1; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_2A - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - { - private_count = 2; - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, private_srcw[1])); - } - cc += 1; - break; - - CASE_ITERATOR_TYPE_PRIVATE_DATA_2B - private_srcw[0] = PRIVATE_DATA(cc); - if (private_srcw[0] != 0 && recurse_check_bit(common, private_srcw[0])) - { - private_count = 2; - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, private_srcw[1])); - } - cc += 1 + IMM2_SIZE; - break; - - case OP_CLASS: - case OP_NCLASS: -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: - i = (*cc >= OP_XCLASS) ? GET(cc, 1) : 1 + 32 / (int)sizeof(PCRE2_UCHAR); -#else - i = 1 + 32 / (int)sizeof(PCRE2_UCHAR); -#endif - if (PRIVATE_DATA(cc) != 0) - { - private_count = 1; - private_srcw[0] = PRIVATE_DATA(cc); - switch(get_class_iterator_size(cc + i)) - { - case 1: - break; - - case 2: - if (recurse_check_bit(common, private_srcw[0])) - { - private_count = 2; - private_srcw[1] = private_srcw[0] + sizeof(sljit_sw); - SLJIT_ASSERT(recurse_check_bit(common, private_srcw[1])); - } - break; - - default: - SLJIT_UNREACHABLE(); - break; - } - } - cc += i; - break; - - case OP_MARK: - case OP_COMMIT_ARG: - case OP_PRUNE_ARG: - case OP_THEN_ARG: - SLJIT_ASSERT(common->mark_ptr != 0); - if ((recurse_flags & recurse_flag_quit_found) && recurse_check_bit(common, common->mark_ptr)) - { - kept_shared_srcw[0] = common->mark_ptr; - kept_shared_count = 1; - } - if (common->control_head_ptr != 0 && recurse_check_bit(common, common->control_head_ptr)) - { - private_srcw[0] = common->control_head_ptr; - private_count = 1; - } - cc += 1 + 2 + cc[1]; - break; - - case OP_THEN: - SLJIT_ASSERT(common->control_head_ptr != 0); - if (recurse_check_bit(common, common->control_head_ptr)) - { - private_srcw[0] = common->control_head_ptr; - private_count = 1; - } - cc++; - break; - - default: - cc = next_opcode(common, cc); - SLJIT_ASSERT(cc != NULL); - continue; - } - - if (type != recurse_copy_shared_to_global && type != recurse_copy_kept_shared_to_global) - { - SLJIT_ASSERT(type == recurse_copy_from_global || type == recurse_copy_private_to_global || type == recurse_swap_global); - - for (i = 0; i < private_count; i++) - { - SLJIT_ASSERT(private_srcw[i] != 0); - - if (!from_sp) - delayed_mem_copy_move(&status, base_reg, stackptr, SLJIT_SP, private_srcw[i]); - - if (from_sp || type == recurse_swap_global) - delayed_mem_copy_move(&status, SLJIT_SP, private_srcw[i], base_reg, stackptr); - - stackptr += sizeof(sljit_sw); - } - } - else - stackptr += sizeof(sljit_sw) * private_count; - - if (type != recurse_copy_private_to_global && type != recurse_copy_kept_shared_to_global) - { - SLJIT_ASSERT(type == recurse_copy_from_global || type == recurse_copy_shared_to_global || type == recurse_swap_global); - - for (i = 0; i < shared_count; i++) - { - SLJIT_ASSERT(shared_srcw[i] != 0); - - if (!from_sp) - delayed_mem_copy_move(&status, base_reg, stackptr, SLJIT_SP, shared_srcw[i]); - - if (from_sp || type == recurse_swap_global) - delayed_mem_copy_move(&status, SLJIT_SP, shared_srcw[i], base_reg, stackptr); - - stackptr += sizeof(sljit_sw); - } - } - else - stackptr += sizeof(sljit_sw) * shared_count; - - if (type != recurse_copy_private_to_global && type != recurse_swap_global) - { - SLJIT_ASSERT(type == recurse_copy_from_global || type == recurse_copy_shared_to_global || type == recurse_copy_kept_shared_to_global); - - for (i = 0; i < kept_shared_count; i++) - { - SLJIT_ASSERT(kept_shared_srcw[i] != 0); - - if (!from_sp) - delayed_mem_copy_move(&status, base_reg, stackptr, SLJIT_SP, kept_shared_srcw[i]); - - if (from_sp || type == recurse_swap_global) - delayed_mem_copy_move(&status, SLJIT_SP, kept_shared_srcw[i], base_reg, stackptr); - - stackptr += sizeof(sljit_sw); - } - } - else - stackptr += sizeof(sljit_sw) * kept_shared_count; - } - -SLJIT_ASSERT(cc == ccend && stackptr == stacktop); - -delayed_mem_copy_finish(&status); -} - -static SLJIT_INLINE PCRE2_SPTR set_then_offsets(compiler_common *common, PCRE2_SPTR cc, sljit_u8 *current_offset) -{ -PCRE2_SPTR end = bracketend(cc); -BOOL has_alternatives = cc[GET(cc, 1)] == OP_ALT; - -/* Assert captures *THEN verb even if it has no alternatives. */ -if (*cc >= OP_ASSERT && *cc <= OP_ASSERTBACK_NOT) - current_offset = NULL; -else if (*cc >= OP_ASSERT_NA && *cc <= OP_ASSERT_SCS) - has_alternatives = TRUE; -/* Conditional block does never capture. */ -else if (*cc == OP_COND || *cc == OP_SCOND) - has_alternatives = FALSE; - -cc = next_opcode(common, cc); - -if (has_alternatives) - { - switch (*cc) - { - case OP_REVERSE: - case OP_CREF: - cc += 1 + IMM2_SIZE; - break; - case OP_VREVERSE: - case OP_DNCREF: - cc += 1 + 2 * IMM2_SIZE; - break; - } - - current_offset = common->then_offsets + (cc - common->start); - } - -while (cc < end) - { - if (*cc >= OP_ASSERT && *cc <= OP_SCOND) - { - cc = set_then_offsets(common, cc, current_offset); - continue; - } - - if (*cc == OP_ALT && has_alternatives) - { - cc += 1 + LINK_SIZE; - - if (*cc == OP_REVERSE) - cc += 1 + IMM2_SIZE; - else if (*cc == OP_VREVERSE) - cc += 1 + 2 * IMM2_SIZE; - - current_offset = common->then_offsets + (cc - common->start); - continue; - } - - if (*cc >= OP_THEN && *cc <= OP_THEN_ARG && current_offset != NULL) - *current_offset = 1; - cc = next_opcode(common, cc); - } - -cc = end - 1 - LINK_SIZE; - -/* Ignore repeats. */ -if (*cc == OP_KET && PRIVATE_DATA(cc) != 0) - end += PRIVATE_DATA(cc + 1); - -return end; -} - -#undef CASE_ITERATOR_PRIVATE_DATA_1 -#undef CASE_ITERATOR_PRIVATE_DATA_2A -#undef CASE_ITERATOR_PRIVATE_DATA_2B -#undef CASE_ITERATOR_TYPE_PRIVATE_DATA_1 -#undef CASE_ITERATOR_TYPE_PRIVATE_DATA_2A -#undef CASE_ITERATOR_TYPE_PRIVATE_DATA_2B - -static SLJIT_INLINE BOOL is_powerof2(unsigned int value) -{ -return (value & (value - 1)) == 0; -} - -static SLJIT_INLINE void set_jumps(jump_list *list, struct sljit_label *label) -{ -while (list != NULL) - { - /* sljit_set_label is clever enough to do nothing - if either the jump or the label is NULL. */ - SET_LABEL(list->jump, label); - list = list->next; - } -} - -static SLJIT_INLINE void add_jump(struct sljit_compiler *compiler, jump_list **list, struct sljit_jump *jump) -{ -jump_list *list_item = sljit_alloc_memory(compiler, sizeof(jump_list)); -if (list_item) - { - list_item->next = *list; - list_item->jump = jump; - *list = list_item; - } -} - -static void add_stub(compiler_common *common, struct sljit_jump *start) -{ -DEFINE_COMPILER; -stub_list *list_item = sljit_alloc_memory(compiler, sizeof(stub_list)); - -if (list_item) - { - list_item->start = start; - list_item->quit = LABEL(); - list_item->next = common->stubs; - common->stubs = list_item; - } -} - -static void flush_stubs(compiler_common *common) -{ -DEFINE_COMPILER; -stub_list *list_item = common->stubs; - -while (list_item) - { - JUMPHERE(list_item->start); - add_jump(compiler, &common->stackalloc, JUMP(SLJIT_FAST_CALL)); - JUMPTO(SLJIT_JUMP, list_item->quit); - list_item = list_item->next; - } -common->stubs = NULL; -} - -static SLJIT_INLINE void count_match(compiler_common *common) -{ -DEFINE_COMPILER; - -OP2(SLJIT_SUB | SLJIT_SET_Z, COUNT_MATCH, 0, COUNT_MATCH, 0, SLJIT_IMM, 1); -add_jump(compiler, &common->calllimit, JUMP(SLJIT_ZERO)); -} - -static SLJIT_INLINE void allocate_stack(compiler_common *common, int size) -{ -/* May destroy all locals and registers except TMP2. */ -DEFINE_COMPILER; - -SLJIT_ASSERT(size > 0); -OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, size * SSIZE_OF(sw)); -#ifdef DESTROY_REGISTERS -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 12345); -OP1(SLJIT_MOV, TMP3, 0, TMP1, 0); -OP1(SLJIT_MOV, RETURN_ADDR, 0, TMP1, 0); -#if defined SLJIT_DEBUG && SLJIT_DEBUG -SLJIT_ASSERT(common->locals_size >= 2 * SSIZE_OF(sw)); -/* These two are also used by the stackalloc calls. */ -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL0, TMP1, 0); -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, TMP1, 0); -#endif -#endif -add_stub(common, CMP(SLJIT_LESS, STACK_TOP, 0, STACK_LIMIT, 0)); -} - -static SLJIT_INLINE void free_stack(compiler_common *common, int size) -{ -DEFINE_COMPILER; - -SLJIT_ASSERT(size > 0); -OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, size * SSIZE_OF(sw)); -} - -static sljit_uw * allocate_read_only_data(compiler_common *common, sljit_uw size) -{ -DEFINE_COMPILER; -sljit_uw *result; - -if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - -result = (sljit_uw *)SLJIT_MALLOC(size + sizeof(sljit_uw), compiler->allocator_data); -if (SLJIT_UNLIKELY(result == NULL)) - { - sljit_set_compiler_memory_error(compiler); - return NULL; - } - -*(void**)result = common->read_only_data_head; -common->read_only_data_head = (void *)result; -return result + 1; -} - -static SLJIT_INLINE void reset_ovector(compiler_common *common, int length) -{ -DEFINE_COMPILER; -struct sljit_label *loop; -sljit_s32 i; - -/* At this point we can freely use all temporary registers. */ -SLJIT_ASSERT(length > 1); -/* TMP1 returns with begin - 1. */ -OP2(SLJIT_SUB, SLJIT_R0, 0, SLJIT_MEM1(SLJIT_S0), SLJIT_OFFSETOF(jit_arguments, begin), SLJIT_IMM, IN_UCHARS(1)); -if (length < 8) - { - for (i = 1; i < length; i++) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(i), SLJIT_R0, 0); - } -else - { - if (sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_SUPP | SLJIT_MEM_STORE | SLJIT_MEM_PRE, SLJIT_R0, SLJIT_MEM1(SLJIT_R1), sizeof(sljit_sw)) == SLJIT_SUCCESS) - { - GET_LOCAL_BASE(SLJIT_R1, 0, OVECTOR_START); - OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_IMM, length - 1); - loop = LABEL(); - sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_STORE | SLJIT_MEM_PRE, SLJIT_R0, SLJIT_MEM1(SLJIT_R1), sizeof(sljit_sw)); - OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, loop); - } - else - { - GET_LOCAL_BASE(SLJIT_R1, 0, OVECTOR_START + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_IMM, length - 1); - loop = LABEL(); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_R1), 0, SLJIT_R0, 0); - OP2(SLJIT_ADD, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, sizeof(sljit_sw)); - OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, loop); - } - } -} - -static SLJIT_INLINE void reset_early_fail(compiler_common *common) -{ -DEFINE_COMPILER; -sljit_u32 size = (sljit_u32)(common->early_fail_end_ptr - common->early_fail_start_ptr); -sljit_u32 uncleared_size; -sljit_s32 src = SLJIT_IMM; -sljit_s32 i; -struct sljit_label *loop; - -SLJIT_ASSERT(common->early_fail_start_ptr < common->early_fail_end_ptr); - -if (size == sizeof(sljit_sw)) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->early_fail_start_ptr, SLJIT_IMM, 0); - return; - } - -if (sljit_get_register_index(SLJIT_GP_REGISTER, TMP3) >= 0 && !sljit_has_cpu_feature(SLJIT_HAS_ZERO_REGISTER)) - { - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 0); - src = TMP3; - } - -if (size <= 6 * sizeof(sljit_sw)) - { - for (i = common->early_fail_start_ptr; i < common->early_fail_end_ptr; i += sizeof(sljit_sw)) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), i, src, 0); - return; - } - -GET_LOCAL_BASE(TMP1, 0, common->early_fail_start_ptr); - -uncleared_size = ((size / sizeof(sljit_sw)) % 3) * sizeof(sljit_sw); - -OP2(SLJIT_ADD, TMP2, 0, TMP1, 0, SLJIT_IMM, size - uncleared_size); - -loop = LABEL(); -OP1(SLJIT_MOV, SLJIT_MEM1(TMP1), 0, src, 0); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 3 * sizeof(sljit_sw)); -OP1(SLJIT_MOV, SLJIT_MEM1(TMP1), -2 * SSIZE_OF(sw), src, 0); -OP1(SLJIT_MOV, SLJIT_MEM1(TMP1), -1 * SSIZE_OF(sw), src, 0); -CMPTO(SLJIT_LESS, TMP1, 0, TMP2, 0, loop); - -if (uncleared_size >= sizeof(sljit_sw)) - OP1(SLJIT_MOV, SLJIT_MEM1(TMP1), 0, src, 0); - -if (uncleared_size >= 2 * sizeof(sljit_sw)) - OP1(SLJIT_MOV, SLJIT_MEM1(TMP1), sizeof(sljit_sw), src, 0); -} - -static SLJIT_INLINE void do_reset_match(compiler_common *common, int length) -{ -DEFINE_COMPILER; -struct sljit_label *loop; -int i; - -SLJIT_ASSERT(length > 1); -/* OVECTOR(1) contains the "string begin - 1" constant. */ -if (length > 2) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)); -if (length < 8) - { - for (i = 2; i < length; i++) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(i), TMP1, 0); - } -else - { - if (sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_SUPP | SLJIT_MEM_STORE | SLJIT_MEM_PRE, TMP1, SLJIT_MEM1(TMP2), sizeof(sljit_sw)) == SLJIT_SUCCESS) - { - GET_LOCAL_BASE(TMP2, 0, OVECTOR_START + sizeof(sljit_sw)); - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_IMM, length - 2); - loop = LABEL(); - sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_STORE | SLJIT_MEM_PRE, TMP1, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - OP2(SLJIT_SUB | SLJIT_SET_Z, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, loop); - } - else - { - GET_LOCAL_BASE(TMP2, 0, OVECTOR_START + 2 * sizeof(sljit_sw)); - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_IMM, length - 2); - loop = LABEL(); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), 0, TMP1, 0); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, sizeof(sljit_sw)); - OP2(SLJIT_SUB | SLJIT_SET_Z, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, loop); - } - } - -if (!HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, stack)); -else - OP1(SLJIT_MOV, STACK_TOP, 0, ARGUMENTS, 0); - -if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->mark_ptr, SLJIT_IMM, 0); -if (common->control_head_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_IMM, 0); -if (HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(STACK_TOP), SLJIT_OFFSETOF(jit_arguments, stack)); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->start_ptr); -OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(STACK_TOP), SLJIT_OFFSETOF(struct sljit_stack, end)); -} - -static sljit_sw SLJIT_FUNC do_search_mark(sljit_sw *current, PCRE2_SPTR skip_arg) -{ -while (current != NULL) - { - switch (current[1]) - { - case type_then_trap: - break; - - case type_mark: - if (PRIV(strcmp)(skip_arg, (PCRE2_SPTR)current[2]) == 0) - return current[3]; - break; - - default: - SLJIT_UNREACHABLE(); - break; - } - SLJIT_ASSERT(current[0] == 0 || current < (sljit_sw*)current[0]); - current = (sljit_sw*)current[0]; - } -return 0; -} - -static SLJIT_INLINE void copy_ovector(compiler_common *common, int topbracket) -{ -DEFINE_COMPILER; -struct sljit_label *loop; -BOOL has_pre; - -/* At this point we can freely use all registers. */ -OP1(SLJIT_MOV, SLJIT_S2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)); -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(1), STR_PTR, 0); - -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, SLJIT_R0, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, SLJIT_S0, 0, SLJIT_MEM1(SLJIT_SP), common->start_ptr); - if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_MEM1(SLJIT_SP), common->mark_ptr); - OP1(SLJIT_MOV_U32, SLJIT_R1, 0, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, oveccount)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, startchar_ptr), SLJIT_S0, 0); - if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, mark_ptr), SLJIT_R2, 0); - OP2(SLJIT_ADD, SLJIT_R2, 0, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, match_data), - SLJIT_IMM, SLJIT_OFFSETOF(pcre2_match_data, ovector) - sizeof(PCRE2_SIZE)); - } -else - { - OP1(SLJIT_MOV, SLJIT_S0, 0, SLJIT_MEM1(SLJIT_SP), common->start_ptr); - OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, match_data)); - if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_R0, 0, SLJIT_MEM1(SLJIT_SP), common->mark_ptr); - OP1(SLJIT_MOV_U32, SLJIT_R1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, oveccount)); - OP1(SLJIT_MOV, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, startchar_ptr), SLJIT_S0, 0); - if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, mark_ptr), SLJIT_R0, 0); - OP2(SLJIT_ADD, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_IMM, SLJIT_OFFSETOF(pcre2_match_data, ovector) - sizeof(PCRE2_SIZE)); - } - -has_pre = sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_SUPP | SLJIT_MEM_PRE, SLJIT_S1, SLJIT_MEM1(SLJIT_S0), sizeof(sljit_sw)) == SLJIT_SUCCESS; - -GET_LOCAL_BASE(SLJIT_S0, 0, OVECTOR_START - (has_pre ? sizeof(sljit_sw) : 0)); -OP1(SLJIT_MOV, SLJIT_R0, 0, SLJIT_MEM1(HAS_VIRTUAL_REGISTERS ? SLJIT_R0 : ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - -loop = LABEL(); - -if (has_pre) - sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_PRE, SLJIT_S1, SLJIT_MEM1(SLJIT_S0), sizeof(sljit_sw)); -else - { - OP1(SLJIT_MOV, SLJIT_S1, 0, SLJIT_MEM1(SLJIT_S0), 0); - OP2(SLJIT_ADD, SLJIT_S0, 0, SLJIT_S0, 0, SLJIT_IMM, sizeof(sljit_sw)); - } - -OP2(SLJIT_ADD, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_IMM, sizeof(PCRE2_SIZE)); -OP2(SLJIT_SUB, SLJIT_S1, 0, SLJIT_S1, 0, SLJIT_R0, 0); -/* Copy the integer value to the output buffer */ -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -OP2(SLJIT_ASHR, SLJIT_S1, 0, SLJIT_S1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif - -SLJIT_ASSERT(sizeof(PCRE2_SIZE) == 4 || sizeof(PCRE2_SIZE) == 8); -OP1(((sizeof(PCRE2_SIZE) == 4) ? SLJIT_MOV_U32 : SLJIT_MOV), SLJIT_MEM1(SLJIT_R2), 0, SLJIT_S1, 0); - -OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, 1); -JUMPTO(SLJIT_NOT_ZERO, loop); - -/* Calculate the return value, which is the maximum ovector value. */ -if (topbracket > 1) - { - if (sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_SUPP | SLJIT_MEM_PRE, SLJIT_R2, SLJIT_MEM1(SLJIT_R0), -(2 * SSIZE_OF(sw))) == SLJIT_SUCCESS) - { - GET_LOCAL_BASE(SLJIT_R0, 0, OVECTOR_START + topbracket * 2 * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_R1, 0, SLJIT_IMM, topbracket + 1); - - /* OVECTOR(0) is never equal to SLJIT_S2. */ - loop = LABEL(); - sljit_emit_mem_update(compiler, SLJIT_MOV | SLJIT_MEM_PRE, SLJIT_R2, SLJIT_MEM1(SLJIT_R0), -(2 * SSIZE_OF(sw))); - OP2(SLJIT_SUB, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, 1); - CMPTO(SLJIT_EQUAL, SLJIT_R2, 0, SLJIT_S2, 0, loop); - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_R1, 0); - } - else - { - GET_LOCAL_BASE(SLJIT_R0, 0, OVECTOR_START + (topbracket - 1) * 2 * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_R1, 0, SLJIT_IMM, topbracket + 1); - - /* OVECTOR(0) is never equal to SLJIT_S2. */ - loop = LABEL(); - OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_MEM1(SLJIT_R0), 0); - OP2(SLJIT_SUB, SLJIT_R0, 0, SLJIT_R0, 0, SLJIT_IMM, 2 * SSIZE_OF(sw)); - OP2(SLJIT_SUB, SLJIT_R1, 0, SLJIT_R1, 0, SLJIT_IMM, 1); - CMPTO(SLJIT_EQUAL, SLJIT_R2, 0, SLJIT_S2, 0, loop); - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_R1, 0); - } - } -else - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, 1); -} - -static SLJIT_INLINE void return_with_partial_match(compiler_common *common, struct sljit_label *quit) -{ -DEFINE_COMPILER; -sljit_s32 mov_opcode; -sljit_s32 arguments_reg = !HAS_VIRTUAL_REGISTERS ? ARGUMENTS : SLJIT_R1; - -SLJIT_COMPILE_ASSERT(STR_END == SLJIT_S0, str_end_must_be_saved_reg0); -SLJIT_ASSERT(common->start_used_ptr != 0 && common->start_ptr != 0 - && (common->mode == PCRE2_JIT_PARTIAL_SOFT ? common->hit_start != 0 : common->hit_start == 0)); - -if (arguments_reg != ARGUMENTS) - OP1(SLJIT_MOV, arguments_reg, 0, ARGUMENTS, 0); -OP1(SLJIT_MOV, SLJIT_R2, 0, SLJIT_MEM1(SLJIT_SP), - common->mode == PCRE2_JIT_PARTIAL_SOFT ? common->hit_start : common->start_ptr); -OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_PARTIAL); - -/* Store match begin and end. */ -OP1(SLJIT_MOV, SLJIT_S1, 0, SLJIT_MEM1(arguments_reg), SLJIT_OFFSETOF(jit_arguments, begin)); -OP1(SLJIT_MOV, SLJIT_MEM1(arguments_reg), SLJIT_OFFSETOF(jit_arguments, startchar_ptr), SLJIT_R2, 0); -OP1(SLJIT_MOV, SLJIT_R1, 0, SLJIT_MEM1(arguments_reg), SLJIT_OFFSETOF(jit_arguments, match_data)); - -mov_opcode = (sizeof(PCRE2_SIZE) == 4) ? SLJIT_MOV_U32 : SLJIT_MOV; - -OP2(SLJIT_SUB, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_S1, 0); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -OP2(SLJIT_ASHR, SLJIT_R2, 0, SLJIT_R2, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif -OP1(mov_opcode, SLJIT_MEM1(SLJIT_R1), SLJIT_OFFSETOF(pcre2_match_data, ovector), SLJIT_R2, 0); - -OP2(SLJIT_SUB, STR_END, 0, STR_END, 0, SLJIT_S1, 0); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -OP2(SLJIT_ASHR, STR_END, 0, STR_END, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif -OP1(mov_opcode, SLJIT_MEM1(SLJIT_R1), SLJIT_OFFSETOF(pcre2_match_data, ovector) + sizeof(PCRE2_SIZE), STR_END, 0); - -JUMPTO(SLJIT_JUMP, quit); -} - -static SLJIT_INLINE void check_start_used_ptr(compiler_common *common) -{ -/* May destroy TMP1. */ -DEFINE_COMPILER; -struct sljit_jump *jump; - -if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - { - /* The value of -1 must be kept for start_used_ptr! */ - OP2(SLJIT_ADD, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, SLJIT_IMM, 1); - /* Jumps if start_used_ptr < STR_PTR, or start_used_ptr == -1. Although overwriting - is not necessary if start_used_ptr == STR_PTR, it does not hurt as well. */ - jump = CMP(SLJIT_LESS_EQUAL, TMP1, 0, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - JUMPHERE(jump); - } -else if (common->mode == PCRE2_JIT_PARTIAL_HARD) - { - jump = CMP(SLJIT_LESS_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - JUMPHERE(jump); - } -} - -static SLJIT_INLINE BOOL char_has_othercase(compiler_common *common, PCRE2_SPTR cc) -{ -/* Detects if the character has an othercase. */ -unsigned int c; - -#ifdef SUPPORT_UNICODE -if (common->utf || common->ucp) - { - if (common->utf) - { - GETCHAR(c, cc); - } - else - c = *cc; - - if (c > 127) - return c != UCD_OTHERCASE(c); - - return common->fcc[c] != c; - } -else -#endif - c = *cc; -return MAX_255(c) ? common->fcc[c] != c : FALSE; -} - -static SLJIT_INLINE unsigned int char_othercase(compiler_common *common, unsigned int c) -{ -/* Returns with the othercase. */ -#ifdef SUPPORT_UNICODE -if ((common->utf || common->ucp) && c > 127) - return UCD_OTHERCASE(c); -#endif -return TABLE_GET(c, common->fcc, c); -} - -static unsigned int char_get_othercase_bit(compiler_common *common, PCRE2_SPTR cc) -{ -/* Detects if the character and its othercase has only 1 bit difference. */ -unsigned int c, oc, bit; -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 -int n; -#endif - -#ifdef SUPPORT_UNICODE -if (common->utf || common->ucp) - { - if (common->utf) - { - GETCHAR(c, cc); - } - else - c = *cc; - - if (c <= 127) - oc = common->fcc[c]; - else - oc = UCD_OTHERCASE(c); - } -else - { - c = *cc; - oc = TABLE_GET(c, common->fcc, c); - } -#else -c = *cc; -oc = TABLE_GET(c, common->fcc, c); -#endif - -SLJIT_ASSERT(c != oc); - -bit = c ^ oc; -/* Optimized for English alphabet. */ -if (c <= 127 && bit == 0x20) - return (0 << 8) | 0x20; - -/* Since c != oc, they must have at least 1 bit difference. */ -if (!is_powerof2(bit)) - return 0; - -#if PCRE2_CODE_UNIT_WIDTH == 8 - -#ifdef SUPPORT_UNICODE -if (common->utf && c > 127) - { - n = GET_EXTRALEN(*cc); - while ((bit & 0x3f) == 0) - { - n--; - bit >>= 6; - } - return (n << 8) | bit; - } -#endif /* SUPPORT_UNICODE */ -return (0 << 8) | bit; - -#elif PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - -#ifdef SUPPORT_UNICODE -if (common->utf && c > 65535) - { - if (bit >= (1u << 10)) - bit >>= 10; - else - return (bit < 256) ? ((2 << 8) | bit) : ((3 << 8) | (bit >> 8)); - } -#endif /* SUPPORT_UNICODE */ -return (bit < 256) ? ((0u << 8) | bit) : ((1u << 8) | (bit >> 8)); - -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -} - -static void check_partial(compiler_common *common, BOOL force) -{ -/* Checks whether a partial matching is occurred. Does not modify registers. */ -DEFINE_COMPILER; -struct sljit_jump *jump = NULL; - -SLJIT_ASSERT(!force || common->mode != PCRE2_JIT_COMPLETE); - -if (common->mode == PCRE2_JIT_COMPLETE) - return; - -if (!force && !common->allow_empty_partial) - jump = CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); -else if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - jump = CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, SLJIT_IMM, -1); - -if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, 0); -else - { - if (common->partialmatchlabel != NULL) - JUMPTO(SLJIT_JUMP, common->partialmatchlabel); - else - add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP)); - } - -if (jump != NULL) - JUMPHERE(jump); -} - -static void check_str_end(compiler_common *common, jump_list **end_reached) -{ -/* Does not affect registers. Usually used in a tight spot. */ -DEFINE_COMPILER; -struct sljit_jump *jump; - -if (common->mode == PCRE2_JIT_COMPLETE) - { - add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); - return; - } - -jump = CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0); -if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - { - add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, 0); - add_jump(compiler, end_reached, JUMP(SLJIT_JUMP)); - } -else - { - add_jump(compiler, end_reached, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0)); - if (common->partialmatchlabel != NULL) - JUMPTO(SLJIT_JUMP, common->partialmatchlabel); - else - add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP)); - } -JUMPHERE(jump); -} - -static void detect_partial_match(compiler_common *common, jump_list **backtracks) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; - -if (common->mode == PCRE2_JIT_COMPLETE) - { - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); - return; - } - -/* Partial matching mode. */ -jump = CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0); -if (!common->allow_empty_partial) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0)); -else if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, SLJIT_IMM, -1)); - -if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, 0); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - } -else - { - if (common->partialmatchlabel != NULL) - JUMPTO(SLJIT_JUMP, common->partialmatchlabel); - else - add_jump(compiler, &common->partialmatch, JUMP(SLJIT_JUMP)); - } -JUMPHERE(jump); -} - -static void process_partial_match(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; - -/* Partial matching mode. */ -if (common->mode == PCRE2_JIT_PARTIAL_SOFT) - { - jump = CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, 0); - JUMPHERE(jump); - } -else if (common->mode == PCRE2_JIT_PARTIAL_HARD) - { - if (common->partialmatchlabel != NULL) - CMPTO(SLJIT_LESS, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0, common->partialmatchlabel); - else - add_jump(compiler, &common->partialmatch, CMP(SLJIT_LESS, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0)); - } -} - -static void detect_partial_match_to(compiler_common *common, struct sljit_label *label) -{ -DEFINE_COMPILER; - -CMPTO(SLJIT_LESS, STR_PTR, 0, STR_END, 0, label); -process_partial_match(common); -} - -static void peek_char(compiler_common *common, sljit_u32 max, sljit_s32 dst, sljit_sw dstw, jump_list **backtracks) -{ -/* Reads the character into TMP1, keeps STR_PTR. -Does not check STR_END. TMP2, dst, RETURN_ADDR Destroyed. */ -DEFINE_COMPILER; -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -struct sljit_jump *jump; -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 */ - -SLJIT_UNUSED_ARG(max); -SLJIT_UNUSED_ARG(dst); -SLJIT_UNUSED_ARG(dstw); -SLJIT_UNUSED_ARG(backtracks); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - -#ifdef SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { - if (max < 128) return; - - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x80); - OP1(SLJIT_MOV, dst, dstw, STR_PTR, 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - add_jump(compiler, common->invalid_utf ? &common->utfreadchar_invalid : &common->utfreadchar, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, STR_PTR, 0, dst, dstw); - if (backtracks && common->invalid_utf) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utf) - { - if (max < 0xd800) return; - - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - - if (common->invalid_utf) - { - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800); - OP1(SLJIT_MOV, dst, dstw, STR_PTR, 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - add_jump(compiler, &common->utfreadchar_invalid, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, STR_PTR, 0, dst, dstw); - if (backtracks && common->invalid_utf) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - } - else - { - /* TMP2 contains the high surrogate. */ - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xdc00 - 0xd800); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 10); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000 - 0xdc00); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); - } - - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 32 -if (common->invalid_utf) - { - if (max < 0xd800) return; - - if (backtracks != NULL) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); - } - else - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - } - } -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -#endif /* SUPPORT_UNICODE */ -} - -static void peek_char_back(compiler_common *common, sljit_u32 max, jump_list **backtracks) -{ -/* Reads one character back without moving STR_PTR. TMP2 must -contain the start of the subject buffer. Affects TMP1, TMP2, and RETURN_ADDR. */ -DEFINE_COMPILER; - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -struct sljit_jump *jump; -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 */ - -SLJIT_UNUSED_ARG(max); -SLJIT_UNUSED_ARG(backtracks); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); - -#ifdef SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { - if (max < 128) return; - - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x80); - if (common->invalid_utf) - { - add_jump(compiler, &common->utfpeakcharback_invalid, JUMP(SLJIT_FAST_CALL)); - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - } - else - add_jump(compiler, &common->utfpeakcharback, JUMP(SLJIT_FAST_CALL)); - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utf) - { - if (max < 0xd800) return; - - if (common->invalid_utf) - { - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xd800); - add_jump(compiler, &common->utfpeakcharback_invalid, JUMP(SLJIT_FAST_CALL)); - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - } - else - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xdc00); - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe000 - 0xdc00); - /* TMP2 contains the low surrogate. */ - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x10000); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 10); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); - } - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 32 -if (common->invalid_utf) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); - } -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -#endif /* SUPPORT_UNICODE */ -} - -#define READ_CHAR_UPDATE_STR_PTR 0x1 -#define READ_CHAR_UTF8_NEWLINE 0x2 -#define READ_CHAR_NEWLINE (READ_CHAR_UPDATE_STR_PTR | READ_CHAR_UTF8_NEWLINE) -#define READ_CHAR_VALID_UTF 0x4 - -static void read_char(compiler_common *common, sljit_u32 min, sljit_u32 max, - jump_list **backtracks, sljit_u32 options) -{ -/* Reads the precise value of a character into TMP1, if the character is -between min and max (c >= min && c <= max). Otherwise it returns with a value -outside the range. Does not check STR_END. */ -DEFINE_COMPILER; -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -struct sljit_jump *jump; -#endif -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 -struct sljit_jump *jump2; -#endif - -SLJIT_UNUSED_ARG(min); -SLJIT_UNUSED_ARG(max); -SLJIT_UNUSED_ARG(backtracks); -SLJIT_UNUSED_ARG(options); -SLJIT_ASSERT(min <= max); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -#ifdef SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { - if (max < 128 && !(options & READ_CHAR_UPDATE_STR_PTR)) return; - - if (common->invalid_utf && !(options & READ_CHAR_VALID_UTF)) - { - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x80); - - if (options & READ_CHAR_UTF8_NEWLINE) - add_jump(compiler, &common->utfreadnewline_invalid, JUMP(SLJIT_FAST_CALL)); - else - add_jump(compiler, &common->utfreadchar_invalid, JUMP(SLJIT_FAST_CALL)); - - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - JUMPHERE(jump); - return; - } - - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xc0); - if (min >= 0x10000) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xf0); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP1(SLJIT_MOV_U8, RETURN_ADDR, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - jump2 = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 0x7); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(2)); - if (!(options & READ_CHAR_UPDATE_STR_PTR)) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - JUMPHERE(jump2); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, RETURN_ADDR, 0); - } - else if (min >= 0x800 && max <= 0xffff) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xe0); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP1(SLJIT_MOV_U8, RETURN_ADDR, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - jump2 = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 0xf); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - if (!(options & READ_CHAR_UPDATE_STR_PTR)) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - JUMPHERE(jump2); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, RETURN_ADDR, 0); - } - else if (max >= 0x800) - { - add_jump(compiler, &common->utfreadchar, JUMP(SLJIT_FAST_CALL)); - } - else if (max < 128) - { - OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - } - else - { - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - if (!(options & READ_CHAR_UPDATE_STR_PTR)) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - else - OP1(SLJIT_MOV_U8, RETURN_ADDR, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, RETURN_ADDR, 0); - } - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utf) - { - if (max < 0xd800 && !(options & READ_CHAR_UPDATE_STR_PTR)) return; - - if (common->invalid_utf && !(options & READ_CHAR_VALID_UTF)) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800); - - if (options & READ_CHAR_UTF8_NEWLINE) - add_jump(compiler, &common->utfreadnewline_invalid, JUMP(SLJIT_FAST_CALL)); - else - add_jump(compiler, &common->utfreadchar_invalid, JUMP(SLJIT_FAST_CALL)); - - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - JUMPHERE(jump); - return; - } - - if (max >= 0x10000) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xdc00 - 0xd800); - /* TMP2 contains the high surrogate. */ - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 10); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000 - 0xdc00); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); - JUMPHERE(jump); - return; - } - - /* Skip low surrogate if necessary. */ - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - - if (sljit_has_cpu_feature(SLJIT_HAS_CMOV) && !HAS_VIRTUAL_REGISTERS) - { - if (options & READ_CHAR_UPDATE_STR_PTR) - OP2(SLJIT_ADD, RETURN_ADDR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, SLJIT_IMM, 0x400); - if (options & READ_CHAR_UPDATE_STR_PTR) - SELECT(SLJIT_LESS, STR_PTR, RETURN_ADDR, 0, STR_PTR); - if (max >= 0xd800) - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, 0x10000, TMP1); - } - else - { - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400); - if (options & READ_CHAR_UPDATE_STR_PTR) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - if (max >= 0xd800) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0x10000); - JUMPHERE(jump); - } - } -#elif PCRE2_CODE_UNIT_WIDTH == 32 -if (common->invalid_utf) - { - if (backtracks != NULL) - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800)); - } - else - { - OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, SLJIT_IMM, 0xd800); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - } - } -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -#endif /* SUPPORT_UNICODE */ -} - -static void skip_valid_char(compiler_common *common) -{ -DEFINE_COMPILER; -#if (defined SUPPORT_UNICODE) && (PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16) -struct sljit_jump *jump; -#endif - -#if (defined SUPPORT_UNICODE) && (PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16) - if (common->utf) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -#if PCRE2_CODE_UNIT_WIDTH == 8 - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xc0); - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); -#elif PCRE2_CODE_UNIT_WIDTH == 16 - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xd800); - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xfc00); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0xd800); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_EQUAL); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ - JUMPHERE(jump); - return; - } -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == [8|16] */ - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -} - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 - -static BOOL is_char7_bitset(const sljit_u8 *bitset, BOOL nclass) -{ -/* Tells whether the character codes below 128 are enough -to determine a match. */ -const sljit_u8 value = nclass ? 0xff : 0; -const sljit_u8 *end = bitset + 32; - -bitset += 16; -do - { - if (*bitset++ != value) - return FALSE; - } -while (bitset < end); -return TRUE; -} - -static void read_char7_type(compiler_common *common, jump_list **backtracks, BOOL negated) -{ -/* Reads the precise character type of a character into TMP1, if the character -is less than 128. Otherwise it returns with zero. Does not check STR_END. The -full_read argument tells whether characters above max are accepted or not. */ -DEFINE_COMPILER; -struct sljit_jump *jump; - -SLJIT_ASSERT(common->utf); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -/* All values > 127 are zero in ctypes. */ -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); - -if (negated) - { - jump = CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0x80); - - if (common->invalid_utf) - { - OP1(SLJIT_MOV, TMP1, 0, TMP2, 0); - add_jump(compiler, &common->utfreadchar_invalid, JUMP(SLJIT_FAST_CALL)); - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); - } - else - { - OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - } - JUMPHERE(jump); - } -} - -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 */ - -static void read_char8_type(compiler_common *common, jump_list **backtracks, BOOL negated) -{ -/* Reads the character type into TMP1, updates STR_PTR. Does not check STR_END. */ -DEFINE_COMPILER; -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 -struct sljit_jump *jump; -#endif -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 -struct sljit_jump *jump2; -#endif - -SLJIT_UNUSED_ARG(backtracks); -SLJIT_UNUSED_ARG(negated); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { - /* The result of this read may be unused, but saves an "else" part. */ - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); - jump = CMP(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0x80); - - if (!negated) - { - if (common->invalid_utf) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); - - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2); - if (common->invalid_utf) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe0 - 0xc2)); - - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x80); - if (common->invalid_utf) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40)); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); - jump2 = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 255); - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); - JUMPHERE(jump2); - } - else if (common->invalid_utf) - { - add_jump(compiler, &common->utfreadchar_invalid, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, TMP2, 0, TMP1, 0); - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR)); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); - jump2 = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 255); - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); - JUMPHERE(jump2); - } - else - add_jump(compiler, &common->utfreadtype8, JUMP(SLJIT_FAST_CALL)); - - JUMPHERE(jump); - return; - } -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 */ - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 32 -if (common->invalid_utf && negated) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x110000)); -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 32 */ - -#if PCRE2_CODE_UNIT_WIDTH != 8 -/* The ctypes array contains only 256 values. */ -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -jump = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 255); -#endif /* PCRE2_CODE_UNIT_WIDTH != 8 */ -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); -#if PCRE2_CODE_UNIT_WIDTH != 8 -JUMPHERE(jump); -#endif /* PCRE2_CODE_UNIT_WIDTH != 8 */ - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utf && negated) - { - /* Skip low surrogate if necessary. */ - if (!common->invalid_utf) - { - OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xd800); - - if (sljit_has_cpu_feature(SLJIT_HAS_CMOV) && !HAS_VIRTUAL_REGISTERS) - { - OP2(SLJIT_ADD, RETURN_ADDR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, SLJIT_IMM, 0x400); - SELECT(SLJIT_LESS, STR_PTR, RETURN_ADDR, 0, STR_PTR); - } - else - { - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPHERE(jump); - } - return; - } - - OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xd800); - jump = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0xe000 - 0xd800); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400)); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); - - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xdc00); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400)); - - JUMPHERE(jump); - return; - } -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 16 */ -} - -static void move_back(compiler_common *common, jump_list **backtracks, BOOL must_be_valid) -{ -/* Goes one character back. Affects STR_PTR and TMP1. If must_be_valid is TRUE, -TMP2 is not used. Otherwise TMP2 must contain the start of the subject buffer, -and it is destroyed. Does not modify STR_PTR for invalid character sequences. */ -DEFINE_COMPILER; - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -struct sljit_jump *jump; -#endif - -#ifdef SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 -struct sljit_label *label; - -if (common->utf) - { - if (!must_be_valid && common->invalid_utf) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), -IN_UCHARS(1)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x80); - add_jump(compiler, &common->utfmoveback_invalid, JUMP(SLJIT_FAST_CALL)); - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0)); - JUMPHERE(jump); - return; - } - - label = LABEL(); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), -IN_UCHARS(1)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc0); - CMPTO(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0x80, label); - return; - } -#elif PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utf) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), -IN_UCHARS(1)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - if (!must_be_valid && common->invalid_utf) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); - jump = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xe000 - 0xd800); - add_jump(compiler, &common->utfmoveback_invalid, JUMP(SLJIT_FAST_CALL)); - if (backtracks != NULL) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0)); - JUMPHERE(jump); - return; - } - - /* Skip low surrogate if necessary. */ - OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xfc00); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0xdc00); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_EQUAL); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - return; - } -#elif PCRE2_CODE_UNIT_WIDTH == 32 -if (common->invalid_utf && !must_be_valid) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), -IN_UCHARS(1)); - if (backtracks != NULL) - { - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x110000)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - return; - } - - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x110000); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_LESS); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - return; - } -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16|32] */ -#endif /* SUPPORT_UNICODE */ - -SLJIT_UNUSED_ARG(backtracks); -SLJIT_UNUSED_ARG(must_be_valid); - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -} - -static void check_newlinechar(compiler_common *common, int nltype, jump_list **backtracks, BOOL jumpifmatch) -{ -/* Character comes in TMP1. Checks if it is a newline. TMP2 may be destroyed. */ -DEFINE_COMPILER; -struct sljit_jump *jump; - -if (nltype == NLTYPE_ANY) - { - add_jump(compiler, &common->anynewline, JUMP(SLJIT_FAST_CALL)); - sljit_set_current_flags(compiler, SLJIT_SET_Z); - add_jump(compiler, backtracks, JUMP(jumpifmatch ? SLJIT_NOT_ZERO : SLJIT_ZERO)); - } -else if (nltype == NLTYPE_ANYCRLF) - { - if (jumpifmatch) - { - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR)); - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); - } - else - { - jump = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); - JUMPHERE(jump); - } - } -else - { - SLJIT_ASSERT(nltype == NLTYPE_FIXED && common->newline < 256); - add_jump(compiler, backtracks, CMP(jumpifmatch ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline)); - } -} - -#ifdef SUPPORT_UNICODE - -#if PCRE2_CODE_UNIT_WIDTH == 8 -static void do_utfreadchar(compiler_common *common) -{ -/* Fast decoding a UTF-8 character. TMP1 contains the first byte -of the character (>= 0xc0). Return char value in TMP1. */ -DEFINE_COMPILER; -struct sljit_jump *jump; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -/* Searching for the first zero. */ -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x800); -jump = JUMP(SLJIT_NOT_ZERO); -/* Two byte sequence. */ -OP2(SLJIT_XOR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3000); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x10000); -jump = JUMP(SLJIT_NOT_ZERO); -/* Three byte sequence. */ -OP2(SLJIT_XOR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0000); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Four byte sequence. */ -JUMPHERE(jump); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(2)); -OP2(SLJIT_XOR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xf0000); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x3f); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfreadtype8(compiler_common *common) -{ -/* Fast decoding a UTF-8 character type. TMP2 contains the first byte -of the character (>= 0xc0). Return value in TMP1. */ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_jump *compare; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, 0x20); -jump = JUMP(SLJIT_NOT_ZERO); -/* Two byte sequence. */ -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x1f); -/* The upper 5 bits are known at this point. */ -compare = CMP(SLJIT_GREATER, TMP2, 0, SLJIT_IMM, 0x3); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); -OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x3f); -OP2(SLJIT_OR, TMP2, 0, TMP2, 0, TMP1, 0); -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP2), common->ctypes); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(compare); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* We only have types for characters less than 256. */ -JUMPHERE(jump); -OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(utf8_table4) - 0xc0); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfreadchar_invalid(compiler_common *common) -{ -/* Slow decoding a UTF-8 character. TMP1 contains the first byte -of the character (>= 0xc0). Return char value in TMP1. STR_PTR is -undefined for invalid characters. */ -DEFINE_COMPILER; -sljit_s32 i; -sljit_s32 has_cmov = sljit_has_cpu_feature(SLJIT_HAS_CMOV); -struct sljit_jump *jump; -struct sljit_jump *buffer_end_close; -struct sljit_label *three_byte_entry; -struct sljit_label *exit_invalid_label; -struct sljit_jump *exit_invalid[11]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc2); - -/* Usually more than 3 characters remained in the subject buffer. */ -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); - -/* Not a valid start of a multi-byte sequence, no more bytes read. */ -exit_invalid[0] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xf5 - 0xc2); - -buffer_end_close = CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-3)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -/* If TMP2 is in 0x80-0xbf range, TMP1 is also increased by (0x2 << 6). */ -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x800); -jump = JUMP(SLJIT_NOT_ZERO); - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump); - -/* Three-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, 0x20000, TMP1); - exit_invalid[2] = NULL; - } -else - exit_invalid[2] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x10000); -jump = JUMP(SLJIT_NOT_ZERO); - -three_byte_entry = LABEL(); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x2d800); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, INVALID_UTF_CHAR - 0xd800, TMP1); - exit_invalid[3] = NULL; - } -else - exit_invalid[3] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x800); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - exit_invalid[4] = NULL; - } -else - exit_invalid[4] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x800); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump); - -/* Four-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, 0, TMP1); - exit_invalid[5] = NULL; - } -else - exit_invalid[5] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc10000); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x100000); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, INVALID_UTF_CHAR - 0x10000, TMP1); - exit_invalid[6] = NULL; - } -else - exit_invalid[6] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x100000); - -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(buffer_end_close); -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); -exit_invalid[7] = CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0); - -/* Two-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -/* If TMP2 is in 0x80-0xbf range, TMP1 is also increased by (0x2 << 6). */ -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -exit_invalid[8] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x800); -jump = JUMP(SLJIT_NOT_ZERO); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Three-byte sequence. */ -JUMPHERE(jump); -exit_invalid[9] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - exit_invalid[10] = NULL; - } -else - exit_invalid[10] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); - -/* One will be substracted from STR_PTR later. */ -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - -/* Four byte sequences are not possible. */ -CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x30000, three_byte_entry); - -exit_invalid_label = LABEL(); -for (i = 0; i < 11; i++) - sljit_set_label(exit_invalid[i], exit_invalid_label); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfreadnewline_invalid(compiler_common *common) -{ -/* Slow decoding a UTF-8 character, specialized for newlines. -TMP1 contains the first byte of the character (>= 0xc0). Return -char value in TMP1. */ -DEFINE_COMPILER; -struct sljit_label *loop; -struct sljit_label *skip_start; -struct sljit_label *three_byte_exit; -struct sljit_jump *jump[5]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -if (common->nltype != NLTYPE_ANY) - { - SLJIT_ASSERT(common->nltype != NLTYPE_FIXED || common->newline < 128); - - /* All newlines are ascii, just skip intermediate octets. */ - jump[0] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - loop = LABEL(); - if (sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_POST, TMP2, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)) == SLJIT_SUCCESS) - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_POST, TMP2, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - else - { - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - } - - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc0); - CMPTO(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, 0x80, loop); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - JUMPHERE(jump[0]); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); - OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - return; - } - -jump[0] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -jump[1] = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0xc2); -jump[2] = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0xe2); - -skip_start = LABEL(); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc0); -jump[3] = CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0x80); - -/* Skip intermediate octets. */ -loop = LABEL(); -jump[4] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc0); -CMPTO(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, 0x80, loop); - -JUMPHERE(jump[3]); -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -three_byte_exit = LABEL(); -JUMPHERE(jump[0]); -JUMPHERE(jump[4]); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Two byte long newline: 0x85. */ -JUMPHERE(jump[1]); -CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0x85, skip_start); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0x85); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Three byte long newlines: 0x2028 and 0x2029. */ -JUMPHERE(jump[2]); -CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0x80, skip_start); -CMPTO(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0, three_byte_exit); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -OP2(SLJIT_SUB, TMP1, 0, TMP2, 0, SLJIT_IMM, 0x80); -CMPTO(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x40, skip_start); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, 0x2000); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfmoveback_invalid(compiler_common *common) -{ -/* Goes one character back. */ -DEFINE_COMPILER; -sljit_s32 i; -struct sljit_jump *jump; -struct sljit_jump *buffer_start_close; -struct sljit_label *exit_ok_label; -struct sljit_label *exit_invalid_label; -struct sljit_jump *exit_invalid[7]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); -exit_invalid[0] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xc0); - -/* Two-byte sequence. */ -buffer_start_close = CMP(SLJIT_LESS, STR_PTR, 0, TMP2, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(2)); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc0); -jump = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x20); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 1); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Three-byte sequence. */ -JUMPHERE(jump); -exit_invalid[1] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, -0x40); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0); -jump = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x10); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 1); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Four-byte sequence. */ -JUMPHERE(jump); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0 - 0x80); -exit_invalid[2] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x40); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xf0); -exit_invalid[3] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x05); - -exit_ok_label = LABEL(); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 1); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -/* Two-byte sequence. */ -JUMPHERE(buffer_start_close); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - -exit_invalid[4] = CMP(SLJIT_LESS, STR_PTR, 0, TMP2, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc0); -CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x20, exit_ok_label); - -/* Three-byte sequence. */ -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -exit_invalid[5] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, -0x40); -exit_invalid[6] = CMP(SLJIT_LESS, STR_PTR, 0, TMP2, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0); -CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x10, exit_ok_label); - -/* Four-byte sequences are not possible. */ - -exit_invalid_label = LABEL(); -sljit_set_label(exit_invalid[5], exit_invalid_label); -sljit_set_label(exit_invalid[6], exit_invalid_label); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(3)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(exit_invalid[4]); -/* -2 + 4 = 2 */ -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - -exit_invalid_label = LABEL(); -for (i = 0; i < 4; i++) - sljit_set_label(exit_invalid[i], exit_invalid_label); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(4)); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfpeakcharback(compiler_common *common) -{ -/* Peak a character back. Does not modify STR_PTR. */ -DEFINE_COMPILER; -struct sljit_jump *jump[2]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xc0); -jump[0] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x20); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-3)); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0); -jump[1] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x10); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-4)); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xe0 - 0x80); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xf0); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -JUMPHERE(jump[1]); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -JUMPHERE(jump[0]); -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, 6); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x80); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfpeakcharback_invalid(compiler_common *common) -{ -/* Peak a character back. Does not modify STR_PTR. */ -DEFINE_COMPILER; -sljit_s32 i; -sljit_s32 has_cmov = sljit_has_cpu_feature(SLJIT_HAS_CMOV); -struct sljit_jump *jump[2]; -struct sljit_label *two_byte_entry; -struct sljit_label *three_byte_entry; -struct sljit_label *exit_invalid_label; -struct sljit_jump *exit_invalid[8]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(3)); -exit_invalid[0] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xc0); -jump[0] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, STR_PTR, 0); - -/* Two-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2); -jump[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x1e); - -two_byte_entry = LABEL(); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); -/* If TMP1 is in 0x80-0xbf range, TMP1 is also increased by (0x2 << 6). */ -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump[1]); -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2 - 0x80); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x80); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -/* Three-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-3)); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xe0); -jump[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x10); - -three_byte_entry = LABEL(); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 12); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, -0xd800, TMP1); - exit_invalid[2] = NULL; - } -else - exit_invalid[2] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x800); - -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x800); - SELECT(SLJIT_LESS, TMP1, SLJIT_IMM, INVALID_UTF_CHAR, TMP1); - exit_invalid[3] = NULL; - } -else - exit_invalid[3] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x800); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump[1]); -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xe0 - 0x80); -exit_invalid[4] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 12); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -/* Four-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-4)); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xf0); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 18); -/* ADD is used instead of OR because of the SUB 0x10000 above. */ -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); - -if (has_cmov) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x100000); - SELECT(SLJIT_GREATER_EQUAL, TMP1, SLJIT_IMM, INVALID_UTF_CHAR - 0x10000, TMP1); - exit_invalid[5] = NULL; - } -else - exit_invalid[5] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x100000); - -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump[0]); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); -jump[0] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, STR_PTR, 0); - -/* Two-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2); -CMPTO(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0x1e, two_byte_entry); - -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2 - 0x80); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x80); -exit_invalid[6] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x40); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 6); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, TMP2, 0); - -/* Three-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-3)); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xe0); -CMPTO(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0x10, three_byte_entry); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump[0]); -exit_invalid[7] = CMP(SLJIT_GREATER, TMP2, 0, STR_PTR, 0); - -/* Two-byte sequence. */ -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xc2); -CMPTO(SLJIT_LESS, TMP2, 0, SLJIT_IMM, 0x1e, two_byte_entry); - -exit_invalid_label = LABEL(); -for (i = 0; i < 8; i++) - sljit_set_label(exit_invalid[i], exit_invalid_label); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ - -#if PCRE2_CODE_UNIT_WIDTH == 16 - -static void do_utfreadchar_invalid(compiler_common *common) -{ -/* Slow decoding a UTF-16 character. TMP1 contains the first half -of the character (>= 0xd800). Return char value in TMP1. STR_PTR is -undefined for invalid characters. */ -DEFINE_COMPILER; -struct sljit_jump *exit_invalid[3]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -/* TMP2 contains the high surrogate. */ -exit_invalid[0] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xdc00); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 10); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xdc00); -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, 0x10000); -exit_invalid[2] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x400); - -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(exit_invalid[0]); -JUMPHERE(exit_invalid[1]); -JUMPHERE(exit_invalid[2]); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfreadnewline_invalid(compiler_common *common) -{ -/* Slow decoding a UTF-16 character, specialized for newlines. -TMP1 contains the first half of the character (>= 0xd800). Return -char value in TMP1. */ - -DEFINE_COMPILER; -struct sljit_jump *exit_invalid[2]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -/* TMP2 contains the high surrogate. */ -exit_invalid[0] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xdc00); - -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xdc00); -OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, SLJIT_IMM, 0x400); -OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_LESS); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0x10000); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCHAR_SHIFT); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(exit_invalid[0]); -JUMPHERE(exit_invalid[1]); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfmoveback_invalid(compiler_common *common) -{ -/* Goes one character back. */ -DEFINE_COMPILER; -struct sljit_jump *exit_invalid[3]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -exit_invalid[0] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x400); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, STR_PTR, 0); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); -exit_invalid[2] = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0x400); - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 1); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(exit_invalid[0]); -JUMPHERE(exit_invalid[1]); -JUMPHERE(exit_invalid[2]); - -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_utfpeakcharback_invalid(compiler_common *common) -{ -/* Peak a character back. Does not modify STR_PTR. */ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_jump *exit_invalid[3]; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -jump = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 0xe000); -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); -exit_invalid[0] = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xdc00); -exit_invalid[1] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, STR_PTR, 0); - -OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x10000 - 0xdc00); -OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, SLJIT_IMM, 0xd800); -exit_invalid[2] = CMP(SLJIT_GREATER_EQUAL, TMP2, 0, SLJIT_IMM, 0x400); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 10); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); - -JUMPHERE(jump); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(exit_invalid[0]); -JUMPHERE(exit_invalid[1]); -JUMPHERE(exit_invalid[2]); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -#endif /* PCRE2_CODE_UNIT_WIDTH == 16 */ - -/* UCD_BLOCK_SIZE must be 128 (see the assert below). */ -#define UCD_BLOCK_MASK 127 -#define UCD_BLOCK_SHIFT 7 - -static void do_getucd(compiler_common *common) -{ -/* Search the UCD record for the character comes in TMP1. -Returns chartype in TMP1 and UCD offset in TMP2. */ -DEFINE_COMPILER; -#if PCRE2_CODE_UNIT_WIDTH == 32 -struct sljit_jump *jump; -#endif - -#if defined SLJIT_DEBUG && SLJIT_DEBUG -/* dummy_ucd_record */ -const ucd_record *record = GET_UCD(UNASSIGNED_UTF_CHAR); -SLJIT_ASSERT(record->script == ucp_Unknown && record->chartype == ucp_Cn && record->gbprop == ucp_gbOther); -SLJIT_ASSERT(record->caseset == 0 && record->other_case == 0); -#endif - -SLJIT_ASSERT(UCD_BLOCK_SIZE == 128 && sizeof(ucd_record) == 12); - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -#if PCRE2_CODE_UNIT_WIDTH == 32 -if (!common->utf) - { - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, MAX_UTF_CODE_POINT + 1); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, UNASSIGNED_UTF_CHAR); - JUMPHERE(jump); - } -#endif - -OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 1); -OP1(SLJIT_MOV_U16, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(ucd_stage1)); -OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_stage2)); -OP1(SLJIT_MOV_U16, TMP2, 0, SLJIT_MEM2(TMP2, TMP1), 1); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_getucdtype(compiler_common *common) -{ -/* Search the UCD record for the character comes in TMP1. -Returns chartype in TMP1 and UCD offset in TMP2. */ -DEFINE_COMPILER; -#if PCRE2_CODE_UNIT_WIDTH == 32 -struct sljit_jump *jump; -#endif - -#if defined SLJIT_DEBUG && SLJIT_DEBUG -/* dummy_ucd_record */ -const ucd_record *record = GET_UCD(UNASSIGNED_UTF_CHAR); -SLJIT_ASSERT(record->script == ucp_Unknown && record->chartype == ucp_Cn && record->gbprop == ucp_gbOther); -SLJIT_ASSERT(record->caseset == 0 && record->other_case == 0); -#endif - -SLJIT_ASSERT(UCD_BLOCK_SIZE == 128 && sizeof(ucd_record) == 12); - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -#if PCRE2_CODE_UNIT_WIDTH == 32 -if (!common->utf) - { - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, MAX_UTF_CODE_POINT + 1); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, UNASSIGNED_UTF_CHAR); - JUMPHERE(jump); - } -#endif - -OP2(SLJIT_LSHR, TMP2, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 1); -OP1(SLJIT_MOV_U16, TMP2, 0, SLJIT_MEM1(TMP2), (sljit_sw)PRIV(ucd_stage1)); -OP2(SLJIT_AND, TMP1, 0, TMP1, 0, SLJIT_IMM, UCD_BLOCK_MASK); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCD_BLOCK_SHIFT); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_stage2)); -OP1(SLJIT_MOV_U16, TMP2, 0, SLJIT_MEM2(TMP2, TMP1), 1); - -/* TMP2 is multiplied by 12. Same as (TMP2 << 2) + ((TMP2 << 2) << 1). */ -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_records) + SLJIT_OFFSETOF(ucd_record, chartype)); -OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 2); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP2, 0); -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM2(TMP1, TMP2), 1); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -#endif /* SUPPORT_UNICODE */ - -static SLJIT_INLINE struct sljit_label *mainloop_entry(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_label *mainloop; -struct sljit_label *newlinelabel = NULL; -struct sljit_jump *start; -struct sljit_jump *end = NULL; -struct sljit_jump *end2 = NULL; -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -struct sljit_label *loop; -struct sljit_jump *jump; -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 */ -jump_list *newline = NULL; -sljit_u32 overall_options = common->re->overall_options; -BOOL hascrorlf = (common->re->flags & PCRE2_HASCRORLF) != 0; -BOOL newlinecheck = FALSE; -BOOL readuchar = FALSE; - -if (!(hascrorlf || (overall_options & PCRE2_FIRSTLINE) != 0) - && (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF || common->newline > 255)) - newlinecheck = TRUE; - -SLJIT_ASSERT(common->abort_label == NULL); - -if ((overall_options & PCRE2_FIRSTLINE) != 0) - { - /* Search for the end of the first line. */ - SLJIT_ASSERT(common->match_end_ptr != 0); - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - - if (common->nltype == NLTYPE_FIXED && common->newline > 255) - { - mainloop = LABEL(); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - end = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff, mainloop); - CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff, mainloop); - JUMPHERE(end); - OP2(SLJIT_SUB, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - } - else - { - end = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - mainloop = LABEL(); - /* Continual stores does not cause data dependency. */ - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr, STR_PTR, 0); - read_char(common, common->nlmin, common->nlmax, NULL, READ_CHAR_NEWLINE); - check_newlinechar(common, common->nltype, &newline, TRUE); - CMPTO(SLJIT_LESS, STR_PTR, 0, STR_END, 0, mainloop); - JUMPHERE(end); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr, STR_PTR, 0); - set_jumps(newline, LABEL()); - } - - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - } -else if ((overall_options & PCRE2_USE_OFFSET_LIMIT) != 0) - { - /* Check whether offset limit is set and valid. */ - SLJIT_ASSERT(common->match_end_ptr != 0); - - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, offset_limit)); - } - else - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, offset_limit)); - - OP1(SLJIT_MOV, TMP2, 0, STR_END, 0); - end = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, (sljit_sw) PCRE2_UNSET); - if (HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, TMP2, 0, ARGUMENTS, 0); - else - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif /* PCRE2_CODE_UNIT_WIDTH == [16|32] */ - if (HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(jit_arguments, begin)); - - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); - end2 = CMP(SLJIT_LESS_EQUAL, TMP2, 0, STR_END, 0); - OP1(SLJIT_MOV, TMP2, 0, STR_END, 0); - JUMPHERE(end2); - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_NOMATCH); - add_jump(compiler, &common->abort, CMP(SLJIT_LESS, TMP2, 0, STR_PTR, 0)); - JUMPHERE(end); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr, TMP2, 0); - } - -start = JUMP(SLJIT_JUMP); - -if (newlinecheck) - { - newlinelabel = LABEL(); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - end = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, common->newline & 0xff); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_EQUAL); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif /* PCRE2_CODE_UNIT_WIDTH == [16|32] */ - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - end2 = JUMP(SLJIT_JUMP); - } - -mainloop = LABEL(); - -/* Increasing the STR_PTR here requires one less jump in the most common case. */ -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -if (common->utf && !common->invalid_utf) readuchar = TRUE; -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 */ -if (newlinecheck) readuchar = TRUE; - -if (readuchar) - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - -if (newlinecheck) - CMPTO(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff, newlinelabel); - -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->invalid_utf) - { - /* Skip continuation code units. */ - loop = LABEL(); - jump = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x80); - CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x40, loop); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPHERE(jump); - } -else if (common->utf) - { - jump = CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0xc0); - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)PRIV(utf8_table4) - 0xc0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - JUMPHERE(jump); - } -#elif PCRE2_CODE_UNIT_WIDTH == 16 -if (common->invalid_utf) - { - /* Skip continuation code units. */ - loop = LABEL(); - jump = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xdc00); - CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, 0x400, loop); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPHERE(jump); - } -else if (common->utf) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0xd800); - - if (sljit_has_cpu_feature(SLJIT_HAS_CMOV)) - { - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x400); - SELECT(SLJIT_LESS, STR_PTR, TMP2, 0, STR_PTR); - } - else - { - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP1, 0, SLJIT_IMM, 0x400); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_LESS); - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - } - } -#endif /* PCRE2_CODE_UNIT_WIDTH == [8|16] */ -#endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 */ -JUMPHERE(start); - -if (newlinecheck) - { - JUMPHERE(end); - JUMPHERE(end2); - } - -return mainloop; -} - - -static SLJIT_INLINE void add_prefix_char(PCRE2_UCHAR chr, fast_forward_char_data *chars, BOOL last) -{ -sljit_u32 i, count = chars->count; - -if (count == 255) - return; - -if (count == 0) - { - chars->count = 1; - chars->chars[0] = chr; - - if (last) - chars->last_count = 1; - return; - } - -for (i = 0; i < count; i++) - if (chars->chars[i] == chr) - return; - -if (count >= MAX_DIFF_CHARS) - { - chars->count = 255; - return; - } - -chars->chars[count] = chr; -chars->count = count + 1; - -if (last) - chars->last_count++; -} - -/* Value can be increased if needed. Patterns -such as /(a|){33}b/ can exhaust the stack. - -Note: /(a|){29}b/ already stops scan_prefix() -because it reaches the maximum step_count. */ -#define SCAN_PREFIX_STACK_END 32 - -/* -Scan prefix stores the prefix string in the chars array. -The elements of the chars array is either small character -sets or "any" (count is set to 255). - -Examples (the chars array is represented by a simple regex): - -/(abc|xbyd)/ prefix: /[ax]b[cy]/ (length: 3) -/a[a-z]b+c/ prefix: a.b (length: 3) -/ab?cd/ prefix: a[bc][cd] (length: 3) -/(ab|cd)|(ef|gh)/ prefix: [aceg][bdfh] (length: 2) - -The length is returned by scan_prefix(). The length is -less than or equal than the minimum length of the pattern. -*/ - -static int scan_prefix(compiler_common *common, PCRE2_SPTR cc, fast_forward_char_data *chars) -{ -fast_forward_char_data *chars_start = chars; -fast_forward_char_data *chars_end = chars + MAX_N_CHARS; -PCRE2_SPTR cc_stack[SCAN_PREFIX_STACK_END]; -fast_forward_char_data *chars_stack[SCAN_PREFIX_STACK_END]; -sljit_u8 next_alternative_stack[SCAN_PREFIX_STACK_END]; -BOOL last, any, class, caseless; -int stack_ptr, step_count, repeat, len, len_save; -sljit_u32 chr; /* Any unicode character. */ -sljit_u8 *bytes, *bytes_end, byte; -PCRE2_SPTR alternative, cc_save, oc; -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 -PCRE2_UCHAR othercase[4]; -#elif defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 16 -PCRE2_UCHAR othercase[2]; -#else -PCRE2_UCHAR othercase[1]; -#endif - -repeat = 1; -stack_ptr = 0; -step_count = 10000; -while (TRUE) - { - if (--step_count == 0) - return 0; - - SLJIT_ASSERT(chars <= chars_start + MAX_N_CHARS); - - if (chars >= chars_end) - { - if (stack_ptr == 0) - return (int)(chars_end - chars_start); - - --stack_ptr; - cc = cc_stack[stack_ptr]; - chars = chars_stack[stack_ptr]; - - if (chars >= chars_end) - continue; - - if (next_alternative_stack[stack_ptr] != 0) - { - /* When an alternative is processed, the - next alternative is pushed onto the stack. */ - SLJIT_ASSERT(*cc == OP_ALT); - alternative = cc + GET(cc, 1); - if (*alternative == OP_ALT) - { - SLJIT_ASSERT(stack_ptr < SCAN_PREFIX_STACK_END); - SLJIT_ASSERT(chars_stack[stack_ptr] == chars); - SLJIT_ASSERT(next_alternative_stack[stack_ptr] == 1); - cc_stack[stack_ptr] = alternative; - stack_ptr++; - } - cc += 1 + LINK_SIZE; - } - } - - last = TRUE; - any = FALSE; - class = FALSE; - caseless = FALSE; - - switch (*cc) - { - case OP_CHARI: - caseless = TRUE; - /* Fall through */ - case OP_CHAR: - last = FALSE; - cc++; - break; - - case OP_SOD: - case OP_SOM: - case OP_SET_SOM: - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_EODN: - case OP_EOD: - case OP_CIRC: - case OP_CIRCM: - case OP_DOLL: - case OP_DOLLM: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - /* Zero width assertions. */ - cc++; - continue; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ASSERT_SCS: - cc = bracketend(cc); - continue; - - case OP_PLUSI: - case OP_MINPLUSI: - case OP_POSPLUSI: - caseless = TRUE; - /* Fall through */ - case OP_PLUS: - case OP_MINPLUS: - case OP_POSPLUS: - cc++; - break; - - case OP_EXACTI: - caseless = TRUE; - /* Fall through */ - case OP_EXACT: - repeat = GET2(cc, 1); - last = FALSE; - cc += 1 + IMM2_SIZE; - break; - - case OP_QUERYI: - case OP_MINQUERYI: - case OP_POSQUERYI: - caseless = TRUE; - /* Fall through */ - case OP_QUERY: - case OP_MINQUERY: - case OP_POSQUERY: - len = 1; - cc++; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(*cc)) len += GET_EXTRALEN(*cc); -#endif - if (stack_ptr >= SCAN_PREFIX_STACK_END) - { - chars_end = chars; - continue; - } - - cc_stack[stack_ptr] = cc + len; - chars_stack[stack_ptr] = chars; - next_alternative_stack[stack_ptr] = 0; - stack_ptr++; - - last = FALSE; - break; - - case OP_KET: - cc += 1 + LINK_SIZE; - continue; - - case OP_ALT: - cc += GET(cc, 1); - continue; - - case OP_ONCE: - case OP_BRA: - case OP_BRAPOS: - case OP_CBRA: - case OP_CBRAPOS: - alternative = cc + GET(cc, 1); - if (*alternative == OP_ALT) - { - if (stack_ptr >= SCAN_PREFIX_STACK_END) - { - chars_end = chars; - continue; - } - - cc_stack[stack_ptr] = alternative; - chars_stack[stack_ptr] = chars; - next_alternative_stack[stack_ptr] = 1; - stack_ptr++; - } - - if (*cc == OP_CBRA || *cc == OP_CBRAPOS) - cc += IMM2_SIZE; - cc += 1 + LINK_SIZE; - continue; - - case OP_CLASS: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 - if (common->utf && !is_char7_bitset((const sljit_u8 *)(cc + 1), FALSE)) - { - chars_end = chars; - continue; - } -#endif - class = TRUE; - break; - - case OP_NCLASS: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - chars_end = chars; - continue; - } -#endif - class = TRUE; - break; - -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc += GET(cc, 1); - break; -#endif - - case OP_DIGIT: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 - if (common->utf && !is_char7_bitset((const sljit_u8 *)common->ctypes - cbit_length + cbit_digit, FALSE)) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc++; - break; - - case OP_WHITESPACE: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 - if (common->utf && !is_char7_bitset((const sljit_u8 *)common->ctypes - cbit_length + cbit_space, FALSE)) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc++; - break; - - case OP_WORDCHAR: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 - if (common->utf && !is_char7_bitset((const sljit_u8 *)common->ctypes - cbit_length + cbit_word, FALSE)) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc++; - break; - - case OP_NOT: - case OP_NOTI: - cc++; - /* Fall through. */ - case OP_NOT_DIGIT: - case OP_NOT_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_ANY: - case OP_ALLANY: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc++; - break; - -#ifdef SUPPORT_UNICODE - case OP_NOTPROP: - case OP_PROP: -#if PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - cc += 1 + 2; - break; -#endif - - case OP_TYPEEXACT: - repeat = GET2(cc, 1); - cc += 1 + IMM2_SIZE; - continue; - - case OP_NOTEXACT: - case OP_NOTEXACTI: -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - chars_end = chars; - continue; - } -#endif - any = TRUE; - repeat = GET2(cc, 1); - cc += 1 + IMM2_SIZE + 1; - break; - - default: - chars_end = chars; - continue; - } - - SLJIT_ASSERT(chars < chars_end); - - if (any) - { - do - { - chars->count = 255; - chars++; - } - while (--repeat > 0 && chars < chars_end); - - repeat = 1; - continue; - } - - if (class) - { - bytes = (sljit_u8*) (cc + 1); - cc += 1 + 32 / sizeof(PCRE2_UCHAR); - - SLJIT_ASSERT(last == TRUE && repeat == 1); - switch (*cc) - { - case OP_CRQUERY: - case OP_CRMINQUERY: - case OP_CRPOSQUERY: - last = FALSE; - /* Fall through */ - case OP_CRSTAR: - case OP_CRMINSTAR: - case OP_CRPOSSTAR: - if (stack_ptr >= SCAN_PREFIX_STACK_END) - { - chars_end = chars; - continue; - } - - cc_stack[stack_ptr] = ++cc; - chars_stack[stack_ptr] = chars; - next_alternative_stack[stack_ptr] = 0; - stack_ptr++; - break; - - default: - case OP_CRPLUS: - case OP_CRMINPLUS: - case OP_CRPOSPLUS: - break; - - case OP_CRRANGE: - case OP_CRMINRANGE: - case OP_CRPOSRANGE: - repeat = GET2(cc, 1); - if (repeat <= 0) - { - chars_end = chars; - continue; - } - - last = (repeat != (int)GET2(cc, 1 + IMM2_SIZE)); - cc += 1 + 2 * IMM2_SIZE; - break; - } - - do - { - if (bytes[31] & 0x80) - chars->count = 255; - else if (chars->count != 255) - { - bytes_end = bytes + 32; - chr = 0; - do - { - byte = *bytes++; - SLJIT_ASSERT((chr & 0x7) == 0); - if (byte == 0) - chr += 8; - else - { - do - { - if ((byte & 0x1) != 0) - add_prefix_char(chr, chars, TRUE); - byte >>= 1; - chr++; - } - while (byte != 0); - chr = (chr + 7) & (sljit_u32)(~7); - } - } - while (chars->count != 255 && bytes < bytes_end); - bytes = bytes_end - 32; - } - - chars++; - } - while (--repeat > 0 && chars < chars_end); - - repeat = 1; - if (last) - chars_end = chars; - continue; - } - - len = 1; -#ifdef SUPPORT_UNICODE - if (common->utf && HAS_EXTRALEN(*cc)) len += GET_EXTRALEN(*cc); -#endif - - if (caseless && char_has_othercase(common, cc)) - { -#ifdef SUPPORT_UNICODE - if (common->utf) - { - GETCHAR(chr, cc); - if ((int)PRIV(ord2utf)(char_othercase(common, chr), othercase) != len) - { - chars_end = chars; - continue; - } - } - else -#endif - { - chr = *cc; -#ifdef SUPPORT_UNICODE - if (common->ucp && chr > 127) - { - chr = UCD_OTHERCASE(chr); - othercase[0] = (chr == (PCRE2_UCHAR)chr) ? chr : *cc; - } - else -#endif - othercase[0] = TABLE_GET(chr, common->fcc, chr); - } - } - else - { - caseless = FALSE; - othercase[0] = 0; /* Stops compiler warning - PH */ - } - - len_save = len; - cc_save = cc; - while (TRUE) - { - oc = othercase; - do - { - len--; - - chr = *cc; - add_prefix_char(*cc, chars, len == 0); - - if (caseless) - add_prefix_char(*oc, chars, len == 0); - - chars++; - cc++; - oc++; - } - while (len > 0 && chars < chars_end); - - if (--repeat == 0 || chars >= chars_end) - break; - - len = len_save; - cc = cc_save; - } - - repeat = 1; - if (last) - chars_end = chars; - } -} - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -static void jumpto_if_not_utf_char_start(struct sljit_compiler *compiler, sljit_s32 reg, struct sljit_label *label) -{ -#if PCRE2_CODE_UNIT_WIDTH == 8 -OP2(SLJIT_AND, reg, 0, reg, 0, SLJIT_IMM, 0xc0); -CMPTO(SLJIT_EQUAL, reg, 0, SLJIT_IMM, 0x80, label); -#elif PCRE2_CODE_UNIT_WIDTH == 16 -OP2(SLJIT_AND, reg, 0, reg, 0, SLJIT_IMM, 0xfc00); -CMPTO(SLJIT_EQUAL, reg, 0, SLJIT_IMM, 0xdc00, label); -#else -#error "Unknown code width" -#endif -} -#endif - -#include "pcre2_jit_simd_inc.h" - -#ifdef JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD - -static BOOL check_fast_forward_char_pair_simd(compiler_common *common, fast_forward_char_data *chars, int max) -{ - sljit_s32 i, j, max_i = 0, max_j = 0; - sljit_u32 max_pri = 0; - sljit_s32 max_offset = max_fast_forward_char_pair_offset(); - PCRE2_UCHAR a1, a2, a_pri, b1, b2, b_pri; - - for (i = max - 1; i >= 1; i--) - { - if (chars[i].last_count > 2) - { - a1 = chars[i].chars[0]; - a2 = chars[i].chars[1]; - a_pri = chars[i].last_count; - - j = i - max_offset; - if (j < 0) - j = 0; - - while (j < i) - { - b_pri = chars[j].last_count; - if (b_pri > 2 && (sljit_u32)a_pri + (sljit_u32)b_pri >= max_pri) - { - b1 = chars[j].chars[0]; - b2 = chars[j].chars[1]; - - if (a1 != b1 && a1 != b2 && a2 != b1 && a2 != b2) - { - max_pri = a_pri + b_pri; - max_i = i; - max_j = j; - } - } - j++; - } - } - } - -if (max_pri == 0) - return FALSE; - -fast_forward_char_pair_simd(common, max_i, chars[max_i].chars[0], chars[max_i].chars[1], max_j, chars[max_j].chars[0], chars[max_j].chars[1]); -return TRUE; -} - -#endif /* JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD */ - -static void fast_forward_first_char2(compiler_common *common, PCRE2_UCHAR char1, PCRE2_UCHAR char2, sljit_s32 offset) -{ -DEFINE_COMPILER; -struct sljit_label *start; -struct sljit_jump *match; -struct sljit_jump *partial_quit; -PCRE2_UCHAR mask; -BOOL has_match_end = (common->match_end_ptr != 0); - -SLJIT_ASSERT(common->mode == PCRE2_JIT_COMPLETE || offset == 0); - -if (has_match_end) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr); - -if (offset > 0) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(offset)); - -if (has_match_end) - { - OP1(SLJIT_MOV, TMP3, 0, STR_END, 0); - - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(offset + 1)); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, STR_END, 0, TMP1, 0); - SELECT(SLJIT_GREATER, STR_END, TMP1, 0, STR_END); - } - -#ifdef JIT_HAS_FAST_FORWARD_CHAR_SIMD - -if (JIT_HAS_FAST_FORWARD_CHAR_SIMD) - { - fast_forward_char_simd(common, char1, char2, offset); - - if (offset > 0) - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(offset)); - - if (has_match_end) - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); - return; - } - -#endif - -start = LABEL(); - -partial_quit = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); -if (common->mode == PCRE2_JIT_COMPLETE) - add_jump(compiler, &common->failed_match, partial_quit); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (char1 == char2) - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, char1, start); -else - { - mask = char1 ^ char2; - if (is_powerof2(mask)) - { - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, mask); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, char1 | mask, start); - } - else - { - match = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, char1); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, char2, start); - JUMPHERE(match); - } - } - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -if (common->utf && offset > 0) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-(offset + 1))); - jumpto_if_not_utf_char_start(compiler, TMP1, start); - } -#endif - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(offset + 1)); - -if (common->mode != PCRE2_JIT_COMPLETE) - JUMPHERE(partial_quit); - -if (has_match_end) - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); -} - -static SLJIT_INLINE BOOL fast_forward_first_n_chars(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_label *start; -struct sljit_jump *match; -fast_forward_char_data chars[MAX_N_CHARS]; -sljit_s32 offset; -PCRE2_UCHAR mask; -PCRE2_UCHAR *char_set, *char_set_end; -int i, max, from; -int range_right = -1, range_len; -sljit_u8 *update_table = NULL; -BOOL in_range; - -for (i = 0; i < MAX_N_CHARS; i++) - { - chars[i].count = 0; - chars[i].last_count = 0; - } - -max = scan_prefix(common, common->start, chars); - -if (max < 1) - return FALSE; - -/* Convert last_count to priority. */ -for (i = 0; i < max; i++) - { - SLJIT_ASSERT(chars[i].last_count <= chars[i].count); - - switch (chars[i].count) - { - case 0: - chars[i].count = 255; - chars[i].last_count = 0; - break; - - case 1: - chars[i].last_count = (chars[i].last_count == 1) ? 7 : 5; - /* Simplifies algorithms later. */ - chars[i].chars[1] = chars[i].chars[0]; - break; - - case 2: - SLJIT_ASSERT(chars[i].chars[0] != chars[i].chars[1]); - - if (is_powerof2(chars[i].chars[0] ^ chars[i].chars[1])) - chars[i].last_count = (chars[i].last_count == 2) ? 6 : 4; - else - chars[i].last_count = (chars[i].last_count == 2) ? 3 : 2; - break; - - default: - chars[i].last_count = (chars[i].count == 255) ? 0 : 1; - break; - } - } - -#ifdef JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD -if (JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD && check_fast_forward_char_pair_simd(common, chars, max)) - return TRUE; -#endif - -in_range = FALSE; -/* Prevent compiler "uninitialized" warning */ -from = 0; -range_len = 4 /* minimum length */ - 1; -for (i = 0; i <= max; i++) - { - if (in_range && (i - from) > range_len && (chars[i - 1].count < 255)) - { - range_len = i - from; - range_right = i - 1; - } - - if (i < max && chars[i].count < 255) - { - SLJIT_ASSERT(chars[i].count > 0); - if (!in_range) - { - in_range = TRUE; - from = i; - } - } - else - in_range = FALSE; - } - -if (range_right >= 0) - { - update_table = (sljit_u8 *)allocate_read_only_data(common, 256); - if (update_table == NULL) - return TRUE; - memset(update_table, IN_UCHARS(range_len), 256); - - for (i = 0; i < range_len; i++) - { - SLJIT_ASSERT(chars[range_right - i].count > 0 && chars[range_right - i].count < 255); - - char_set = chars[range_right - i].chars; - char_set_end = char_set + chars[range_right - i].count; - do - { - if (update_table[(*char_set) & 0xff] > IN_UCHARS(i)) - update_table[(*char_set) & 0xff] = IN_UCHARS(i); - char_set++; - } - while (char_set < char_set_end); - } - } - -offset = -1; -/* Scan forward. */ -for (i = 0; i < max; i++) - { - if (range_right == i) - continue; - - if (offset == -1) - { - if (chars[i].last_count >= 2) - offset = i; - } - else if (chars[offset].last_count < chars[i].last_count) - offset = i; - } - -SLJIT_ASSERT(offset == -1 || (chars[offset].count >= 1 && chars[offset].count <= 2)); - -if (range_right < 0) - { - if (offset < 0) - return FALSE; - /* Works regardless the value is 1 or 2. */ - fast_forward_first_char2(common, chars[offset].chars[0], chars[offset].chars[1], offset); - return TRUE; - } - -SLJIT_ASSERT(range_right != offset); - -if (common->match_end_ptr != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr); - OP1(SLJIT_MOV, TMP3, 0, STR_END, 0); - OP2(SLJIT_SUB | SLJIT_SET_LESS, STR_END, 0, STR_END, 0, SLJIT_IMM, IN_UCHARS(max)); - add_jump(compiler, &common->failed_match, JUMP(SLJIT_LESS)); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, STR_END, 0, TMP1, 0); - SELECT(SLJIT_GREATER, STR_END, TMP1, 0, STR_END); - } -else - { - OP2(SLJIT_SUB | SLJIT_SET_LESS, STR_END, 0, STR_END, 0, SLJIT_IMM, IN_UCHARS(max)); - add_jump(compiler, &common->failed_match, JUMP(SLJIT_LESS)); - } - -SLJIT_ASSERT(range_right >= 0); - -if (!HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, RETURN_ADDR, 0, SLJIT_IMM, (sljit_sw)update_table); - -start = LABEL(); -add_jump(compiler, &common->failed_match, CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0)); - -#if PCRE2_CODE_UNIT_WIDTH == 8 || (defined SLJIT_LITTLE_ENDIAN && SLJIT_LITTLE_ENDIAN) -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(range_right)); -#else -OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(range_right + 1) - 1); -#endif - -if (!HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM2(RETURN_ADDR, TMP1), 0); -else - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)update_table); - -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); -CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0, start); - -if (offset >= 0) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(offset)); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - if (chars[offset].count == 1) - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, chars[offset].chars[0], start); - else - { - mask = chars[offset].chars[0] ^ chars[offset].chars[1]; - if (is_powerof2(mask)) - { - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, mask); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, chars[offset].chars[0] | mask, start); - } - else - { - match = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, chars[offset].chars[0]); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, chars[offset].chars[1], start); - JUMPHERE(match); - } - } - } - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 -if (common->utf && offset != 0) - { - if (offset < 0) - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - } - else - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); - - jumpto_if_not_utf_char_start(compiler, TMP1, start); - - if (offset < 0) - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - } -#endif - -if (offset >= 0) - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (common->match_end_ptr != 0) - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); -else - OP2(SLJIT_ADD, STR_END, 0, STR_END, 0, SLJIT_IMM, IN_UCHARS(max)); -return TRUE; -} - -static SLJIT_INLINE void fast_forward_first_char(compiler_common *common) -{ -PCRE2_UCHAR first_char = (PCRE2_UCHAR)(common->re->first_codeunit); -PCRE2_UCHAR oc; - -oc = first_char; -if ((common->re->flags & PCRE2_FIRSTCASELESS) != 0) - { - oc = TABLE_GET(first_char, common->fcc, first_char); -#if defined SUPPORT_UNICODE - if (first_char > 127 && (common->utf || common->ucp)) - oc = UCD_OTHERCASE(first_char); -#endif - } - -fast_forward_first_char2(common, first_char, oc, 0); -} - -static SLJIT_INLINE void fast_forward_newline(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_label *loop; -struct sljit_jump *lastchar = NULL; -struct sljit_jump *firstchar; -struct sljit_jump *quit = NULL; -struct sljit_jump *foundcr = NULL; -struct sljit_jump *notfoundnl; -jump_list *newline = NULL; - -if (common->match_end_ptr != 0) - { - OP1(SLJIT_MOV, TMP3, 0, STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr); - } - -if (common->nltype == NLTYPE_FIXED && common->newline > 255) - { -#ifdef JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD - if (JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD && common->mode == PCRE2_JIT_COMPLETE) - { - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - } - firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2U(SLJIT_SUB | SLJIT_SET_Z, STR_PTR, 0, TMP1, 0); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_NOT_EQUAL); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - - fast_forward_char_pair_simd(common, 1, common->newline & 0xff, common->newline & 0xff, 0, (common->newline >> 8) & 0xff, (common->newline >> 8) & 0xff); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - } - else -#endif /* JIT_HAS_FAST_FORWARD_CHAR_PAIR_SIMD */ - { - lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - } - firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(2)); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER_EQUAL, STR_PTR, 0, TMP1, 0); - OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_GREATER_EQUAL); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - - loop = LABEL(); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - quit = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff, loop); - CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff, loop); - - JUMPHERE(quit); - JUMPHERE(lastchar); - } - - JUMPHERE(firstchar); - - if (common->match_end_ptr != 0) - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); - return; - } - -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); - } -else - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); - -/* Example: match /^/ to \r\n from offset 1. */ -firstchar = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - -if (common->nltype == NLTYPE_ANY) - move_back(common, NULL, FALSE); -else - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -loop = LABEL(); -common->ff_newline_shortcut = loop; - -#ifdef JIT_HAS_FAST_FORWARD_CHAR_SIMD -if (JIT_HAS_FAST_FORWARD_CHAR_SIMD && (common->nltype == NLTYPE_FIXED || common->nltype == NLTYPE_ANYCRLF)) - { - if (common->nltype == NLTYPE_ANYCRLF) - { - fast_forward_char_simd(common, CHAR_CR, CHAR_LF, 0); - if (common->mode != PCRE2_JIT_COMPLETE) - lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - quit = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); - } - else - { - fast_forward_char_simd(common, common->newline, common->newline, 0); - - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - if (common->mode != PCRE2_JIT_COMPLETE) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, STR_PTR, 0, STR_END, 0); - SELECT(SLJIT_GREATER, STR_PTR, STR_END, 0, STR_PTR); - } - } - } -else -#endif /* JIT_HAS_FAST_FORWARD_CHAR_SIMD */ - { - read_char(common, common->nlmin, common->nlmax, NULL, READ_CHAR_NEWLINE); - lastchar = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) - foundcr = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); - check_newlinechar(common, common->nltype, &newline, FALSE); - set_jumps(newline, loop); - } - -if (common->nltype == NLTYPE_ANY || common->nltype == NLTYPE_ANYCRLF) - { - if (quit == NULL) - { - quit = JUMP(SLJIT_JUMP); - JUMPHERE(foundcr); - } - - notfoundnl = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, CHAR_NL); - OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_EQUAL); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP1, 0); - JUMPHERE(notfoundnl); - JUMPHERE(quit); - } - -if (lastchar) - JUMPHERE(lastchar); -JUMPHERE(firstchar); - -if (common->match_end_ptr != 0) - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); -} - -static BOOL optimize_class(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks); - -static SLJIT_INLINE void fast_forward_start_bits(compiler_common *common) -{ -DEFINE_COMPILER; -const sljit_u8 *start_bits = common->re->start_bitmap; -struct sljit_label *start; -struct sljit_jump *partial_quit; -#if PCRE2_CODE_UNIT_WIDTH != 8 -struct sljit_jump *found = NULL; -#endif -jump_list *matches = NULL; - -if (common->match_end_ptr != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr); - OP1(SLJIT_MOV, RETURN_ADDR, 0, STR_END, 0); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, STR_END, 0, TMP1, 0); - SELECT(SLJIT_GREATER, STR_END, TMP1, 0, STR_END); - } - -start = LABEL(); - -partial_quit = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); -if (common->mode == PCRE2_JIT_COMPLETE) - add_jump(compiler, &common->failed_match, partial_quit); - -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), 0); -OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (!optimize_class(common, start_bits, (start_bits[31] & 0x80) != 0, FALSE, &matches)) - { -#if PCRE2_CODE_UNIT_WIDTH != 8 - if ((start_bits[31] & 0x80) != 0) - found = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 255); - else - CMPTO(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, 255, start); -#elif defined SUPPORT_UNICODE - if (common->utf && is_char7_bitset(start_bits, FALSE)) - CMPTO(SLJIT_GREATER, TMP1, 0, SLJIT_IMM, 127, start); -#endif - OP2(SLJIT_AND, TMP2, 0, TMP1, 0, SLJIT_IMM, 0x7); - OP2(SLJIT_LSHR, TMP1, 0, TMP1, 0, SLJIT_IMM, 3); - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), (sljit_sw)start_bits); - if (!HAS_VIRTUAL_REGISTERS) - { - OP2(SLJIT_SHL, TMP3, 0, SLJIT_IMM, 1, TMP2, 0); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, TMP3, 0); - } - else - { - OP2(SLJIT_SHL, TMP2, 0, SLJIT_IMM, 1, TMP2, 0); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP1, 0, TMP2, 0); - } - JUMPTO(SLJIT_ZERO, start); - } -else - set_jumps(matches, start); - -#if PCRE2_CODE_UNIT_WIDTH != 8 -if (found != NULL) - JUMPHERE(found); -#endif - -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (common->mode != PCRE2_JIT_COMPLETE) - JUMPHERE(partial_quit); - -if (common->match_end_ptr != 0) - OP1(SLJIT_MOV, STR_END, 0, RETURN_ADDR, 0); -} - -static SLJIT_INLINE jump_list *search_requested_char(compiler_common *common, PCRE2_UCHAR req_char, BOOL caseless, BOOL has_firstchar) -{ -DEFINE_COMPILER; -struct sljit_label *loop; -struct sljit_jump *toolong; -struct sljit_jump *already_found; -struct sljit_jump *found; -struct sljit_jump *found_oc = NULL; -jump_list *not_found = NULL; -sljit_u32 oc, bit; - -SLJIT_ASSERT(common->req_char_ptr != 0); -OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(REQ_CU_MAX) * 100); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->req_char_ptr); -toolong = CMP(SLJIT_LESS, TMP2, 0, STR_END, 0); -already_found = CMP(SLJIT_LESS, STR_PTR, 0, TMP1, 0); - -if (has_firstchar) - OP2(SLJIT_ADD, TMP1, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -else - OP1(SLJIT_MOV, TMP1, 0, STR_PTR, 0); - -oc = req_char; -if (caseless) - { - oc = TABLE_GET(req_char, common->fcc, req_char); -#if defined SUPPORT_UNICODE - if (req_char > 127 && (common->utf || common->ucp)) - oc = UCD_OTHERCASE(req_char); -#endif - } - -#ifdef JIT_HAS_FAST_REQUESTED_CHAR_SIMD -if (JIT_HAS_FAST_REQUESTED_CHAR_SIMD) - { - not_found = fast_requested_char_simd(common, req_char, oc); - } -else -#endif - { - loop = LABEL(); - add_jump(compiler, ¬_found, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, STR_END, 0)); - - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(TMP1), 0); - - if (req_char == oc) - found = CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, req_char); - else - { - bit = req_char ^ oc; - if (is_powerof2(bit)) - { - OP2(SLJIT_OR, TMP2, 0, TMP2, 0, SLJIT_IMM, bit); - found = CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, req_char | bit); - } - else - { - found = CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, req_char); - found_oc = CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, oc); - } - } - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPTO(SLJIT_JUMP, loop); - - JUMPHERE(found); - if (found_oc) - JUMPHERE(found_oc); - } - -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->req_char_ptr, TMP1, 0); - -JUMPHERE(already_found); -JUMPHERE(toolong); -return not_found; -} - -static void do_revertframes(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_label *mainloop; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); -GET_LOCAL_BASE(TMP1, 0, 0); - -/* Drop frames until we reach STACK_TOP. */ -mainloop = LABEL(); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), -SSIZE_OF(sw)); -OP2U(SLJIT_SUB | SLJIT_SET_SIG_LESS_EQUAL | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, 0); -jump = JUMP(SLJIT_SIG_LESS_EQUAL); - -OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), 0, SLJIT_MEM1(STACK_TOP), -(2 * SSIZE_OF(sw))); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), sizeof(sljit_sw), SLJIT_MEM1(STACK_TOP), -(3 * SSIZE_OF(sw))); - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 3 * SSIZE_OF(sw)); - } -else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), -(2 * SSIZE_OF(sw))); - OP1(SLJIT_MOV, TMP3, 0, SLJIT_MEM1(STACK_TOP), -(3 * SSIZE_OF(sw))); - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 3 * SSIZE_OF(sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), 0, TMP1, 0); - GET_LOCAL_BASE(TMP1, 0, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), sizeof(sljit_sw), TMP3, 0); - } -JUMPTO(SLJIT_JUMP, mainloop); - -JUMPHERE(jump); -sljit_set_current_flags(compiler, SLJIT_CURRENT_FLAGS_SUB | SLJIT_CURRENT_FLAGS_COMPARE | SLJIT_SET_SIG_LESS_EQUAL | SLJIT_SET_Z); -jump = JUMP(SLJIT_NOT_ZERO /* SIG_LESS */); -/* End of reverting values. */ -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); - -JUMPHERE(jump); -OP2(SLJIT_SUB, TMP2, 0, TMP1, 0, TMP2, 0); -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), 0, SLJIT_MEM1(STACK_TOP), -(2 * SSIZE_OF(sw))); - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 2 * SSIZE_OF(sw)); - } -else - { - OP1(SLJIT_MOV, TMP3, 0, SLJIT_MEM1(STACK_TOP), -(2 * SSIZE_OF(sw))); - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, 2 * SSIZE_OF(sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), 0, TMP3, 0); - } -JUMPTO(SLJIT_JUMP, mainloop); -} - -#ifdef SUPPORT_UNICODE -#define UCPCAT(bit) (1 << (bit)) -#define UCPCAT2(bit1, bit2) (UCPCAT(bit1) | UCPCAT(bit2)) -#define UCPCAT3(bit1, bit2, bit3) (UCPCAT(bit1) | UCPCAT(bit2) | UCPCAT(bit3)) -#define UCPCAT_RANGE(start, end) (((1 << ((end) + 1)) - 1) - ((1 << (start)) - 1)) -#define UCPCAT_L UCPCAT_RANGE(ucp_Ll, ucp_Lu) -#define UCPCAT_N UCPCAT_RANGE(ucp_Nd, ucp_No) -#define UCPCAT_ALL ((1 << (ucp_Zs + 1)) - 1) -#endif - -static void check_wordboundary(compiler_common *common, BOOL ucp) -{ -DEFINE_COMPILER; -struct sljit_jump *skipread; -jump_list *skipread_list = NULL; -#ifdef SUPPORT_UNICODE -struct sljit_label *valid_utf; -jump_list *invalid_utf1 = NULL; -#endif /* SUPPORT_UNICODE */ -jump_list *invalid_utf2 = NULL; -#if PCRE2_CODE_UNIT_WIDTH != 8 || defined SUPPORT_UNICODE -struct sljit_jump *jump; -#endif /* PCRE2_CODE_UNIT_WIDTH != 8 || SUPPORT_UNICODE */ - -SLJIT_UNUSED_ARG(ucp); -SLJIT_COMPILE_ASSERT(ctype_word == 0x10, ctype_word_must_be_16); - -SLJIT_ASSERT(common->locals_size >= 2 * SSIZE_OF(sw)); -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, SLJIT_MEM1(SLJIT_SP), LOCAL0); -/* Get type of the previous char, and put it to TMP3. */ -OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); -OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 0); -skipread = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - -#ifdef SUPPORT_UNICODE -if (common->invalid_utf) - { - peek_char_back(common, READ_CHAR_MAX, &invalid_utf1); - - if (common->mode != PCRE2_JIT_COMPLETE) - { - OP1(SLJIT_MOV, RETURN_ADDR, 0, TMP1, 0); - OP1(SLJIT_MOV, TMP2, 0, STR_PTR, 0); - move_back(common, NULL, TRUE); - check_start_used_ptr(common); - OP1(SLJIT_MOV, TMP1, 0, RETURN_ADDR, 0); - OP1(SLJIT_MOV, STR_PTR, 0, TMP2, 0); - } - } -else -#endif /* SUPPORT_UNICODE */ - { - if (common->mode == PCRE2_JIT_COMPLETE) - peek_char_back(common, READ_CHAR_MAX, NULL); - else - { - move_back(common, NULL, TRUE); - check_start_used_ptr(common); - read_char(common, 0, READ_CHAR_MAX, NULL, READ_CHAR_UPDATE_STR_PTR); - } - } - -/* Testing char type. */ -#ifdef SUPPORT_UNICODE -if (ucp) - { - add_jump(compiler, &common->getucdtype, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_SHL, TMP2, 0, SLJIT_IMM, 1, TMP1, 0); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, UCPCAT2(ucp_Mn, ucp_Pc) | UCPCAT_L | UCPCAT_N); - OP_FLAGS(SLJIT_MOV, TMP3, 0, SLJIT_NOT_ZERO); - } -else -#endif /* SUPPORT_UNICODE */ - { -#if PCRE2_CODE_UNIT_WIDTH != 8 - jump = CMP(SLJIT_GREATER, TMP1, 0, SLJIT_IMM, 255); -#elif defined SUPPORT_UNICODE - /* Here TMP3 has already been zeroed. */ - jump = NULL; - if (common->utf) - jump = CMP(SLJIT_GREATER, TMP1, 0, SLJIT_IMM, 255); -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ - OP1(SLJIT_MOV_U8, TMP1, 0, SLJIT_MEM1(TMP1), common->ctypes); - OP2(SLJIT_LSHR, TMP1, 0, TMP1, 0, SLJIT_IMM, 4 /* ctype_word */); - OP2(SLJIT_AND, TMP3, 0, TMP1, 0, SLJIT_IMM, 1); -#if PCRE2_CODE_UNIT_WIDTH != 8 - JUMPHERE(jump); -#elif defined SUPPORT_UNICODE - if (jump != NULL) - JUMPHERE(jump); -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ - } -JUMPHERE(skipread); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, 0); -check_str_end(common, &skipread_list); -peek_char(common, READ_CHAR_MAX, SLJIT_MEM1(SLJIT_SP), LOCAL1, &invalid_utf2); - -/* Testing char type. This is a code duplication. */ -#ifdef SUPPORT_UNICODE - -valid_utf = LABEL(); - -if (ucp) - { - add_jump(compiler, &common->getucdtype, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_SHL, TMP2, 0, SLJIT_IMM, 1, TMP1, 0); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, UCPCAT2(ucp_Mn, ucp_Pc) | UCPCAT_L | UCPCAT_N); - OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_NOT_ZERO); - } -else -#endif /* SUPPORT_UNICODE */ - { -#if PCRE2_CODE_UNIT_WIDTH != 8 - /* TMP2 may be destroyed by peek_char. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, 0); - jump = CMP(SLJIT_GREATER, TMP1, 0, SLJIT_IMM, 255); -#elif defined SUPPORT_UNICODE - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, 0); - jump = NULL; - if (common->utf) - jump = CMP(SLJIT_GREATER, TMP1, 0, SLJIT_IMM, 255); -#endif - OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP1), common->ctypes); - OP2(SLJIT_LSHR, TMP2, 0, TMP2, 0, SLJIT_IMM, 4 /* ctype_word */); - OP2(SLJIT_AND, TMP2, 0, TMP2, 0, SLJIT_IMM, 1); -#if PCRE2_CODE_UNIT_WIDTH != 8 - JUMPHERE(jump); -#elif defined SUPPORT_UNICODE - if (jump != NULL) - JUMPHERE(jump); -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ - } -set_jumps(skipread_list, LABEL()); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); -OP2(SLJIT_XOR | SLJIT_SET_Z, TMP2, 0, TMP2, 0, TMP3, 0); -OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); - -#ifdef SUPPORT_UNICODE -if (common->invalid_utf) - { - set_jumps(invalid_utf1, LABEL()); - - peek_char(common, READ_CHAR_MAX, SLJIT_MEM1(SLJIT_SP), LOCAL1, NULL); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, INVALID_UTF_CHAR, valid_utf); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, -1); - OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); - - set_jumps(invalid_utf2, LABEL()); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP1(SLJIT_MOV, TMP2, 0, TMP3, 0); - OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); - } -#endif /* SUPPORT_UNICODE */ -} - -static BOOL optimize_class_ranges(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) -{ -/* May destroy TMP1. */ -DEFINE_COMPILER; -int ranges[MAX_CLASS_RANGE_SIZE]; -sljit_u8 bit, cbit, all; -int i, byte, length = 0; - -bit = bits[0] & 0x1; -/* All bits will be zero or one (since bit is zero or one). */ -all = (sljit_u8)-bit; - -for (i = 0; i < 256; ) - { - byte = i >> 3; - if ((i & 0x7) == 0 && bits[byte] == all) - i += 8; - else - { - cbit = (bits[byte] >> (i & 0x7)) & 0x1; - if (cbit != bit) - { - if (length >= MAX_CLASS_RANGE_SIZE) - return FALSE; - ranges[length] = i; - length++; - bit = cbit; - all = (sljit_u8)-cbit; /* sign extend bit into byte */ - } - i++; - } - } - -if (((bit == 0) && nclass) || ((bit == 1) && !nclass)) - { - if (length >= MAX_CLASS_RANGE_SIZE) - return FALSE; - ranges[length] = 256; - length++; - } - -if (length < 0 || length > 4) - return FALSE; - -bit = bits[0] & 0x1; -if (invert) bit ^= 0x1; - -/* No character is accepted. */ -if (length == 0 && bit == 0) - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - -switch(length) - { - case 0: - /* When bit != 0, all characters are accepted. */ - return TRUE; - - case 1: - add_jump(compiler, backtracks, CMP(bit == 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); - return TRUE; - - case 2: - if (ranges[0] + 1 != ranges[1]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[0]); - add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); - } - else - add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); - return TRUE; - - case 3: - if (bit != 0) - { - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2])); - if (ranges[0] + 1 != ranges[1]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[0]); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); - } - else - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); - return TRUE; - } - - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[0])); - if (ranges[1] + 1 != ranges[2]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[1]); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); - } - else - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1])); - return TRUE; - - case 4: - if ((ranges[1] - ranges[0]) == (ranges[3] - ranges[2]) - && (ranges[0] | (ranges[2] - ranges[0])) == ranges[2] - && (ranges[1] & (ranges[2] - ranges[0])) == 0 - && is_powerof2(ranges[2] - ranges[0])) - { - SLJIT_ASSERT((ranges[0] & (ranges[2] - ranges[0])) == 0 && (ranges[2] & ranges[3] & (ranges[2] - ranges[0])) != 0); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[0]); - if (ranges[2] + 1 != ranges[3]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[2]); - add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_LESS : SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2])); - } - else - add_jump(compiler, backtracks, CMP(bit != 0 ? SLJIT_EQUAL : SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2])); - return TRUE; - } - - if (bit != 0) - { - i = 0; - if (ranges[0] + 1 != ranges[1]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[0]); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); - i = ranges[0]; - } - else - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[0])); - - if (ranges[2] + 1 != ranges[3]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[2] - i); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[2])); - } - else - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[2] - i)); - return TRUE; - } - - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[0]); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, ranges[3] - ranges[0])); - if (ranges[1] + 1 != ranges[2]) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0]); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, ranges[2] - ranges[1])); - } - else - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, ranges[1] - ranges[0])); - return TRUE; - - default: - SLJIT_UNREACHABLE(); - return FALSE; - } -} - -static BOOL optimize_class_chars(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) -{ -/* May destroy TMP1. */ -DEFINE_COMPILER; -uint16_t char_list[MAX_CLASS_CHARS_SIZE]; -uint8_t byte; -sljit_s32 type; -int i, j, k, len, c; - -if (!sljit_has_cpu_feature(SLJIT_HAS_CMOV)) - return FALSE; - -len = 0; - -for (i = 0; i < 32; i++) - { - byte = bits[i]; - - if (nclass) - byte = (sljit_u8)~byte; - - j = 0; - while (byte != 0) - { - if (byte & 0x1) - { - c = i * 8 + j; - - k = len; - - if ((c & 0x20) != 0) - { - for (k = 0; k < len; k++) - if (char_list[k] == c - 0x20) - { - char_list[k] |= 0x120; - break; - } - } - - if (k == len) - { - if (len >= MAX_CLASS_CHARS_SIZE) - return FALSE; - - char_list[len++] = (uint16_t) c; - } - } - - byte >>= 1; - j++; - } - } - -if (len == 0) return FALSE; /* Should never occur, but stops analyzers complaining. */ - -i = 0; -j = 0; - -if (char_list[0] == 0) - { - i++; - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0); - OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_ZERO); - } -else - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, 0); - -while (i < len) - { - if ((char_list[i] & 0x100) != 0) - j++; - else - { - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, char_list[i]); - SELECT(SLJIT_ZERO, TMP2, TMP1, 0, TMP2); - } - i++; - } - -if (j != 0) - { - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x20); - - for (i = 0; i < len; i++) - if ((char_list[i] & 0x100) != 0) - { - j--; - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, char_list[i] & 0xff); - SELECT(SLJIT_ZERO, TMP2, TMP1, 0, TMP2); - } - } - -if (invert) - nclass = !nclass; - -type = nclass ? SLJIT_NOT_EQUAL : SLJIT_EQUAL; -add_jump(compiler, backtracks, CMP(type, TMP2, 0, SLJIT_IMM, 0)); -return TRUE; -} - -static BOOL optimize_class(compiler_common *common, const sljit_u8 *bits, BOOL nclass, BOOL invert, jump_list **backtracks) -{ -/* May destroy TMP1. */ -if (optimize_class_ranges(common, bits, nclass, invert, backtracks)) - return TRUE; -return optimize_class_chars(common, bits, nclass, invert, backtracks); -} - -static void check_anynewline(compiler_common *common) -{ -/* Check whether TMP1 contains a newline character. TMP2 destroyed. */ -DEFINE_COMPILER; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x0a); -OP2U(SLJIT_SUB | SLJIT_SET_LESS_EQUAL, TMP1, 0, SLJIT_IMM, 0x0d - 0x0a); -OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_LESS_EQUAL); -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x85 - 0x0a); -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { -#endif - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x1); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x2029 - 0x0a); -#if PCRE2_CODE_UNIT_WIDTH == 8 - } -#endif -#endif /* SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == [16|32] */ -OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void check_hspace(compiler_common *common) -{ -/* Check whether TMP1 contains a newline character. TMP2 destroyed. */ -DEFINE_COMPILER; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x09); -OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_EQUAL); -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x20); -OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0xa0); -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { -#endif - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x1680); - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x180e); - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x2000); - OP2U(SLJIT_SUB | SLJIT_SET_LESS_EQUAL, TMP1, 0, SLJIT_IMM, 0x200A - 0x2000); - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_LESS_EQUAL); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x202f - 0x2000); - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x205f - 0x2000); - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x3000 - 0x2000); -#if PCRE2_CODE_UNIT_WIDTH == 8 - } -#endif -#endif /* SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == [16|32] */ -OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void check_vspace(compiler_common *common) -{ -/* Check whether TMP1 contains a newline character. TMP2 destroyed. */ -DEFINE_COMPILER; - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, RETURN_ADDR, 0); - -OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x0a); -OP2U(SLJIT_SUB | SLJIT_SET_LESS_EQUAL, TMP1, 0, SLJIT_IMM, 0x0d - 0x0a); -OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_LESS_EQUAL); -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x85 - 0x0a); -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utf) - { -#endif - OP_FLAGS(SLJIT_OR, TMP2, 0, SLJIT_EQUAL); - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, 0x1); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, 0x2029 - 0x0a); -#if PCRE2_CODE_UNIT_WIDTH == 8 - } -#endif -#endif /* SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == [16|32] */ -OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_EQUAL); - -OP_SRC(SLJIT_FAST_RETURN, RETURN_ADDR, 0); -} - -static void do_casefulcmp(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_label *label; -int char1_reg; -int char2_reg; - -if (HAS_VIRTUAL_REGISTERS) - { - char1_reg = STR_END; - char2_reg = STACK_TOP; - } -else - { - char1_reg = TMP3; - char2_reg = RETURN_ADDR; - } - -/* Update ref_update_local_size() when this changes. */ -SLJIT_ASSERT(common->locals_size >= SSIZE_OF(sw)); -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, SLJIT_MEM1(SLJIT_SP), LOCAL0); -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - -if (char1_reg == STR_END) - { - OP1(SLJIT_MOV, TMP3, 0, char1_reg, 0); - OP1(SLJIT_MOV, RETURN_ADDR, 0, char2_reg, 0); - } - -if (sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_POST, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)) == SLJIT_SUCCESS) - { - label = LABEL(); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_POST, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_POST, char2_reg, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - jump = CMP(SLJIT_NOT_EQUAL, char1_reg, 0, char2_reg, 0); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPTO(SLJIT_NOT_ZERO, label); - - JUMPHERE(jump); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - } -else if (sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_PRE, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)) == SLJIT_SUCCESS) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - label = LABEL(); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_PRE, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_PRE, char2_reg, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - jump = CMP(SLJIT_NOT_EQUAL, char1_reg, 0, char2_reg, 0); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPTO(SLJIT_NOT_ZERO, label); - - JUMPHERE(jump); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - } -else - { - label = LABEL(); - OP1(MOV_UCHAR, char1_reg, 0, SLJIT_MEM1(TMP1), 0); - OP1(MOV_UCHAR, char2_reg, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - jump = CMP(SLJIT_NOT_EQUAL, char1_reg, 0, char2_reg, 0); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); - JUMPTO(SLJIT_NOT_ZERO, label); - - JUMPHERE(jump); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - } - -if (char1_reg == STR_END) - { - OP1(SLJIT_MOV, char1_reg, 0, TMP3, 0); - OP1(SLJIT_MOV, char2_reg, 0, RETURN_ADDR, 0); - } - -OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); -} - -static void do_caselesscmp(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_label *label; -int char1_reg = STR_END; -int char2_reg; -int lcc_table; -int opt_type = 0; - -if (HAS_VIRTUAL_REGISTERS) - { - char2_reg = STACK_TOP; - lcc_table = STACK_LIMIT; - } -else - { - char2_reg = RETURN_ADDR; - lcc_table = TMP3; - } - -if (sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_POST, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)) == SLJIT_SUCCESS) - opt_type = 1; -else if (sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_SUPP | SLJIT_MEM_PRE, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)) == SLJIT_SUCCESS) - opt_type = 2; - -/* Update ref_update_local_size() when this changes. */ -SLJIT_ASSERT(common->locals_size >= 2 * SSIZE_OF(sw)); -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, SLJIT_MEM1(SLJIT_SP), LOCAL0); -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, char1_reg, 0); - -if (char2_reg == STACK_TOP) - { - OP1(SLJIT_MOV, TMP3, 0, char2_reg, 0); - OP1(SLJIT_MOV, RETURN_ADDR, 0, lcc_table, 0); - } - -OP1(SLJIT_MOV, lcc_table, 0, SLJIT_IMM, common->lcc); - -if (opt_type == 1) - { - label = LABEL(); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_POST, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_POST, char2_reg, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - } -else if (opt_type == 2) - { - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - label = LABEL(); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_PRE, char1_reg, SLJIT_MEM1(TMP1), IN_UCHARS(1)); - sljit_emit_mem_update(compiler, MOV_UCHAR | SLJIT_MEM_PRE, char2_reg, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - } -else - { - label = LABEL(); - OP1(MOV_UCHAR, char1_reg, 0, SLJIT_MEM1(TMP1), 0); - OP1(MOV_UCHAR, char2_reg, 0, SLJIT_MEM1(STR_PTR), 0); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, IN_UCHARS(1)); - } - -#if PCRE2_CODE_UNIT_WIDTH != 8 -jump = CMP(SLJIT_GREATER, char1_reg, 0, SLJIT_IMM, 255); -#endif -OP1(SLJIT_MOV_U8, char1_reg, 0, SLJIT_MEM2(lcc_table, char1_reg), 0); -#if PCRE2_CODE_UNIT_WIDTH != 8 -JUMPHERE(jump); -jump = CMP(SLJIT_GREATER, char2_reg, 0, SLJIT_IMM, 255); -#endif -OP1(SLJIT_MOV_U8, char2_reg, 0, SLJIT_MEM2(lcc_table, char2_reg), 0); -#if PCRE2_CODE_UNIT_WIDTH != 8 -JUMPHERE(jump); -#endif - -if (opt_type == 0) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -jump = CMP(SLJIT_NOT_EQUAL, char1_reg, 0, char2_reg, 0); -OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, TMP2, 0, SLJIT_IMM, IN_UCHARS(1)); -JUMPTO(SLJIT_NOT_ZERO, label); - -JUMPHERE(jump); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - -if (opt_type == 2) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - -if (char2_reg == STACK_TOP) - { - OP1(SLJIT_MOV, char2_reg, 0, TMP3, 0); - OP1(SLJIT_MOV, lcc_table, 0, RETURN_ADDR, 0); - } - -OP1(SLJIT_MOV, char1_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL1); -OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); -} - -#include "pcre2_jit_char_inc.h" - -static PCRE2_SPTR compile_simple_assertion_matchingpath(compiler_common *common, PCRE2_UCHAR type, PCRE2_SPTR cc, jump_list **backtracks) -{ -DEFINE_COMPILER; -struct sljit_jump *jump[4]; - -switch(type) - { - case OP_SOD: - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); - } - else - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); - return cc; - - case OP_SOM: - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); - } - else - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, TMP1, 0)); - return cc; - - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - add_jump(compiler, (type == OP_NOT_WORD_BOUNDARY || type == OP_WORD_BOUNDARY) ? &common->wordboundary : &common->ucp_wordboundary, JUMP(SLJIT_FAST_CALL)); -#ifdef SUPPORT_UNICODE - if (common->invalid_utf) - { - add_jump(compiler, backtracks, CMP((type == OP_NOT_WORD_BOUNDARY || type == OP_NOT_UCP_WORD_BOUNDARY) ? SLJIT_NOT_EQUAL : SLJIT_SIG_LESS_EQUAL, TMP2, 0, SLJIT_IMM, 0)); - return cc; - } -#endif /* SUPPORT_UNICODE */ - sljit_set_current_flags(compiler, SLJIT_SET_Z); - add_jump(compiler, backtracks, JUMP((type == OP_NOT_WORD_BOUNDARY || type == OP_NOT_UCP_WORD_BOUNDARY) ? SLJIT_NOT_ZERO : SLJIT_ZERO)); - return cc; - - case OP_EODN: - /* Requires rather complex checks. */ - jump[0] = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - if (common->nltype == NLTYPE_FIXED && common->newline > 255) - { - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - if (common->mode == PCRE2_JIT_COMPLETE) - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); - else - { - jump[1] = CMP(SLJIT_EQUAL, TMP2, 0, STR_END, 0); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, TMP2, 0, STR_END, 0); - OP_FLAGS(SLJIT_MOV, TMP2, 0, SLJIT_LESS); - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff); - OP_FLAGS(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, SLJIT_NOT_EQUAL); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL)); - check_partial(common, TRUE); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - JUMPHERE(jump[1]); - } - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); - } - else if (common->nltype == NLTYPE_FIXED) - { - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_END, 0)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, common->newline)); - } - else - { - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - jump[1] = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_CR); - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - OP2U(SLJIT_SUB | SLJIT_SET_Z | SLJIT_SET_GREATER, TMP2, 0, STR_END, 0); - jump[2] = JUMP(SLJIT_GREATER); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_EQUAL) /* LESS */); - /* Equal. */ - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - jump[3] = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - - JUMPHERE(jump[1]); - if (common->nltype == NLTYPE_ANYCRLF) - { - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP2, 0, STR_END, 0)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, CHAR_NL)); - } - else - { - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - read_char(common, common->nlmin, common->nlmax, backtracks, READ_CHAR_UPDATE_STR_PTR); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0)); - add_jump(compiler, &common->anynewline, JUMP(SLJIT_FAST_CALL)); - sljit_set_current_flags(compiler, SLJIT_SET_Z); - add_jump(compiler, backtracks, JUMP(SLJIT_ZERO)); - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - } - JUMPHERE(jump[2]); - JUMPHERE(jump[3]); - } - JUMPHERE(jump[0]); - if (common->mode != PCRE2_JIT_COMPLETE) - check_partial(common, TRUE); - return cc; - - case OP_EOD: - add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); - if (common->mode != PCRE2_JIT_COMPLETE) - check_partial(common, TRUE); - return cc; - - case OP_DOLL: - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP2, 0, ARGUMENTS, 0); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTEOL); - } - else - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTEOL); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO)); - - if (!common->endonly) - compile_simple_assertion_matchingpath(common, OP_EODN, cc, backtracks); - else - { - add_jump(compiler, backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); - check_partial(common, FALSE); - } - return cc; - - case OP_DOLLM: - jump[1] = CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0); - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP2, 0, ARGUMENTS, 0); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTEOL); - } - else - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTEOL); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO)); - check_partial(common, FALSE); - jump[0] = JUMP(SLJIT_JUMP); - JUMPHERE(jump[1]); - - if (common->nltype == NLTYPE_FIXED && common->newline > 255) - { - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - if (common->mode == PCRE2_JIT_COMPLETE) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER, TMP2, 0, STR_END, 0)); - else - { - jump[1] = CMP(SLJIT_LESS_EQUAL, TMP2, 0, STR_END, 0); - /* STR_PTR = STR_END - IN_UCHARS(1) */ - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff)); - check_partial(common, TRUE); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - JUMPHERE(jump[1]); - } - - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(1)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); - } - else - { - peek_char(common, common->nlmax, TMP3, 0, NULL); - check_newlinechar(common, common->nltype, backtracks, FALSE); - } - JUMPHERE(jump[0]); - return cc; - - case OP_CIRC: - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP2, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(jit_arguments, begin)); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0)); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTBOL); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO)); - } - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - add_jump(compiler, backtracks, CMP(SLJIT_GREATER, STR_PTR, 0, TMP1, 0)); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTBOL); - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO)); - } - return cc; - - case OP_CIRCM: - /* TMP2 might be used by peek_char_back. */ - if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); - jump[1] = CMP(SLJIT_GREATER, STR_PTR, 0, TMP2, 0); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTBOL); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - jump[1] = CMP(SLJIT_GREATER, STR_PTR, 0, TMP2, 0); - OP2U(SLJIT_AND32 | SLJIT_SET_Z, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, options), SLJIT_IMM, PCRE2_NOTBOL); - } - add_jump(compiler, backtracks, JUMP(SLJIT_NOT_ZERO)); - jump[0] = JUMP(SLJIT_JUMP); - JUMPHERE(jump[1]); - - if (!common->alt_circumflex) - add_jump(compiler, backtracks, CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0)); - - if (common->nltype == NLTYPE_FIXED && common->newline > 255) - { - OP2(SLJIT_SUB, TMP1, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(2)); - add_jump(compiler, backtracks, CMP(SLJIT_LESS, TMP1, 0, TMP2, 0)); - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); - OP1(MOV_UCHAR, TMP2, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, (common->newline >> 8) & 0xff)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, common->newline & 0xff)); - } - else - { - peek_char_back(common, common->nlmax, backtracks); - check_newlinechar(common, common->nltype, backtracks, FALSE); - } - JUMPHERE(jump[0]); - return cc; - } -SLJIT_UNREACHABLE(); -return cc; -} - -/* Forward definitions. */ -static void compile_matchingpath(compiler_common *, PCRE2_SPTR, PCRE2_SPTR, backtrack_common *); -static void compile_backtrackingpath(compiler_common *, struct backtrack_common *); - -#define PUSH_BACKTRACK(size, ccstart, error) \ - do \ - { \ - backtrack = sljit_alloc_memory(compiler, (size)); \ - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \ - return error; \ - memset(backtrack, 0, size); \ - backtrack->prev = parent->top; \ - backtrack->cc = (ccstart); \ - parent->top = backtrack; \ - } \ - while (0) - -#define PUSH_BACKTRACK_NOVALUE(size, ccstart) \ - do \ - { \ - backtrack = sljit_alloc_memory(compiler, (size)); \ - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \ - return; \ - memset(backtrack, 0, size); \ - backtrack->prev = parent->top; \ - backtrack->cc = (ccstart); \ - parent->top = backtrack; \ - } \ - while (0) - -#define BACKTRACK_AS(type) ((type *)backtrack) - -static void compile_dnref_search(compiler_common *common, PCRE2_SPTR cc, jump_list **backtracks) -{ -/* The OVECTOR offset goes to TMP2. */ -DEFINE_COMPILER; -int count = GET2(cc, 1 + IMM2_SIZE); -PCRE2_SPTR slot = common->name_table + GET2(cc, 1) * common->name_entry_size; -unsigned int offset; -jump_list *found = NULL; - -SLJIT_ASSERT(*cc == OP_DNREF || *cc == OP_DNREFI); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)); - -count--; -while (count-- > 0) - { - offset = GET2(slot, 0) << 1; - GET_LOCAL_BASE(TMP2, 0, OVECTOR(offset)); - add_jump(compiler, &found, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0)); - slot += common->name_entry_size; - } - -offset = GET2(slot, 0) << 1; -GET_LOCAL_BASE(TMP2, 0, OVECTOR(offset)); -if (backtracks != NULL && !common->unset_backref) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0)); - -set_jumps(found, LABEL()); -} - -static void compile_ref_matchingpath(compiler_common *common, PCRE2_SPTR cc, jump_list **backtracks, BOOL withchecks, BOOL emptyfail) -{ -DEFINE_COMPILER; -BOOL ref = (*cc == OP_REF || *cc == OP_REFI); -int offset = 0; -struct sljit_jump *jump = NULL; -struct sljit_jump *partial; -struct sljit_jump *nopartial; -#if defined SUPPORT_UNICODE -struct sljit_label *loop; -struct sljit_label *caseless_loop; -struct sljit_jump *turkish_ascii_i = NULL; -struct sljit_jump *turkish_non_ascii_i = NULL; -jump_list *no_match = NULL; -int source_reg = COUNT_MATCH; -int source_end_reg = ARGUMENTS; -int char1_reg = STACK_LIMIT; -PCRE2_UCHAR refi_flag = 0; - -if (*cc == OP_REFI || *cc == OP_DNREFI) - refi_flag = cc[PRIV(OP_lengths)[*cc] - 1]; -#endif /* SUPPORT_UNICODE */ - -if (ref) - { - offset = GET2(cc, 1) << 1; - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - /* OVECTOR(1) contains the "string begin - 1" constant. */ - if (withchecks && !common->unset_backref) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); - } -else - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), 0); - -#if defined SUPPORT_UNICODE -if ((common->utf || common->ucp) && (*cc == OP_REFI || *cc == OP_DNREFI)) - { - /* Update ref_update_local_size() when this changes. */ - SLJIT_ASSERT(common->locals_size >= 3 * SSIZE_OF(sw)); - - if (ref) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - else - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - - if (withchecks && emptyfail) - add_jump(compiler, backtracks, CMP(SLJIT_EQUAL, TMP1, 0, TMP2, 0)); - - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL0, source_reg, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, source_end_reg, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL2, char1_reg, 0); - - OP1(SLJIT_MOV, source_reg, 0, TMP1, 0); - OP1(SLJIT_MOV, source_end_reg, 0, TMP2, 0); - - loop = LABEL(); - jump = CMP(SLJIT_GREATER_EQUAL, source_reg, 0, source_end_reg, 0); - partial = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, STR_END, 0); - - /* Read original character. It must be a valid UTF character. */ - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - OP1(SLJIT_MOV, STR_PTR, 0, source_reg, 0); - - read_char(common, 0, READ_CHAR_MAX, NULL, READ_CHAR_UPDATE_STR_PTR | READ_CHAR_VALID_UTF); - - OP1(SLJIT_MOV, source_reg, 0, STR_PTR, 0); - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - OP1(SLJIT_MOV, char1_reg, 0, TMP1, 0); - - /* Read second character. */ - read_char(common, 0, READ_CHAR_MAX, &no_match, READ_CHAR_UPDATE_STR_PTR); - - CMPTO(SLJIT_EQUAL, TMP1, 0, char1_reg, 0, loop); - - if ((refi_flag & (REFI_FLAG_TURKISH_CASING|REFI_FLAG_CASELESS_RESTRICT)) == - REFI_FLAG_TURKISH_CASING) - { - OP2(SLJIT_OR, SLJIT_TMP_DEST_REG, 0, char1_reg, 0, SLJIT_IMM, 0x20); - turkish_ascii_i = CMP(SLJIT_EQUAL, SLJIT_TMP_DEST_REG, 0, SLJIT_IMM, 0x69); - - OP2(SLJIT_OR, SLJIT_TMP_DEST_REG, 0, char1_reg, 0, SLJIT_IMM, 0x1); - turkish_non_ascii_i = CMP(SLJIT_EQUAL, SLJIT_TMP_DEST_REG, 0, SLJIT_IMM, 0x131); - } - - OP1(SLJIT_MOV, TMP3, 0, TMP1, 0); - - add_jump(compiler, &common->getucd, JUMP(SLJIT_FAST_CALL)); - - OP2(SLJIT_SHL, TMP1, 0, TMP2, 0, SLJIT_IMM, 2); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 3); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, TMP1, 0); - - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_records)); - - OP1(SLJIT_MOV_S32, TMP1, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(ucd_record, other_case)); - OP1(SLJIT_MOV_U8, TMP2, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(ucd_record, caseset)); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, TMP3, 0); - CMPTO(SLJIT_EQUAL, TMP1, 0, char1_reg, 0, loop); - - add_jump(compiler, &no_match, CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); - OP2(SLJIT_SHL, TMP2, 0, TMP2, 0, SLJIT_IMM, 2); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, (sljit_sw)PRIV(ucd_caseless_sets)); - - if (refi_flag & REFI_FLAG_CASELESS_RESTRICT) - add_jump(compiler, &no_match, CMP(SLJIT_LESS | SLJIT_32, SLJIT_MEM1(TMP2), 0, SLJIT_IMM, 128)); - - caseless_loop = LABEL(); - OP1(SLJIT_MOV_U32, TMP1, 0, SLJIT_MEM1(TMP2), 0); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, SLJIT_IMM, sizeof(uint32_t)); - OP2U(SLJIT_SUB | SLJIT_SET_Z | SLJIT_SET_LESS, TMP1, 0, char1_reg, 0); - JUMPTO(SLJIT_EQUAL, loop); - JUMPTO(SLJIT_LESS, caseless_loop); - - if ((refi_flag & (REFI_FLAG_TURKISH_CASING|REFI_FLAG_CASELESS_RESTRICT)) == - REFI_FLAG_TURKISH_CASING) - { - add_jump(compiler, &no_match, JUMP(SLJIT_JUMP)); - JUMPHERE(turkish_ascii_i); - - OP2(SLJIT_LSHR, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 5); - OP2(SLJIT_AND, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 1); - OP2(SLJIT_XOR, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 1); - OP2(SLJIT_ADD, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 0x130); - CMPTO(SLJIT_EQUAL, TMP1, 0, char1_reg, 0, loop); - - add_jump(compiler, &no_match, JUMP(SLJIT_JUMP)); - JUMPHERE(turkish_non_ascii_i); - - OP2(SLJIT_AND, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 1); - OP2(SLJIT_XOR, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 1); - OP2(SLJIT_SHL, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 5); - OP2(SLJIT_ADD, char1_reg, 0, char1_reg, 0, SLJIT_IMM, 0x49); - CMPTO(SLJIT_EQUAL, TMP1, 0, char1_reg, 0, loop); - } - - set_jumps(no_match, LABEL()); - if (common->mode == PCRE2_JIT_COMPLETE) - JUMPHERE(partial); - - OP1(SLJIT_MOV, source_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP1(SLJIT_MOV, source_end_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL1); - OP1(SLJIT_MOV, char1_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - - if (common->mode != PCRE2_JIT_COMPLETE) - { - JUMPHERE(partial); - OP1(SLJIT_MOV, source_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP1(SLJIT_MOV, source_end_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL1); - OP1(SLJIT_MOV, char1_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - - check_partial(common, FALSE); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - } - - JUMPHERE(jump); - OP1(SLJIT_MOV, source_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); - OP1(SLJIT_MOV, source_end_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL1); - OP1(SLJIT_MOV, char1_reg, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - return; - } -else -#endif /* SUPPORT_UNICODE */ - { - if (ref) - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), TMP1, 0); - else - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw), TMP1, 0); - - if (withchecks) - jump = JUMP(SLJIT_ZERO); - - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, TMP2, 0); - partial = CMP(SLJIT_GREATER, STR_PTR, 0, STR_END, 0); - if (common->mode == PCRE2_JIT_COMPLETE) - add_jump(compiler, backtracks, partial); - - add_jump(compiler, (*cc == OP_REF || *cc == OP_DNREF) ? &common->casefulcmp : &common->caselesscmp, JUMP(SLJIT_FAST_CALL)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); - - if (common->mode != PCRE2_JIT_COMPLETE) - { - nopartial = JUMP(SLJIT_JUMP); - JUMPHERE(partial); - /* TMP2 -= STR_END - STR_PTR */ - OP2(SLJIT_SUB, TMP2, 0, TMP2, 0, STR_PTR, 0); - OP2(SLJIT_ADD, TMP2, 0, TMP2, 0, STR_END, 0); - partial = CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, STR_PTR, 0, STR_END, 0); - add_jump(compiler, (*cc == OP_REF || *cc == OP_DNREF) ? &common->casefulcmp : &common->caselesscmp, JUMP(SLJIT_FAST_CALL)); - add_jump(compiler, backtracks, CMP(SLJIT_NOT_EQUAL, TMP2, 0, SLJIT_IMM, 0)); - JUMPHERE(partial); - check_partial(common, FALSE); - add_jump(compiler, backtracks, JUMP(SLJIT_JUMP)); - JUMPHERE(nopartial); - } - } - -if (jump != NULL) - { - if (emptyfail) - add_jump(compiler, backtracks, jump); - else - JUMPHERE(jump); - } -} - -static SLJIT_INLINE PCRE2_SPTR compile_ref_iterator_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -BOOL ref = (*cc == OP_REF || *cc == OP_REFI); -backtrack_common *backtrack; -PCRE2_UCHAR type; -int local_start = LOCAL2; -int offset = 0; -struct sljit_label *label; -struct sljit_jump *zerolength; -struct sljit_jump *jump = NULL; -PCRE2_SPTR ccbegin = cc; -int min = 0, max = 0; -BOOL minimize; - -PUSH_BACKTRACK(sizeof(ref_iterator_backtrack), cc, NULL); - -if (ref) - offset = GET2(cc, 1) << 1; -else - cc += IMM2_SIZE; - -if (*ccbegin == OP_REFI || *ccbegin == OP_DNREFI) - { - cc += 1; -#ifdef SUPPORT_UNICODE - if (common->utf || common->ucp) - local_start = LOCAL3; -#endif - } - -type = cc[1 + IMM2_SIZE]; - -SLJIT_COMPILE_ASSERT((OP_CRSTAR & 0x1) == 0, crstar_opcode_must_be_even); -/* Update ref_update_local_size() when this changes. */ -SLJIT_ASSERT(local_start + 2 * SSIZE_OF(sw) <= (int)LOCAL0 + common->locals_size); -minimize = (type & 0x1) != 0; -switch(type) - { - case OP_CRSTAR: - case OP_CRMINSTAR: - min = 0; - max = 0; - cc += 1 + IMM2_SIZE + 1; - break; - case OP_CRPLUS: - case OP_CRMINPLUS: - min = 1; - max = 0; - cc += 1 + IMM2_SIZE + 1; - break; - case OP_CRQUERY: - case OP_CRMINQUERY: - min = 0; - max = 1; - cc += 1 + IMM2_SIZE + 1; - break; - case OP_CRRANGE: - case OP_CRMINRANGE: - min = GET2(cc, 1 + IMM2_SIZE + 1); - max = GET2(cc, 1 + IMM2_SIZE + 1 + IMM2_SIZE); - cc += 1 + IMM2_SIZE + 1 + 2 * IMM2_SIZE; - break; - default: - SLJIT_UNREACHABLE(); - break; - } - -if (!minimize) - { - if (min == 0) - { - allocate_stack(common, 2); - if (ref) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, 0); - /* Temporary release of STR_PTR. */ - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - /* Handles both invalid and empty cases. Since the minimum repeat, - is zero the invalid case is basically the same as an empty case. */ - if (ref) - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - else - { - compile_dnref_search(common, ccbegin, NULL); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), local_start + SSIZE_OF(sw), TMP2, 0); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - } - /* Restore if not zero length. */ - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - } - else - { - allocate_stack(common, 1); - if (ref) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - - if (ref) - { - if (!common->unset_backref) - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - } - else - { - compile_dnref_search(common, ccbegin, &backtrack->own_backtracks); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), local_start + SSIZE_OF(sw), TMP2, 0); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - } - } - - if (min > 1 || max > 1) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), local_start, SLJIT_IMM, 0); - - label = LABEL(); - if (!ref) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), local_start + SSIZE_OF(sw)); - compile_ref_matchingpath(common, ccbegin, &backtrack->own_backtracks, FALSE, FALSE); - - if (min > 1 || max > 1) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), local_start); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), local_start, TMP1, 0); - if (min > 1) - CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, min, label); - if (max > 1) - { - jump = CMP(SLJIT_GREATER_EQUAL, TMP1, 0, SLJIT_IMM, max); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - JUMPTO(SLJIT_JUMP, label); - JUMPHERE(jump); - } - } - - if (max == 0) - { - /* Includes min > 1 case as well. */ - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - JUMPTO(SLJIT_JUMP, label); - } - - JUMPHERE(zerolength); - BACKTRACK_AS(ref_iterator_backtrack)->matchingpath = LABEL(); - - count_match(common); - return cc; - } - -allocate_stack(common, ref ? 2 : 3); -if (ref) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); -if (type != OP_CRMINSTAR) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, 0); - -if (min == 0) - { - /* Handles both invalid and empty cases. Since the minimum repeat, - is zero the invalid case is basically the same as an empty case. */ - if (ref) - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - else - { - compile_dnref_search(common, ccbegin, NULL); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), TMP2, 0); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - } - /* Length is non-zero, we can match real repeats. */ - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - jump = JUMP(SLJIT_JUMP); - } -else - { - if (ref) - { - if (!common->unset_backref) - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - } - else - { - compile_dnref_search(common, ccbegin, &backtrack->own_backtracks); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), TMP2, 0); - zerolength = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - } - } - -BACKTRACK_AS(ref_iterator_backtrack)->matchingpath = LABEL(); -if (max > 0) - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_GREATER_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, max)); - -if (!ref) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(2)); -compile_ref_matchingpath(common, ccbegin, &backtrack->own_backtracks, TRUE, TRUE); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - -if (min > 1) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), TMP1, 0); - CMPTO(SLJIT_LESS, TMP1, 0, SLJIT_IMM, min, BACKTRACK_AS(ref_iterator_backtrack)->matchingpath); - } -else if (max > 0) - OP2(SLJIT_ADD, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, 1); - -if (jump != NULL) - JUMPHERE(jump); -JUMPHERE(zerolength); - -count_match(common); -return cc; -} - -static SLJIT_INLINE PCRE2_SPTR compile_recurse_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -recurse_entry *entry = common->entries; -recurse_entry *prev = NULL; -sljit_sw start = GET(cc, 1); -PCRE2_SPTR start_cc; -BOOL needs_control_head; - -PUSH_BACKTRACK(sizeof(recurse_backtrack), cc, NULL); - -/* Inlining simple patterns. */ -if (get_framesize(common, common->start + start, NULL, TRUE, &needs_control_head) == no_stack) - { - start_cc = common->start + start; - compile_matchingpath(common, next_opcode(common, start_cc), bracketend(start_cc) - (1 + LINK_SIZE), backtrack); - BACKTRACK_AS(recurse_backtrack)->inlined_pattern = TRUE; - return cc + 1 + LINK_SIZE; - } - -while (entry != NULL) - { - if (entry->start == start) - break; - prev = entry; - entry = entry->next; - } - -if (entry == NULL) - { - entry = sljit_alloc_memory(compiler, sizeof(recurse_entry)); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - entry->next = NULL; - entry->entry_label = NULL; - entry->backtrack_label = NULL; - entry->entry_calls = NULL; - entry->backtrack_calls = NULL; - entry->start = start; - - if (prev != NULL) - prev->next = entry; - else - common->entries = entry; - } - -BACKTRACK_AS(recurse_backtrack)->entry = entry; - -if (entry->entry_label == NULL) - add_jump(compiler, &entry->entry_calls, JUMP(SLJIT_FAST_CALL)); -else - JUMPTO(SLJIT_FAST_CALL, entry->entry_label); -/* Leave if the match is failed. */ -add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0)); -BACKTRACK_AS(recurse_backtrack)->matchingpath = LABEL(); -return cc + 1 + LINK_SIZE; -} - -static sljit_s32 SLJIT_FUNC do_callout_jit(struct jit_arguments *arguments, pcre2_callout_block *callout_block, PCRE2_SPTR *jit_ovector) -{ -PCRE2_SPTR begin; -PCRE2_SIZE *ovector; -sljit_u32 oveccount, capture_top; - -if (arguments->callout == NULL) - return 0; - -SLJIT_COMPILE_ASSERT(sizeof (PCRE2_SIZE) <= sizeof (sljit_sw), pcre2_size_must_be_lower_than_sljit_sw_size); - -begin = arguments->begin; -ovector = (PCRE2_SIZE*)(callout_block + 1); -oveccount = callout_block->capture_top; - -SLJIT_ASSERT(oveccount >= 1); - -callout_block->version = 2; -callout_block->callout_flags = 0; - -/* Offsets in subject. */ -callout_block->subject_length = arguments->end - arguments->begin; -callout_block->start_match = jit_ovector[0] - begin; -callout_block->current_position = (PCRE2_SPTR)callout_block->offset_vector - begin; -callout_block->subject = begin; - -/* Convert and copy the JIT offset vector to the ovector array. */ -callout_block->capture_top = 1; -callout_block->offset_vector = ovector; - -ovector[0] = PCRE2_UNSET; -ovector[1] = PCRE2_UNSET; -ovector += 2; -jit_ovector += 2; -capture_top = 1; - -/* Convert pointers to sizes. */ -while (--oveccount != 0) - { - capture_top++; - - ovector[0] = (PCRE2_SIZE)(jit_ovector[0] - begin); - ovector[1] = (PCRE2_SIZE)(jit_ovector[1] - begin); - - if (ovector[0] != PCRE2_UNSET) - callout_block->capture_top = capture_top; - - ovector += 2; - jit_ovector += 2; - } - -return (arguments->callout)(callout_block, arguments->callout_data); -} - -#define CALLOUT_ARG_OFFSET(arg) \ - SLJIT_OFFSETOF(pcre2_callout_block, arg) - -static SLJIT_INLINE PCRE2_SPTR compile_callout_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -sljit_s32 mov_opcode; -unsigned int callout_length = (*cc == OP_CALLOUT) - ? PRIV(OP_lengths)[OP_CALLOUT] : GET(cc, 1 + 2 * LINK_SIZE); -sljit_sw value1; -sljit_sw value2; -sljit_sw value3; -sljit_uw callout_arg_size = (common->re->top_bracket + 1) * 2 * SSIZE_OF(sw); - -PUSH_BACKTRACK(sizeof(backtrack_common), cc, NULL); - -callout_arg_size = (sizeof(pcre2_callout_block) + callout_arg_size + sizeof(sljit_sw) - 1) / sizeof(sljit_sw); - -allocate_stack(common, callout_arg_size); - -SLJIT_ASSERT(common->capture_last_ptr != 0); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr); -OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); -value1 = (*cc == OP_CALLOUT) ? cc[1 + 2 * LINK_SIZE] : 0; -OP1(SLJIT_MOV_U32, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(callout_number), SLJIT_IMM, value1); -OP1(SLJIT_MOV_U32, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(capture_last), TMP2, 0); -OP1(SLJIT_MOV_U32, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(capture_top), SLJIT_IMM, common->re->top_bracket + 1); - -/* These pointer sized fields temporarly stores internal variables. */ -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(offset_vector), STR_PTR, 0); - -if (common->mark_ptr != 0) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, mark_ptr)); -mov_opcode = (sizeof(PCRE2_SIZE) == 4) ? SLJIT_MOV_U32 : SLJIT_MOV; -OP1(mov_opcode, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(pattern_position), SLJIT_IMM, GET(cc, 1)); -OP1(mov_opcode, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(next_item_length), SLJIT_IMM, GET(cc, 1 + LINK_SIZE)); - -if (*cc == OP_CALLOUT) - { - value1 = 0; - value2 = 0; - value3 = 0; - } -else - { - value1 = (sljit_sw) (cc + (1 + 4*LINK_SIZE) + 1); - value2 = (callout_length - (1 + 4*LINK_SIZE + 2)); - value3 = (sljit_sw) (GET(cc, 1 + 3*LINK_SIZE)); - } - -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(callout_string), SLJIT_IMM, value1); -OP1(mov_opcode, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(callout_string_length), SLJIT_IMM, value2); -OP1(mov_opcode, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(callout_string_offset), SLJIT_IMM, value3); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), CALLOUT_ARG_OFFSET(mark), (common->mark_ptr != 0) ? TMP2 : SLJIT_IMM, 0); - -SLJIT_ASSERT(TMP1 == SLJIT_R0 && STR_PTR == SLJIT_R1); - -/* Needed to save important temporary registers. */ -SLJIT_ASSERT(common->locals_size >= SSIZE_OF(sw)); -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL0, STR_PTR, 0); -/* SLJIT_R0 = arguments */ -OP1(SLJIT_MOV, SLJIT_R1, 0, STACK_TOP, 0); -GET_LOCAL_BASE(SLJIT_R2, 0, OVECTOR_START); -sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS3(32, W, W, W), SLJIT_IMM, SLJIT_FUNC_ADDR(do_callout_jit)); -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); -free_stack(common, callout_arg_size); - -/* Check return value. */ -OP2U(SLJIT_SUB32 | SLJIT_SET_Z | SLJIT_SET_SIG_GREATER, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0); -add_jump(compiler, &backtrack->own_backtracks, JUMP(SLJIT_SIG_GREATER)); -if (common->abort_label == NULL) - add_jump(compiler, &common->abort, JUMP(SLJIT_NOT_EQUAL) /* SIG_LESS */); -else - JUMPTO(SLJIT_NOT_EQUAL /* SIG_LESS */, common->abort_label); -return cc + callout_length; -} - -#undef CALLOUT_ARG_SIZE -#undef CALLOUT_ARG_OFFSET - -static PCRE2_SPTR compile_reverse_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack = NULL; -jump_list **reverse_failed; -unsigned int lmin, lmax; -#ifdef SUPPORT_UNICODE -struct sljit_jump *jump; -struct sljit_label *label; -#endif - -SLJIT_ASSERT(parent->top == NULL); - -if (*cc == OP_REVERSE) - { - reverse_failed = &parent->own_backtracks; - lmin = GET2(cc, 1); - lmax = lmin; - cc += 1 + IMM2_SIZE; - - SLJIT_ASSERT(lmin > 0); - } -else - { - SLJIT_ASSERT(*cc == OP_VREVERSE); - PUSH_BACKTRACK(sizeof(vreverse_backtrack), cc, NULL); - - reverse_failed = &backtrack->own_backtracks; - lmin = GET2(cc, 1); - lmax = GET2(cc, 1 + IMM2_SIZE); - cc += 1 + 2 * IMM2_SIZE; - - SLJIT_ASSERT(lmin < lmax); - } - -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, begin)); - } -else - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, begin)); - -#ifdef SUPPORT_UNICODE -if (common->utf) - { - if (lmin > 0) - { - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, lmin); - label = LABEL(); - add_jump(compiler, reverse_failed, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0)); - move_back(common, reverse_failed, FALSE); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - - if (lmin < lmax) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(3), STR_PTR, 0); - - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, lmax - lmin); - label = LABEL(); - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - move_back(common, reverse_failed, FALSE); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - - JUMPHERE(jump); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), STR_PTR, 0); - } - } -else -#endif - { - if (lmin > 0) - { - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(lmin)); - add_jump(compiler, reverse_failed, CMP(SLJIT_LESS, STR_PTR, 0, TMP2, 0)); - } - - if (lmin < lmax) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(3), STR_PTR, 0); - - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(lmax - lmin)); - OP2U(SLJIT_SUB | SLJIT_SET_LESS, STR_PTR, 0, TMP2, 0); - SELECT(SLJIT_LESS, STR_PTR, TMP2, 0, STR_PTR); - - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), STR_PTR, 0); - } - } - -check_start_used_ptr(common); - -if (lmin < lmax) - BACKTRACK_AS(vreverse_backtrack)->matchingpath = LABEL(); - -return cc; -} - -static SLJIT_INLINE BOOL assert_needs_str_ptr_saving(PCRE2_SPTR cc) -{ -while (TRUE) - { - switch (*cc) - { - case OP_CALLOUT_STR: - cc += GET(cc, 1 + 2*LINK_SIZE); - break; - - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_CIRC: - case OP_CIRCM: - case OP_DOLL: - case OP_DOLLM: - case OP_CALLOUT: - case OP_ALT: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - cc += PRIV(OP_lengths)[*cc]; - break; - - case OP_KET: - return FALSE; - - default: - return TRUE; - } - } -} - -static PCRE2_SPTR compile_assert_matchingpath(compiler_common *common, PCRE2_SPTR cc, assert_backtrack *backtrack, BOOL conditional) -{ -DEFINE_COMPILER; -int framesize; -int extrasize; -BOOL local_quit_available = FALSE; -BOOL needs_control_head; -BOOL end_block_size = 0; -BOOL has_vreverse; -int private_data_ptr; -backtrack_common altbacktrack; -PCRE2_SPTR ccbegin; -PCRE2_UCHAR opcode; -PCRE2_UCHAR bra = OP_BRA; -jump_list *tmp = NULL; -jump_list **target = (conditional) ? &backtrack->condfailed : &backtrack->common.own_backtracks; -jump_list **found; -/* Saving previous accept variables. */ -BOOL save_local_quit_available = common->local_quit_available; -BOOL save_in_positive_assertion = common->in_positive_assertion; -sljit_s32 save_restore_end_ptr = common->restore_end_ptr; -then_trap_backtrack *save_then_trap = common->then_trap; -struct sljit_label *save_quit_label = common->quit_label; -struct sljit_label *save_accept_label = common->accept_label; -jump_list *save_quit = common->quit; -jump_list *save_positive_assertion_quit = common->positive_assertion_quit; -jump_list *save_accept = common->accept; -struct sljit_jump *jump; -struct sljit_jump *brajump = NULL; - -/* Assert captures then. */ -common->then_trap = NULL; - -if (*cc == OP_BRAZERO || *cc == OP_BRAMINZERO) - { - SLJIT_ASSERT(!conditional); - bra = *cc; - cc++; - } - -private_data_ptr = PRIVATE_DATA(cc); -SLJIT_ASSERT(private_data_ptr != 0); -framesize = get_framesize(common, cc, NULL, FALSE, &needs_control_head); -backtrack->framesize = framesize; -backtrack->private_data_ptr = private_data_ptr; -opcode = *cc; -SLJIT_ASSERT(opcode >= OP_ASSERT && opcode <= OP_ASSERTBACK_NOT); -found = (opcode == OP_ASSERT || opcode == OP_ASSERTBACK) ? &tmp : target; -ccbegin = cc; -cc += GET(cc, 1); - -if (bra == OP_BRAMINZERO) - { - /* This is a braminzero backtrack path. */ - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - brajump = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - } - -if ((opcode == OP_ASSERTBACK || opcode == OP_ASSERTBACK_NOT) && find_vreverse(ccbegin)) - end_block_size = 3; - -if (framesize < 0) - { - extrasize = 1; - if (bra == OP_BRA && !assert_needs_str_ptr_saving(ccbegin + 1 + LINK_SIZE)) - extrasize = 0; - - extrasize += end_block_size; - - if (needs_control_head) - extrasize++; - - if (framesize == no_frame) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STACK_TOP, 0); - - if (extrasize > 0) - allocate_stack(common, extrasize); - - if (needs_control_head) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - - if (extrasize > 0) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - - if (needs_control_head) - { - SLJIT_ASSERT(extrasize == end_block_size + 2); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_IMM, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(end_block_size + 1), TMP1, 0); - } - } -else - { - extrasize = (needs_control_head ? 3 : 2) + end_block_size; - - OP1(SLJIT_MOV, TMP2, 0, STACK_TOP, 0); - allocate_stack(common, framesize + extrasize); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP2, 0); - if (needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - - if (needs_control_head) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(end_block_size + 2), TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(end_block_size + 1), TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_IMM, 0); - } - else - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(end_block_size + 1), TMP1, 0); - - init_frame(common, ccbegin, NULL, framesize + extrasize - 1, extrasize); - } - -if (end_block_size > 0) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, STR_PTR, 0); - } - -memset(&altbacktrack, 0, sizeof(backtrack_common)); -if (conditional || (opcode == OP_ASSERT_NOT || opcode == OP_ASSERTBACK_NOT)) - { - /* Control verbs cannot escape from these asserts. */ - local_quit_available = TRUE; - common->restore_end_ptr = 0; - common->local_quit_available = TRUE; - common->quit_label = NULL; - common->quit = NULL; - } - -common->in_positive_assertion = (opcode == OP_ASSERT || opcode == OP_ASSERTBACK); -common->positive_assertion_quit = NULL; - -while (1) - { - common->accept_label = NULL; - common->accept = NULL; - altbacktrack.top = NULL; - altbacktrack.own_backtracks = NULL; - - if (*ccbegin == OP_ALT && extrasize > 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - - altbacktrack.cc = ccbegin; - ccbegin += 1 + LINK_SIZE; - - has_vreverse = (*ccbegin == OP_VREVERSE); - if (*ccbegin == OP_REVERSE || has_vreverse) - ccbegin = compile_reverse_matchingpath(common, ccbegin, &altbacktrack); - - compile_matchingpath(common, ccbegin, cc, &altbacktrack); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - { - if (local_quit_available) - { - common->local_quit_available = save_local_quit_available; - common->quit_label = save_quit_label; - common->quit = save_quit; - } - common->in_positive_assertion = save_in_positive_assertion; - common->restore_end_ptr = save_restore_end_ptr; - common->then_trap = save_then_trap; - common->accept_label = save_accept_label; - common->positive_assertion_quit = save_positive_assertion_quit; - common->accept = save_accept; - return NULL; - } - - if (has_vreverse) - { - SLJIT_ASSERT(altbacktrack.top != NULL); - add_jump(compiler, &altbacktrack.top->simple_backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); - } - - common->accept_label = LABEL(); - if (common->accept != NULL) - set_jumps(common->accept, common->accept_label); - - /* Reset stack. */ - if (framesize < 0) - { - if (framesize == no_frame) - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - else if (extrasize > 0) - free_stack(common, extrasize); - - if (end_block_size > 0) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(STACK_TOP), STACK(-extrasize + 1)); - - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(-1)); - } - else - { - if ((opcode != OP_ASSERT_NOT && opcode != OP_ASSERTBACK_NOT) || conditional) - { - /* We don't need to keep the STR_PTR, only the previous private_data_ptr. */ - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, (framesize + 1) * sizeof(sljit_sw)); - - if (end_block_size > 0) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(STACK_TOP), STACK(-extrasize + 2)); - - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(-1)); - } - else - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - - if (end_block_size > 0) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(STACK_TOP), STACK(-framesize - extrasize + 1)); - - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(-framesize - 2)); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (framesize - 1) * sizeof(sljit_sw)); - } - } - - if (opcode == OP_ASSERT_NOT || opcode == OP_ASSERTBACK_NOT) - { - /* We know that STR_PTR was stored on the top of the stack. */ - if (conditional) - { - if (extrasize > 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-end_block_size - (needs_control_head ? 2 : 1))); - } - else if (bra == OP_BRAZERO) - { - if (framesize < 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-extrasize)); - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-framesize - 1)); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-framesize - extrasize)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else if (framesize >= 0) - { - /* For OP_BRA and OP_BRAMINZERO. */ - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_MEM1(STACK_TOP), STACK(-framesize - 1)); - } - } - add_jump(compiler, found, JUMP(SLJIT_JUMP)); - - compile_backtrackingpath(common, altbacktrack.top); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - { - if (local_quit_available) - { - common->local_quit_available = save_local_quit_available; - common->quit_label = save_quit_label; - common->quit = save_quit; - } - common->in_positive_assertion = save_in_positive_assertion; - common->restore_end_ptr = save_restore_end_ptr; - common->then_trap = save_then_trap; - common->accept_label = save_accept_label; - common->positive_assertion_quit = save_positive_assertion_quit; - common->accept = save_accept; - return NULL; - } - set_jumps(altbacktrack.own_backtracks, LABEL()); - - if (*cc != OP_ALT) - break; - - ccbegin = cc; - cc += GET(cc, 1); - } - -if (local_quit_available) - { - SLJIT_ASSERT(common->positive_assertion_quit == NULL); - /* Makes the check less complicated below. */ - common->positive_assertion_quit = common->quit; - } - -/* None of them matched. */ -if (common->positive_assertion_quit != NULL) - { - jump = JUMP(SLJIT_JUMP); - set_jumps(common->positive_assertion_quit, LABEL()); - SLJIT_ASSERT(framesize != no_stack); - if (framesize < 0) - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, extrasize * sizeof(sljit_sw)); - else - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (extrasize + 1) * sizeof(sljit_sw)); - } - JUMPHERE(jump); - } - -if (end_block_size > 0) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - -if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(end_block_size + 1)); - -if (opcode == OP_ASSERT || opcode == OP_ASSERTBACK) - { - /* Assert is failed. */ - if ((conditional && extrasize > 0) || bra == OP_BRAZERO) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - - if (framesize < 0) - { - /* The topmost item should be 0. */ - if (bra == OP_BRAZERO) - { - if (extrasize >= 2) - free_stack(common, extrasize - 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else if (extrasize > 0) - free_stack(common, extrasize); - } - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(extrasize - 1)); - /* The topmost item should be 0. */ - if (bra == OP_BRAZERO) - { - free_stack(common, framesize + extrasize - 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else - free_stack(common, framesize + extrasize); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - jump = JUMP(SLJIT_JUMP); - if (bra != OP_BRAZERO) - add_jump(compiler, target, jump); - - /* Assert is successful. */ - set_jumps(tmp, LABEL()); - if (framesize < 0) - { - /* We know that STR_PTR was stored on the top of the stack. */ - if (extrasize > 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-extrasize)); - - /* Keep the STR_PTR on the top of the stack. */ - if (bra == OP_BRAZERO) - { - /* This allocation is always successful. */ - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - if (extrasize >= 2) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - } - else if (bra == OP_BRAMINZERO) - { - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - } - else - { - if (bra == OP_BRA) - { - /* We don't need to keep the STR_PTR, only the previous private_data_ptr. */ - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, (framesize + 1) * sizeof(sljit_sw)); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-extrasize + 1)); - } - else - { - /* We don't need to keep the STR_PTR, only the previous private_data_ptr. */ - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, (framesize + end_block_size + 2) * sizeof(sljit_sw)); - - if (extrasize == 2 + end_block_size) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - if (bra == OP_BRAMINZERO) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else - { - SLJIT_ASSERT(extrasize == 3 + end_block_size); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(-1)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), bra == OP_BRAZERO ? STR_PTR : SLJIT_IMM, 0); - } - } - } - - if (bra == OP_BRAZERO) - { - backtrack->matchingpath = LABEL(); - SET_LABEL(jump, backtrack->matchingpath); - } - else if (bra == OP_BRAMINZERO) - { - JUMPTO(SLJIT_JUMP, backtrack->matchingpath); - JUMPHERE(brajump); - SLJIT_ASSERT(framesize != 0); - if (framesize > 0) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-2)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (framesize - 1) * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - set_jumps(backtrack->common.own_backtracks, LABEL()); - } - } -else - { - /* AssertNot is successful. */ - if (framesize < 0) - { - if (extrasize > 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - - if (bra != OP_BRA) - { - if (extrasize >= 2) - free_stack(common, extrasize - 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else if (extrasize > 0) - free_stack(common, extrasize); - } - else - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(extrasize - 1)); - /* The topmost item should be 0. */ - if (bra != OP_BRA) - { - free_stack(common, framesize + extrasize - 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else - free_stack(common, framesize + extrasize); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - - if (bra == OP_BRAZERO) - backtrack->matchingpath = LABEL(); - else if (bra == OP_BRAMINZERO) - { - JUMPTO(SLJIT_JUMP, backtrack->matchingpath); - JUMPHERE(brajump); - } - - if (bra != OP_BRA) - { - SLJIT_ASSERT(found == &backtrack->common.own_backtracks); - set_jumps(backtrack->common.own_backtracks, LABEL()); - backtrack->common.own_backtracks = NULL; - } - } - -if (local_quit_available) - { - common->local_quit_available = save_local_quit_available; - common->quit_label = save_quit_label; - common->quit = save_quit; - } - -common->in_positive_assertion = save_in_positive_assertion; -common->restore_end_ptr = save_restore_end_ptr; -common->then_trap = save_then_trap; -common->accept_label = save_accept_label; -common->positive_assertion_quit = save_positive_assertion_quit; -common->accept = save_accept; -return cc + 1 + LINK_SIZE; -} - -static SLJIT_INLINE void match_once_common(compiler_common *common, PCRE2_UCHAR ket, int framesize, int private_data_ptr, BOOL has_alternatives, BOOL needs_control_head) -{ -DEFINE_COMPILER; -int stacksize; - -if (framesize < 0) - { - if (framesize == no_frame) - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - else - { - stacksize = needs_control_head ? 1 : 0; - if (ket != OP_KET || has_alternatives) - stacksize++; - - if (stacksize > 0) - free_stack(common, stacksize); - } - - if (needs_control_head) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), (ket != OP_KET || has_alternatives) ? STACK(-2) : STACK(-1)); - - /* TMP2 which is set here used by OP_KETRMAX below. */ - if (ket == OP_KETRMAX) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(-1)); - else if (ket == OP_KETRMIN) - { - /* Move the STR_PTR to the private_data_ptr. */ - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_MEM1(STACK_TOP), STACK(-1)); - } - } -else - { - stacksize = (ket != OP_KET || has_alternatives) ? 2 : 1; - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, (framesize + stacksize) * sizeof(sljit_sw)); - if (needs_control_head) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-1)); - - if (ket == OP_KETRMAX) - { - /* TMP2 which is set here used by OP_KETRMAX below. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - } - } -if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, TMP1, 0); -} - -static SLJIT_INLINE int match_capture_common(compiler_common *common, int stacksize, int offset, int private_data_ptr) -{ -DEFINE_COMPILER; - -if (common->capture_last_ptr != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, SLJIT_IMM, offset >> 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP1, 0); - stacksize++; - } -if (common->optimized_cbracket[offset >> 1] == 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP1, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize + 1), TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - stacksize += 2; - } -return stacksize; -} - -static PCRE2_SPTR SLJIT_FUNC do_script_run(PCRE2_SPTR ptr, PCRE2_SPTR endptr) -{ - if (PRIV(script_run)(ptr, endptr, FALSE)) - return endptr; - return NULL; -} - -#ifdef SUPPORT_UNICODE - -static PCRE2_SPTR SLJIT_FUNC do_script_run_utf(PCRE2_SPTR ptr, PCRE2_SPTR endptr) -{ - if (PRIV(script_run)(ptr, endptr, TRUE)) - return endptr; - return NULL; -} - -#endif /* SUPPORT_UNICODE */ - -static void match_script_run_common(compiler_common *common, int private_data_ptr, backtrack_common *parent) -{ -DEFINE_COMPILER; - -SLJIT_ASSERT(TMP1 == SLJIT_R0 && STR_PTR == SLJIT_R1); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); -#ifdef SUPPORT_UNICODE -sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS2(W, W, W), SLJIT_IMM, - common->utf ? SLJIT_FUNC_ADDR(do_script_run_utf) : SLJIT_FUNC_ADDR(do_script_run)); -#else -sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS2(W, W, W), SLJIT_IMM, SLJIT_FUNC_ADDR(do_script_run)); -#endif - -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_RETURN_REG, 0); -add_jump(compiler, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0)); -} - -/* - Handling bracketed expressions is probably the most complex part. - - Stack layout naming characters: - S - Push the current STR_PTR - 0 - Push a 0 (NULL) - A - Push the current STR_PTR. Needed for restoring the STR_PTR - before the next alternative. Not pushed if there are no alternatives. - M - Any values pushed by the current alternative. Can be empty, or anything. - C - Push the previous OVECTOR(i), OVECTOR(i+1) and OVECTOR_PRIV(i) to the stack. - L - Push the previous local (pointed by localptr) to the stack - () - opional values stored on the stack - ()* - optonal, can be stored multiple times - - The following list shows the regular expression templates, their PCRE byte codes - and stack layout supported by pcre-sljit. - - (?:) OP_BRA | OP_KET A M - () OP_CBRA | OP_KET C M - (?:)+ OP_BRA | OP_KETRMAX 0 A M S ( A M S )* - OP_SBRA | OP_KETRMAX 0 L M S ( L M S )* - (?:)+? OP_BRA | OP_KETRMIN 0 A M S ( A M S )* - OP_SBRA | OP_KETRMIN 0 L M S ( L M S )* - ()+ OP_CBRA | OP_KETRMAX 0 C M S ( C M S )* - OP_SCBRA | OP_KETRMAX 0 C M S ( C M S )* - ()+? OP_CBRA | OP_KETRMIN 0 C M S ( C M S )* - OP_SCBRA | OP_KETRMIN 0 C M S ( C M S )* - (?:)? OP_BRAZERO | OP_BRA | OP_KET S ( A M 0 ) - (?:)?? OP_BRAMINZERO | OP_BRA | OP_KET S ( A M 0 ) - ()? OP_BRAZERO | OP_CBRA | OP_KET S ( C M 0 ) - ()?? OP_BRAMINZERO | OP_CBRA | OP_KET S ( C M 0 ) - (?:)* OP_BRAZERO | OP_BRA | OP_KETRMAX S 0 ( A M S )* - OP_BRAZERO | OP_SBRA | OP_KETRMAX S 0 ( L M S )* - (?:)*? OP_BRAMINZERO | OP_BRA | OP_KETRMIN S 0 ( A M S )* - OP_BRAMINZERO | OP_SBRA | OP_KETRMIN S 0 ( L M S )* - ()* OP_BRAZERO | OP_CBRA | OP_KETRMAX S 0 ( C M S )* - OP_BRAZERO | OP_SCBRA | OP_KETRMAX S 0 ( C M S )* - ()*? OP_BRAMINZERO | OP_CBRA | OP_KETRMIN S 0 ( C M S )* - OP_BRAMINZERO | OP_SCBRA | OP_KETRMIN S 0 ( C M S )* - - - Stack layout naming characters: - A - Push the alternative index (starting from 0) on the stack. - Not pushed if there is no alternatives. - M - Any values pushed by the current alternative. Can be empty, or anything. - - The next list shows the possible content of a bracket: - (|) OP_*BRA | OP_ALT ... M A - (?()|) OP_*COND | OP_ALT M A - (?>|) OP_ONCE | OP_ALT ... [stack trace] M A - Or nothing, if trace is unnecessary -*/ - -static PCRE2_SPTR compile_bracket_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -PCRE2_UCHAR opcode; -int private_data_ptr = 0; -int offset = 0; -int i, stacksize; -int repeat_ptr = 0, repeat_length = 0; -int repeat_type = 0, repeat_count = 0; -PCRE2_SPTR ccbegin; -PCRE2_SPTR matchingpath; -PCRE2_SPTR slot; -PCRE2_UCHAR bra = OP_BRA; -PCRE2_UCHAR ket; -assert_backtrack *assert; -BOOL has_alternatives; -BOOL needs_control_head = FALSE; -BOOL has_vreverse = FALSE; -struct sljit_jump *jump; -struct sljit_jump *skip; -jump_list *jumplist; -struct sljit_label *rmax_label = NULL; -struct sljit_jump *braminzero = NULL; - -PUSH_BACKTRACK(sizeof(bracket_backtrack), cc, NULL); - -if (*cc == OP_BRAZERO || *cc == OP_BRAMINZERO) - { - bra = *cc; - cc++; - opcode = *cc; - } - -opcode = *cc; -ccbegin = cc; -matchingpath = bracketend(cc) - 1 - LINK_SIZE; -ket = *matchingpath; -if (ket == OP_KET && PRIVATE_DATA(matchingpath) != 0) - { - repeat_ptr = PRIVATE_DATA(matchingpath); - repeat_length = PRIVATE_DATA(matchingpath + 1); - repeat_type = PRIVATE_DATA(matchingpath + 2); - repeat_count = PRIVATE_DATA(matchingpath + 3); - SLJIT_ASSERT(repeat_length != 0 && repeat_type != 0 && repeat_count != 0); - if (repeat_type == OP_UPTO) - ket = OP_KETRMAX; - if (repeat_type == OP_MINUPTO) - ket = OP_KETRMIN; - } - -matchingpath = ccbegin + 1 + LINK_SIZE; -SLJIT_ASSERT(ket == OP_KET || ket == OP_KETRMAX || ket == OP_KETRMIN); -SLJIT_ASSERT(!((bra == OP_BRAZERO && ket == OP_KETRMIN) || (bra == OP_BRAMINZERO && ket == OP_KETRMAX))); -cc += GET(cc, 1); - -has_alternatives = *cc == OP_ALT; -if (SLJIT_UNLIKELY(opcode == OP_COND || opcode == OP_SCOND)) - { - SLJIT_COMPILE_ASSERT(OP_DNRREF == OP_RREF + 1 && OP_FALSE == OP_RREF + 2 && OP_TRUE == OP_RREF + 3, - compile_time_checks_must_be_grouped_together); - has_alternatives = ((*matchingpath >= OP_RREF && *matchingpath <= OP_TRUE) || *matchingpath == OP_FAIL) ? FALSE : TRUE; - } - -if (SLJIT_UNLIKELY(opcode == OP_COND) && (*cc == OP_KETRMAX || *cc == OP_KETRMIN)) - opcode = OP_SCOND; - -if (opcode == OP_CBRA || opcode == OP_SCBRA) - { - /* Capturing brackets has a pre-allocated space. */ - offset = GET2(ccbegin, 1 + LINK_SIZE); - if (common->optimized_cbracket[offset] == 0) - { - private_data_ptr = OVECTOR_PRIV(offset); - offset <<= 1; - } - else - { - offset <<= 1; - private_data_ptr = OVECTOR(offset); - } - BACKTRACK_AS(bracket_backtrack)->private_data_ptr = private_data_ptr; - matchingpath += IMM2_SIZE; - } -else if (opcode == OP_ASSERT_NA || opcode == OP_ASSERTBACK_NA || opcode == OP_ONCE - || opcode == OP_ASSERT_SCS || opcode == OP_SCRIPT_RUN || opcode == OP_SBRA || opcode == OP_SCOND) - { - /* Other brackets simply allocate the next entry. */ - private_data_ptr = PRIVATE_DATA(ccbegin); - SLJIT_ASSERT(private_data_ptr != 0); - BACKTRACK_AS(bracket_backtrack)->private_data_ptr = private_data_ptr; - if (opcode == OP_ONCE) - BACKTRACK_AS(bracket_backtrack)->u.framesize = get_framesize(common, ccbegin, NULL, FALSE, &needs_control_head); - } - -/* Instructions before the first alternative. */ -stacksize = 0; -if (ket == OP_KETRMAX || (ket == OP_KETRMIN && bra != OP_BRAMINZERO)) - stacksize++; -if (bra == OP_BRAZERO) - stacksize++; - -if (stacksize > 0) - allocate_stack(common, stacksize); - -stacksize = 0; -if (ket == OP_KETRMAX || (ket == OP_KETRMIN && bra != OP_BRAMINZERO)) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), SLJIT_IMM, 0); - stacksize++; - } - -if (bra == OP_BRAZERO) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - -if (bra == OP_BRAMINZERO) - { - /* This is a backtrack path! (Since the try-path of OP_BRAMINZERO matches to the empty string) */ - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - if (ket != OP_KETRMIN) - { - free_stack(common, 1); - braminzero = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - } - else if (opcode == OP_ONCE || opcode >= OP_SBRA) - { - jump = CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - /* Nothing stored during the first run. */ - skip = JUMP(SLJIT_JUMP); - JUMPHERE(jump); - /* Checking zero-length iteration. */ - if (opcode != OP_ONCE || BACKTRACK_AS(bracket_backtrack)->u.framesize < 0) - { - /* When we come from outside, private_data_ptr contains the previous STR_PTR. */ - braminzero = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - } - else - { - /* Except when the whole stack frame must be saved. */ - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - braminzero = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_MEM1(TMP1), STACK(-BACKTRACK_AS(bracket_backtrack)->u.framesize - 2)); - } - JUMPHERE(skip); - } - else - { - jump = CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - JUMPHERE(jump); - } - } - -if (repeat_type != 0) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, repeat_count); - if (repeat_type == OP_EXACT) - rmax_label = LABEL(); - } - -if (ket == OP_KETRMIN) - BACKTRACK_AS(bracket_backtrack)->recursive_matchingpath = LABEL(); - -if (ket == OP_KETRMAX) - { - rmax_label = LABEL(); - if (has_alternatives && opcode >= OP_BRA && opcode < OP_SBRA && repeat_type == 0) - BACKTRACK_AS(bracket_backtrack)->alternative_matchingpath = rmax_label; - } - -/* Handling capturing brackets and alternatives. */ -if (opcode == OP_ONCE) - { - stacksize = 0; - if (needs_control_head) - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - stacksize++; - } - - if (BACKTRACK_AS(bracket_backtrack)->u.framesize < 0) - { - /* Neither capturing brackets nor recursions are found in the block. */ - if (ket == OP_KETRMIN) - { - stacksize += 2; - if (!needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - } - else - { - if (BACKTRACK_AS(bracket_backtrack)->u.framesize == no_frame) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STACK_TOP, 0); - if (ket == OP_KETRMAX || has_alternatives) - stacksize++; - } - - if (stacksize > 0) - allocate_stack(common, stacksize); - - stacksize = 0; - if (needs_control_head) - { - stacksize++; - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - } - - if (ket == OP_KETRMIN) - { - if (needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - if (BACKTRACK_AS(bracket_backtrack)->u.framesize == no_frame) - OP2(SLJIT_ADD, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STACK_TOP, 0, SLJIT_IMM, needs_control_head ? (2 * sizeof(sljit_sw)) : sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize + 1), TMP2, 0); - } - else if (ket == OP_KETRMAX || has_alternatives) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - } - else - { - if (ket != OP_KET || has_alternatives) - stacksize++; - - stacksize += BACKTRACK_AS(bracket_backtrack)->u.framesize + 1; - allocate_stack(common, stacksize); - - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP2(SLJIT_ADD, TMP2, 0, STACK_TOP, 0, SLJIT_IMM, stacksize * sizeof(sljit_sw)); - - stacksize = needs_control_head ? 1 : 0; - if (ket != OP_KET || has_alternatives) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP2, 0); - stacksize++; - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP1, 0); - } - else - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP1, 0); - } - init_frame(common, ccbegin, NULL, BACKTRACK_AS(bracket_backtrack)->u.framesize + stacksize, stacksize + 1); - } - } -else if (opcode == OP_CBRA || opcode == OP_SCBRA) - { - /* Saving the previous values. */ - if (common->optimized_cbracket[offset >> 1] != 0) - { - SLJIT_ASSERT(private_data_ptr == OVECTOR(offset)); - allocate_stack(common, 2); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), TMP2, 0); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - } - } -else if (opcode == OP_ASSERTBACK_NA && PRIVATE_DATA(ccbegin + 1)) - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - allocate_stack(common, 4); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), STR_END, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), TMP1, 0); - OP1(SLJIT_MOV, STR_END, 0, STR_PTR, 0); - - has_vreverse = (*matchingpath == OP_VREVERSE); - if (*matchingpath == OP_REVERSE || has_vreverse) - matchingpath = compile_reverse_matchingpath(common, matchingpath, backtrack); - } -else if (opcode == OP_ASSERT_NA || opcode == OP_ASSERTBACK_NA || opcode == OP_SCRIPT_RUN || opcode == OP_SBRA || opcode == OP_SCOND) - { - /* Saving the previous value. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - - if (*matchingpath == OP_REVERSE) - matchingpath = compile_reverse_matchingpath(common, matchingpath, backtrack); - } -else if (opcode == OP_ASSERT_SCS) - { - /* Nested scs blocks will not update this variable. */ - if (common->restore_end_ptr == 0) - common->restore_end_ptr = private_data_ptr + sizeof(sljit_sw); - - if (*matchingpath == OP_CREF && (matchingpath[1 + IMM2_SIZE] != OP_CREF && matchingpath[1 + IMM2_SIZE] != OP_DNCREF)) - { - /* Optimized case for a single capture reference. */ - i = OVECTOR(GET2(matchingpath, 1) << 1); - - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), i); - - add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.no_capture), CMP(SLJIT_EQUAL, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); - matchingpath += 1 + IMM2_SIZE; - - allocate_stack(common, has_alternatives ? 3 : 2); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, SLJIT_TMP_DEST_REG, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), i + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, STR_PTR, 0, TMP2, 0); - } - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)); - jumplist = NULL; - - while (TRUE) - { - if (*matchingpath == OP_CREF) - { - sljit_get_local_base(compiler, TMP2, 0, OVECTOR(GET2(matchingpath, 1) << 1)); - matchingpath += 1 + IMM2_SIZE; - } - else - { - SLJIT_ASSERT(*matchingpath == OP_DNCREF); - - i = GET2(matchingpath, 1 + IMM2_SIZE); - slot = common->name_table + GET2(matchingpath, 1) * common->name_entry_size; - - while (i-- > 1) - { - sljit_get_local_base(compiler, TMP2, 0, OVECTOR(GET2(slot, 0) << 1)); - add_jump(compiler, &jumplist, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(TMP2), 0, TMP1, 0)); - slot += common->name_entry_size; - } - - sljit_get_local_base(compiler, TMP2, 0, OVECTOR(GET2(slot, 0) << 1)); - matchingpath += 1 + 2 * IMM2_SIZE; - } - - if (*matchingpath != OP_CREF && *matchingpath != OP_DNCREF) - break; - - add_jump(compiler, &jumplist, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(TMP2), 0, TMP1, 0)); - } - - add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.no_capture), - CMP(SLJIT_EQUAL, SLJIT_MEM1(TMP2), 0, TMP1, 0)); - - set_jumps(jumplist, LABEL()); - - allocate_stack(common, has_alternatives ? 3 : 2); - - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, SLJIT_TMP_DEST_REG, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(TMP2), 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(TMP2), sizeof(sljit_sw)); - } - - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_TMP_DEST_REG, 0); - - if (has_alternatives) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), STR_PTR, 0); - } -else if (has_alternatives) - { - /* Pushing the starting string pointer. */ - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - } - -/* Generating code for the first alternative. */ -if (opcode == OP_COND || opcode == OP_SCOND) - { - if (*matchingpath == OP_CREF) - { - SLJIT_ASSERT(has_alternatives); - add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.no_capture), - CMP(SLJIT_EQUAL, SLJIT_MEM1(SLJIT_SP), OVECTOR(GET2(matchingpath, 1) << 1), SLJIT_MEM1(SLJIT_SP), OVECTOR(1))); - matchingpath += 1 + IMM2_SIZE; - } - else if (*matchingpath == OP_DNCREF) - { - SLJIT_ASSERT(has_alternatives); - - i = GET2(matchingpath, 1 + IMM2_SIZE); - slot = common->name_table + GET2(matchingpath, 1) * common->name_entry_size; - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(1)); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(GET2(slot, 0) << 1), TMP1, 0); - slot += common->name_entry_size; - i--; - while (i-- > 0) - { - OP2(SLJIT_SUB, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(GET2(slot, 0) << 1), TMP1, 0); - OP2(SLJIT_OR | SLJIT_SET_Z, TMP2, 0, TMP2, 0, STR_PTR, 0); - slot += common->name_entry_size; - } - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - add_jump(compiler, &(BACKTRACK_AS(bracket_backtrack)->u.no_capture), JUMP(SLJIT_ZERO)); - matchingpath += 1 + 2 * IMM2_SIZE; - } - else if ((*matchingpath >= OP_RREF && *matchingpath <= OP_TRUE) || *matchingpath == OP_FAIL) - { - /* Never has other case. */ - BACKTRACK_AS(bracket_backtrack)->u.no_capture = NULL; - SLJIT_ASSERT(!has_alternatives); - - if (*matchingpath == OP_TRUE) - { - stacksize = 1; - matchingpath++; - } - else if (*matchingpath == OP_FALSE || *matchingpath == OP_FAIL) - stacksize = 0; - else if (*matchingpath == OP_RREF) - { - stacksize = GET2(matchingpath, 1); - if (common->currententry == NULL) - stacksize = 0; - else if (stacksize == RREF_ANY) - stacksize = 1; - else if (common->currententry->start == 0) - stacksize = stacksize == 0; - else - stacksize = stacksize == (int)GET2(common->start, common->currententry->start + 1 + LINK_SIZE); - - if (stacksize != 0) - matchingpath += 1 + IMM2_SIZE; - } - else - { - if (common->currententry == NULL || common->currententry->start == 0) - stacksize = 0; - else - { - stacksize = GET2(matchingpath, 1 + IMM2_SIZE); - slot = common->name_table + GET2(matchingpath, 1) * common->name_entry_size; - i = (int)GET2(common->start, common->currententry->start + 1 + LINK_SIZE); - while (stacksize > 0) - { - if ((int)GET2(slot, 0) == i) - break; - slot += common->name_entry_size; - stacksize--; - } - } - - if (stacksize != 0) - matchingpath += 1 + 2 * IMM2_SIZE; - } - - /* The stacksize == 0 is a common "else" case. */ - if (stacksize == 0) - { - if (*cc == OP_ALT) - { - matchingpath = cc + 1 + LINK_SIZE; - cc += GET(cc, 1); - } - else - matchingpath = cc; - } - } - else - { - SLJIT_ASSERT(has_alternatives && *matchingpath >= OP_ASSERT && *matchingpath <= OP_ASSERTBACK_NOT); - /* Similar code as PUSH_BACKTRACK macro. */ - assert = sljit_alloc_memory(compiler, sizeof(assert_backtrack)); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - memset(assert, 0, sizeof(assert_backtrack)); - assert->common.cc = matchingpath; - BACKTRACK_AS(bracket_backtrack)->u.assert = assert; - matchingpath = compile_assert_matchingpath(common, matchingpath, assert, TRUE); - } - } - -compile_matchingpath(common, matchingpath, cc, backtrack); -if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - -switch (opcode) - { - case OP_ASSERTBACK_NA: - if (has_vreverse) - { - SLJIT_ASSERT(backtrack->top != NULL && PRIVATE_DATA(ccbegin + 1)); - add_jump(compiler, &backtrack->top->simple_backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); - } - - if (PRIVATE_DATA(ccbegin + 1)) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - break; - case OP_ONCE: - match_once_common(common, ket, BACKTRACK_AS(bracket_backtrack)->u.framesize, private_data_ptr, has_alternatives, needs_control_head); - break; - case OP_SCRIPT_RUN: - match_script_run_common(common, private_data_ptr, backtrack); - break; - } - -stacksize = 0; -if (repeat_type == OP_MINUPTO) - { - /* We need to preserve the counter. TMP2 will be used below. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), repeat_ptr); - stacksize++; - } -if (ket != OP_KET || bra != OP_BRA) - stacksize++; -if (offset != 0) - { - if (common->capture_last_ptr != 0) - stacksize++; - if (common->optimized_cbracket[offset >> 1] == 0) - stacksize += 2; - } -if (has_alternatives && opcode != OP_ONCE) - stacksize++; - -if (stacksize > 0) - allocate_stack(common, stacksize); - -stacksize = 0; -if (repeat_type == OP_MINUPTO) - { - /* TMP2 was set above. */ - OP2(SLJIT_SUB, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP2, 0, SLJIT_IMM, 1); - stacksize++; - } - -if (ket != OP_KET || bra != OP_BRA) - { - if (ket != OP_KET) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - else - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), SLJIT_IMM, 0); - stacksize++; - } - -if (offset != 0) - stacksize = match_capture_common(common, stacksize, offset, private_data_ptr); - -/* Skip and count the other alternatives. */ -i = 1; -while (*cc == OP_ALT) - { - cc += GET(cc, 1); - i++; - } - -if (has_alternatives) - { - if (opcode != OP_ONCE) - { - if (i <= 3) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), SLJIT_IMM, 0); - else - BACKTRACK_AS(bracket_backtrack)->matching_mov_addr = sljit_emit_mov_addr(compiler, SLJIT_MEM1(STACK_TOP), STACK(stacksize)); - } - if (ket != OP_KETRMAX) - BACKTRACK_AS(bracket_backtrack)->alternative_matchingpath = LABEL(); - } - -/* Must be after the matchingpath label. */ -if (offset != 0 && common->optimized_cbracket[offset >> 1] != 0) - { - SLJIT_ASSERT(private_data_ptr == OVECTOR(offset + 0)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); - } -else switch (opcode) - { - case OP_ASSERT_NA: - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - break; - case OP_ASSERT_SCS: - OP1(SLJIT_MOV, TMP1, 0, STR_END, 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), TMP1, 0); - - /* Nested scs blocks will not update this variable. */ - if (common->restore_end_ptr == private_data_ptr + SSIZE_OF(sw)) - common->restore_end_ptr = 0; - break; - } - -if (ket == OP_KETRMAX) - { - if (repeat_type != 0) - { - if (has_alternatives) - BACKTRACK_AS(bracket_backtrack)->alternative_matchingpath = LABEL(); - OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, rmax_label); - /* Drop STR_PTR for greedy plus quantifier. */ - if (opcode != OP_ONCE) - free_stack(common, 1); - } - else if (opcode < OP_BRA || opcode >= OP_SBRA) - { - if (has_alternatives) - BACKTRACK_AS(bracket_backtrack)->alternative_matchingpath = LABEL(); - - /* Checking zero-length iteration. */ - if (opcode != OP_ONCE) - { - /* This case includes opcodes such as OP_SCRIPT_RUN. */ - CMPTO(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STR_PTR, 0, rmax_label); - /* Drop STR_PTR for greedy plus quantifier. */ - if (bra != OP_BRAZERO) - free_stack(common, 1); - } - else - /* TMP2 must contain the starting STR_PTR. */ - CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, STR_PTR, 0, rmax_label); - } - else - JUMPTO(SLJIT_JUMP, rmax_label); - BACKTRACK_AS(bracket_backtrack)->recursive_matchingpath = LABEL(); - } - -if (repeat_type == OP_EXACT) - { - count_match(common); - OP2(SLJIT_SUB | SLJIT_SET_Z, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, rmax_label); - } -else if (repeat_type == OP_UPTO) - { - /* We need to preserve the counter. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), repeat_ptr); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - } - -if (bra == OP_BRAZERO) - BACKTRACK_AS(bracket_backtrack)->zero_matchingpath = LABEL(); - -if (bra == OP_BRAMINZERO) - { - /* This is a backtrack path! (From the viewpoint of OP_BRAMINZERO) */ - JUMPTO(SLJIT_JUMP, ((braminzero_backtrack *)parent)->matchingpath); - if (braminzero != NULL) - { - JUMPHERE(braminzero); - /* We need to release the end pointer to perform the - backtrack for the zero-length iteration. When - framesize is < 0, OP_ONCE will do the release itself. */ - if (opcode == OP_ONCE) - { - int framesize = BACKTRACK_AS(bracket_backtrack)->u.framesize; - - SLJIT_ASSERT(framesize != 0); - if (framesize > 0) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (framesize - 1) * sizeof(sljit_sw)); - } - } - else if (ket == OP_KETRMIN) - free_stack(common, 1); - } - /* Continue to the normal backtrack. */ - } - -if ((ket != OP_KET && bra != OP_BRAMINZERO) || bra == OP_BRAZERO || (has_alternatives && repeat_type != OP_EXACT)) - count_match(common); - -cc += 1 + LINK_SIZE; - -if (opcode == OP_ONCE) - { - int data; - int framesize = BACKTRACK_AS(bracket_backtrack)->u.framesize; - - SLJIT_ASSERT(SHRT_MIN <= framesize && framesize < SHRT_MAX/2); - /* We temporarily encode the needs_control_head in the lowest bit. - The real value should be short enough for this operation to work - without triggering Undefined Behaviour. */ - data = (int)((short)((unsigned short)framesize << 1) | (needs_control_head ? 1 : 0)); - BACKTRACK_AS(bracket_backtrack)->u.framesize = data; - } -return cc + repeat_length; -} - -static PCRE2_SPTR compile_bracketpos_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -PCRE2_UCHAR opcode; -int private_data_ptr; -int cbraprivptr = 0; -BOOL needs_control_head; -int framesize; -int stacksize; -int offset = 0; -BOOL zero = FALSE; -PCRE2_SPTR ccbegin = NULL; -int stack; /* Also contains the offset of control head. */ -struct sljit_label *loop = NULL; -struct jump_list *emptymatch = NULL; - -PUSH_BACKTRACK(sizeof(bracketpos_backtrack), cc, NULL); -if (*cc == OP_BRAPOSZERO) - { - zero = TRUE; - cc++; - } - -opcode = *cc; -private_data_ptr = PRIVATE_DATA(cc); -SLJIT_ASSERT(private_data_ptr != 0); -BACKTRACK_AS(bracketpos_backtrack)->private_data_ptr = private_data_ptr; -switch(opcode) - { - case OP_BRAPOS: - case OP_SBRAPOS: - ccbegin = cc + 1 + LINK_SIZE; - break; - - case OP_CBRAPOS: - case OP_SCBRAPOS: - offset = GET2(cc, 1 + LINK_SIZE); - /* This case cannot be optimized in the same way as - normal capturing brackets. */ - SLJIT_ASSERT(common->optimized_cbracket[offset] == 0); - cbraprivptr = OVECTOR_PRIV(offset); - offset <<= 1; - ccbegin = cc + 1 + LINK_SIZE + IMM2_SIZE; - break; - - default: - SLJIT_UNREACHABLE(); - break; - } - -framesize = get_framesize(common, cc, NULL, FALSE, &needs_control_head); -BACKTRACK_AS(bracketpos_backtrack)->framesize = framesize; -if (framesize < 0) - { - if (offset != 0) - { - stacksize = 2; - if (common->capture_last_ptr != 0) - stacksize++; - } - else - stacksize = 1; - - if (needs_control_head) - stacksize++; - if (!zero) - stacksize++; - - BACKTRACK_AS(bracketpos_backtrack)->stacksize = stacksize; - allocate_stack(common, stacksize); - if (framesize == no_frame) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STACK_TOP, 0); - - stack = 0; - if (offset != 0) - { - stack = 2; - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP1, 0); - if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), TMP2, 0); - if (needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - if (common->capture_last_ptr != 0) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), TMP1, 0); - stack = 3; - } - } - else - { - if (needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - stack = 1; - } - - if (needs_control_head) - stack++; - if (!zero) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stack), SLJIT_IMM, 1); - if (needs_control_head) - { - stack--; - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stack), TMP2, 0); - } - } -else - { - stacksize = framesize + 1; - if (!zero) - stacksize++; - if (needs_control_head) - stacksize++; - if (offset == 0) - stacksize++; - BACKTRACK_AS(bracketpos_backtrack)->stacksize = stacksize; - - allocate_stack(common, stacksize); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - if (needs_control_head) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP2(SLJIT_ADD, SLJIT_MEM1(SLJIT_SP), private_data_ptr, STACK_TOP, 0, SLJIT_IMM, stacksize * sizeof(sljit_sw)); - - stack = 0; - if (!zero) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 1); - stack = 1; - } - if (needs_control_head) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stack), TMP2, 0); - stack++; - } - if (offset == 0) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stack), STR_PTR, 0); - stack++; - } - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stack), TMP1, 0); - init_frame(common, cc, NULL, stacksize - 1, stacksize - framesize); - stack -= 1 + (offset == 0); - } - -if (offset != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), cbraprivptr, STR_PTR, 0); - -loop = LABEL(); -while (*cc != OP_KETRPOS) - { - backtrack->top = NULL; - backtrack->own_backtracks = NULL; - cc += GET(cc, 1); - - compile_matchingpath(common, ccbegin, cc, backtrack); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - - if (framesize < 0) - { - if (framesize == no_frame) - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - - if (offset != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), cbraprivptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), cbraprivptr, STR_PTR, 0); - if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, SLJIT_IMM, offset >> 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - } - else - { - if (opcode == OP_SBRAPOS) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - } - - /* Even if the match is empty, we need to reset the control head. */ - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(stack)); - - if (opcode == OP_SBRAPOS || opcode == OP_SCBRAPOS) - add_jump(compiler, &emptymatch, CMP(SLJIT_EQUAL, TMP1, 0, STR_PTR, 0)); - - if (!zero) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize - 1), SLJIT_IMM, 0); - } - else - { - if (offset != 0) - { - OP2(SLJIT_SUB, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_IMM, stacksize * sizeof(sljit_sw)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), cbraprivptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), cbraprivptr, STR_PTR, 0); - if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, SLJIT_IMM, offset >> 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP2(SLJIT_SUB, STACK_TOP, 0, TMP2, 0, SLJIT_IMM, stacksize * sizeof(sljit_sw)); - if (opcode == OP_SBRAPOS) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(TMP2), STACK(-framesize - 2)); - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), STACK(-framesize - 2), STR_PTR, 0); - } - - /* Even if the match is empty, we need to reset the control head. */ - if (needs_control_head) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_MEM1(STACK_TOP), STACK(stack)); - - if (opcode == OP_SBRAPOS || opcode == OP_SCBRAPOS) - add_jump(compiler, &emptymatch, CMP(SLJIT_EQUAL, TMP1, 0, STR_PTR, 0)); - - if (!zero) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - - JUMPTO(SLJIT_JUMP, loop); - flush_stubs(common); - - compile_backtrackingpath(common, backtrack->top); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return NULL; - set_jumps(backtrack->own_backtracks, LABEL()); - - if (framesize < 0) - { - if (offset != 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), cbraprivptr); - else - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - } - else - { - if (offset != 0) - { - /* Last alternative. */ - if (*cc == OP_KETRPOS) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), cbraprivptr); - } - else - { - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(TMP2), STACK(-framesize - 2)); - } - } - - if (*cc == OP_KETRPOS) - break; - ccbegin = cc + 1 + LINK_SIZE; - } - -/* We don't have to restore the control head in case of a failed match. */ - -backtrack->own_backtracks = NULL; -if (!zero) - { - if (framesize < 0) - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(stacksize - 1), SLJIT_IMM, 0)); - else /* TMP2 is set to [private_data_ptr] above. */ - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(TMP2), STACK(-stacksize), SLJIT_IMM, 0)); - } - -/* None of them matched. */ -set_jumps(emptymatch, LABEL()); -count_match(common); -return cc + 1 + LINK_SIZE; -} - -static SLJIT_INLINE PCRE2_SPTR get_iterator_parameters(compiler_common *common, PCRE2_SPTR cc, PCRE2_UCHAR *opcode, PCRE2_UCHAR *type, sljit_u32 *max, sljit_u32 *exact, PCRE2_SPTR *end) -{ -int class_len; - -*opcode = *cc; -*exact = 0; - -if (*opcode >= OP_STAR && *opcode <= OP_POSUPTO) - { - cc++; - *type = OP_CHAR; - } -else if (*opcode >= OP_STARI && *opcode <= OP_POSUPTOI) - { - cc++; - *type = OP_CHARI; - *opcode -= OP_STARI - OP_STAR; - } -else if (*opcode >= OP_NOTSTAR && *opcode <= OP_NOTPOSUPTO) - { - cc++; - *type = OP_NOT; - *opcode -= OP_NOTSTAR - OP_STAR; - } -else if (*opcode >= OP_NOTSTARI && *opcode <= OP_NOTPOSUPTOI) - { - cc++; - *type = OP_NOTI; - *opcode -= OP_NOTSTARI - OP_STAR; - } -else if (*opcode >= OP_TYPESTAR && *opcode <= OP_TYPEPOSUPTO) - { - cc++; - *opcode -= OP_TYPESTAR - OP_STAR; - *type = OP_END; - } -else - { - SLJIT_ASSERT(*opcode == OP_CLASS || *opcode == OP_NCLASS || *opcode == OP_XCLASS || *opcode == OP_ECLASS); - *type = *opcode; - class_len = (*type < OP_XCLASS) ? (int)(1 + (32 / sizeof(PCRE2_UCHAR))) : GET(cc, 1); - *opcode = cc[class_len]; - cc++; - - if (*opcode >= OP_CRSTAR && *opcode <= OP_CRMINQUERY) - { - *opcode -= OP_CRSTAR - OP_STAR; - *end = cc + class_len; - - if (*opcode == OP_PLUS || *opcode == OP_MINPLUS) - { - *exact = 1; - *opcode -= OP_PLUS - OP_STAR; - } - return cc; - } - - if (*opcode >= OP_CRPOSSTAR && *opcode <= OP_CRPOSQUERY) - { - *opcode -= OP_CRPOSSTAR - OP_POSSTAR; - *end = cc + class_len; - - if (*opcode == OP_POSPLUS) - { - *exact = 1; - *opcode = OP_POSSTAR; - } - return cc; - } - - SLJIT_ASSERT(*opcode == OP_CRRANGE || *opcode == OP_CRMINRANGE || *opcode == OP_CRPOSRANGE); - *max = GET2(cc, (class_len + IMM2_SIZE)); - *exact = GET2(cc, class_len); - *end = cc + class_len + 2 * IMM2_SIZE; - - if (*max == 0) - { - SLJIT_ASSERT(*exact > 1); - if (*opcode == OP_CRRANGE) - *opcode = OP_UPTO; - else if (*opcode == OP_CRPOSRANGE) - *opcode = OP_POSUPTO; - else - *opcode = OP_MINSTAR; - return cc; - } - - *max -= *exact; - if (*max == 0) - *opcode = OP_EXACT; - else - { - SLJIT_ASSERT(*exact > 0 || *max > 1); - if (*opcode == OP_CRRANGE) - *opcode = OP_UPTO; - else if (*opcode == OP_CRPOSRANGE) - *opcode = OP_POSUPTO; - else if (*max == 1) - *opcode = OP_MINQUERY; - else - *opcode = OP_MINUPTO; - } - return cc; - } - -switch(*opcode) - { - case OP_EXACT: - *exact = GET2(cc, 0); - cc += IMM2_SIZE; - break; - - case OP_PLUS: - case OP_MINPLUS: - *exact = 1; - *opcode -= OP_PLUS - OP_STAR; - break; - - case OP_POSPLUS: - *exact = 1; - *opcode = OP_POSSTAR; - break; - - case OP_UPTO: - case OP_MINUPTO: - case OP_POSUPTO: - *max = GET2(cc, 0); - cc += IMM2_SIZE; - break; - } - -if (*type == OP_END) - { - *type = *cc; - *end = next_opcode(common, cc); - cc++; - return cc; - } - -*end = cc + 1; -#ifdef SUPPORT_UNICODE -if (common->utf && HAS_EXTRALEN(*cc)) *end += GET_EXTRALEN(*cc); -#endif -return cc; -} - -static PCRE2_SPTR compile_iterator_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent, jump_list **prev_backtracks) -{ -DEFINE_COMPILER; -backtrack_common *backtrack = NULL; -PCRE2_SPTR begin = cc; -PCRE2_UCHAR opcode; -PCRE2_UCHAR type; -sljit_u32 max = 0, exact; -sljit_s32 early_fail_ptr = PRIVATE_DATA(cc + 1); -sljit_s32 early_fail_type; -BOOL charpos_enabled, use_tmp; -PCRE2_UCHAR charpos_char; -unsigned int charpos_othercasebit; -PCRE2_SPTR end; -jump_list *no_match = NULL; -jump_list *no_char1_match = NULL; -struct sljit_jump *jump = NULL; -struct sljit_label *label; -int private_data_ptr = PRIVATE_DATA(cc); -int base = (private_data_ptr == 0) ? SLJIT_MEM1(STACK_TOP) : SLJIT_MEM1(SLJIT_SP); -int offset0 = (private_data_ptr == 0) ? STACK(0) : private_data_ptr; -int offset1 = (private_data_ptr == 0) ? STACK(1) : private_data_ptr + SSIZE_OF(sw); -int tmp_base, tmp_offset; - -early_fail_type = (early_fail_ptr & 0x7); -early_fail_ptr >>= 3; - -/* During recursion, these optimizations are disabled. */ -if (common->early_fail_start_ptr == 0 && common->fast_forward_bc_ptr == NULL) - { - early_fail_ptr = 0; - early_fail_type = type_skip; - } - -SLJIT_ASSERT(common->fast_forward_bc_ptr != NULL || early_fail_ptr == 0 - || (early_fail_ptr >= common->early_fail_start_ptr && early_fail_ptr <= common->early_fail_end_ptr)); - -if (early_fail_type == type_fail) - add_jump(compiler, prev_backtracks, CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr)); - -cc = get_iterator_parameters(common, cc, &opcode, &type, &max, &exact, &end); - -if (type != OP_EXTUNI) - { - tmp_base = TMP3; - tmp_offset = 0; - } -else - { - tmp_base = SLJIT_MEM1(SLJIT_SP); - tmp_offset = LOCAL2; - } - -if (opcode == OP_EXACT) - { - SLJIT_ASSERT(early_fail_ptr == 0 && exact >= 2); - - if (common->mode == PCRE2_JIT_COMPLETE -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - && !common->utf -#endif - && type != OP_ANYNL && type != OP_EXTUNI) - { - OP2(SLJIT_SUB, TMP1, 0, STR_END, 0, STR_PTR, 0); - add_jump(compiler, prev_backtracks, CMP(SLJIT_LESS, TMP1, 0, SLJIT_IMM, IN_UCHARS(exact))); - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 32 - if (type == OP_ALLANY && !common->invalid_utf) -#else - if (type == OP_ALLANY) -#endif - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(exact)); - else - { - OP1(SLJIT_MOV, tmp_base, tmp_offset, SLJIT_IMM, exact); - label = LABEL(); - compile_char1_matchingpath(common, type, cc, prev_backtracks, FALSE); - OP2(SLJIT_SUB | SLJIT_SET_Z, tmp_base, tmp_offset, tmp_base, tmp_offset, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - } - else - { - SLJIT_ASSERT(tmp_base == TMP3 || common->locals_size >= 3 * SSIZE_OF(sw)); - OP1(SLJIT_MOV, tmp_base, tmp_offset, SLJIT_IMM, exact); - label = LABEL(); - compile_char1_matchingpath(common, type, cc, prev_backtracks, TRUE); - OP2(SLJIT_SUB | SLJIT_SET_Z, tmp_base, tmp_offset, tmp_base, tmp_offset, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - } - -if (early_fail_type == type_fail_range) - { - /* Range end first, followed by range start. */ - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + SSIZE_OF(sw)); - OP2(SLJIT_SUB, TMP1, 0, TMP1, 0, TMP2, 0); - OP2(SLJIT_SUB, TMP2, 0, STR_PTR, 0, TMP2, 0); - add_jump(compiler, prev_backtracks, CMP(SLJIT_LESS_EQUAL, TMP2, 0, TMP1, 0)); - - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr + SSIZE_OF(sw), STR_PTR, 0); - } - -if (opcode < OP_EXACT) - PUSH_BACKTRACK(sizeof(char_iterator_backtrack), begin, NULL); - -switch(opcode) - { - case OP_STAR: - case OP_UPTO: - SLJIT_ASSERT(backtrack != NULL && (early_fail_ptr == 0 || opcode == OP_STAR)); - max += exact; - - if (type == OP_EXTUNI) - { - SLJIT_ASSERT(private_data_ptr == 0); - SLJIT_ASSERT(early_fail_ptr == 0); - - if (exact == 1) - { - SLJIT_ASSERT(opcode == OP_STAR); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - } - else - { - /* If OP_EXTUNI is present, it has a separate EXACT opcode. */ - SLJIT_ASSERT(exact == 0); - - allocate_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, 0); - } - - if (opcode == OP_UPTO) - { - SLJIT_ASSERT(common->locals_size >= 3 * SSIZE_OF(sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL2, SLJIT_IMM, max); - } - - label = LABEL(); - compile_char1_matchingpath(common, type, cc, &backtrack->own_backtracks, TRUE); - if (opcode == OP_UPTO) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); - jump = JUMP(SLJIT_ZERO); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL2, TMP1, 0); - } - - /* We cannot use TMP3 because of allocate_stack. */ - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - JUMPTO(SLJIT_JUMP, label); - if (jump != NULL) - JUMPHERE(jump); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - } -#ifdef SUPPORT_UNICODE - else if (type == OP_ALLANY && !common->invalid_utf) -#else - else if (type == OP_ALLANY) -#endif - { - if (opcode == OP_STAR) - { - if (exact == 1) - detect_partial_match(common, prev_backtracks); - - if (private_data_ptr == 0) - allocate_stack(common, 2); - - OP1(SLJIT_MOV, base, offset0, STR_END, 0); - OP1(SLJIT_MOV, base, offset1, STR_PTR, 0); - - OP1(SLJIT_MOV, STR_PTR, 0, STR_END, 0); - process_partial_match(common); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_END, 0); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - } -#ifdef SUPPORT_UNICODE - else if (!common->utf) -#else - else -#endif - { - /* If OP_ALLANY is present, it has a separate EXACT opcode. */ - SLJIT_ASSERT(exact == 0); - - if (private_data_ptr == 0) - allocate_stack(common, 2); - - OP1(SLJIT_MOV, base, offset1, STR_PTR, 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(max)); - - if (common->mode == PCRE2_JIT_COMPLETE) - { - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, STR_PTR, 0, STR_END, 0); - SELECT(SLJIT_GREATER, STR_PTR, STR_END, 0, STR_PTR); - } - else - { - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, STR_END, 0); - process_partial_match(common); - JUMPHERE(jump); - } - - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - } - } - - charpos_enabled = FALSE; - charpos_char = 0; - charpos_othercasebit = 0; - - SLJIT_ASSERT(tmp_base == TMP3); - if ((type != OP_CHAR && type != OP_CHARI) && (*end == OP_CHAR || *end == OP_CHARI)) - { -#ifdef SUPPORT_UNICODE - charpos_enabled = !common->utf || !HAS_EXTRALEN(end[1]); -#else - charpos_enabled = TRUE; -#endif - if (charpos_enabled && *end == OP_CHARI && char_has_othercase(common, end + 1)) - { - charpos_othercasebit = char_get_othercase_bit(common, end + 1); - if (charpos_othercasebit == 0) - charpos_enabled = FALSE; - } - - if (charpos_enabled) - { - charpos_char = end[1]; - /* Consume the OP_CHAR opcode. */ - end += 2; -#if PCRE2_CODE_UNIT_WIDTH == 8 - SLJIT_ASSERT((charpos_othercasebit >> 8) == 0); -#elif PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - SLJIT_ASSERT((charpos_othercasebit >> 9) == 0); - if ((charpos_othercasebit & 0x100) != 0) - charpos_othercasebit = (charpos_othercasebit & 0xff) << 8; -#endif - if (charpos_othercasebit != 0) - charpos_char |= charpos_othercasebit; - - BACKTRACK_AS(char_iterator_backtrack)->charpos.charpos_enabled = TRUE; - BACKTRACK_AS(char_iterator_backtrack)->charpos.chr = charpos_char; - BACKTRACK_AS(char_iterator_backtrack)->charpos.othercasebit = charpos_othercasebit; - - if (private_data_ptr == 0) - allocate_stack(common, 2); - - use_tmp = (opcode == OP_STAR); - - if (use_tmp) - { - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, base, offset0, TMP3, 0); - } - else - { - OP1(SLJIT_MOV, base, offset1, COUNT_MATCH, 0); - OP1(SLJIT_MOV, COUNT_MATCH, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, base, offset0, COUNT_MATCH, 0); - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, exact == max ? 0 : (max + 1)); - } - - /* Search the first instance of charpos_char. */ - if (exact > 0) - detect_partial_match(common, &no_match); - else - jump = JUMP(SLJIT_JUMP); - - label = LABEL(); - - if (opcode == OP_UPTO) - { - if (exact == max) - OP2(SLJIT_ADD, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - else - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - add_jump(compiler, &no_match, JUMP(SLJIT_ZERO)); - } - } - - compile_char1_matchingpath(common, type, cc, &no_match, FALSE); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - - if (exact == 0) - JUMPHERE(jump); - - detect_partial_match(common, &no_match); - - if (opcode == OP_UPTO && exact > 0) - { - if (exact == max) - CMPTO(SLJIT_LESS, TMP3, 0, SLJIT_IMM, exact, label); - else - CMPTO(SLJIT_GREATER, TMP3, 0, SLJIT_IMM, (max + 1) - exact, label); - } - - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - if (charpos_othercasebit != 0) - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, charpos_othercasebit); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, charpos_char, label); - - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - if (use_tmp) - { - OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, SLJIT_IMM, 0); - SELECT(SLJIT_EQUAL, TMP3, STR_PTR, 0, TMP3); - } - else - { - OP2U(SLJIT_SUB | SLJIT_SET_Z, COUNT_MATCH, 0, SLJIT_IMM, 0); - SELECT(SLJIT_EQUAL, COUNT_MATCH, STR_PTR, 0, COUNT_MATCH); - } - JUMPTO(SLJIT_JUMP, label); - - set_jumps(no_match, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - if (use_tmp) - OP1(SLJIT_MOV, base, offset1, TMP3, 0); - else - { - OP1(SLJIT_MOV, TMP1, 0, base, offset1); - OP1(SLJIT_MOV, base, offset1, COUNT_MATCH, 0); - OP1(SLJIT_MOV, COUNT_MATCH, 0, TMP1, 0); - } - - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0)); - - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - break; - } - } - - if (private_data_ptr == 0) - allocate_stack(common, 2); - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - use_tmp = (opcode == OP_STAR); - - if (common->utf) - { - if (!use_tmp) - OP1(SLJIT_MOV, base, offset0, COUNT_MATCH, 0); - - OP1(SLJIT_MOV, use_tmp ? TMP3 : COUNT_MATCH, 0, STR_PTR, 0); - } -#endif - - if (opcode == OP_UPTO) - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, exact == max ? -(sljit_sw)exact : (sljit_sw)max); - - if (opcode == OP_UPTO && exact > 0) - { - label = LABEL(); - detect_partial_match(common, &no_match); - compile_char1_matchingpath(common, type, cc, &no_char1_match, FALSE); -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - OP1(SLJIT_MOV, use_tmp ? TMP3 : COUNT_MATCH, 0, STR_PTR, 0); -#endif - - if (exact == max) - { - OP2(SLJIT_ADD | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - else - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - add_jump(compiler, &no_match, JUMP(SLJIT_ZERO)); - CMPTO(SLJIT_NOT_EQUAL, TMP3, 0, SLJIT_IMM, max - exact, label); - } - - OP1(SLJIT_MOV, base, offset1, STR_PTR, 0); - JUMPTO(SLJIT_JUMP, label); - } - else - { - OP1(SLJIT_MOV, base, offset1, STR_PTR, 0); - - detect_partial_match(common, &no_match); - label = LABEL(); - compile_char1_matchingpath(common, type, cc, &no_char1_match, FALSE); -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - OP1(SLJIT_MOV, use_tmp ? TMP3 : COUNT_MATCH, 0, STR_PTR, 0); -#endif - - if (opcode == OP_UPTO) - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - add_jump(compiler, &no_match, JUMP(SLJIT_ZERO)); - } - - detect_partial_match_to(common, label); - } - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - set_jumps(no_char1_match, LABEL()); - set_jumps(no_match, LABEL()); - if (use_tmp) - { - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - OP1(SLJIT_MOV, base, offset0, TMP3, 0); - } - else - { - OP1(SLJIT_MOV, STR_PTR, 0, COUNT_MATCH, 0); - OP1(SLJIT_MOV, COUNT_MATCH, 0, base, offset0); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - } - } - else -#endif - { - if (opcode != OP_UPTO || exact == 0) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - set_jumps(no_char1_match, LABEL()); - - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - set_jumps(no_match, LABEL()); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - } - - if (opcode == OP_UPTO) - { - if (exact > 0) - { - if (max == exact) - jump = CMP(SLJIT_GREATER_EQUAL, TMP3, 0, SLJIT_IMM, -(sljit_sw)exact); - else - jump = CMP(SLJIT_GREATER, TMP3, 0, SLJIT_IMM, max - exact); - - add_jump(compiler, &backtrack->own_backtracks, jump); - } - } - else if (exact == 1) - add_jump(compiler, &backtrack->own_backtracks, CMP(SLJIT_EQUAL, base, offset1, STR_PTR, 0)); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - - case OP_QUERY: - SLJIT_ASSERT(backtrack != NULL && early_fail_ptr == 0); - if (private_data_ptr == 0) - allocate_stack(common, 1); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - compile_char1_matchingpath(common, type, cc, &backtrack->own_backtracks, TRUE); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - - case OP_MINSTAR: - case OP_MINQUERY: - SLJIT_ASSERT(backtrack != NULL && (opcode == OP_MINSTAR || early_fail_ptr == 0)); - if (private_data_ptr == 0) - allocate_stack(common, 1); - - if (exact >= 1) - { - if (exact >= 2) - { - /* Extuni has a separate exact opcode. */ - SLJIT_ASSERT(tmp_base == TMP3 && early_fail_ptr == 0); - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, exact); - } - - if (opcode == OP_MINQUERY) - OP1(SLJIT_MOV, base, offset0, SLJIT_IMM, -1); - - label = LABEL(); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = label; - - compile_char1_matchingpath(common, type, cc, &backtrack->own_backtracks, TRUE); - - if (exact >= 2) - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - - if (opcode == OP_MINQUERY) - OP2(SLJIT_AND, base, offset0, base, offset0, STR_PTR, 0); - else - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - } - else - { - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - } - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - break; - - case OP_MINUPTO: - SLJIT_ASSERT(backtrack != NULL && early_fail_ptr == 0); - if (private_data_ptr == 0) - allocate_stack(common, 2); - - OP1(SLJIT_MOV, base, offset1, SLJIT_IMM, max + 1); - - if (exact == 0) - { - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = LABEL(); - break; - } - - if (exact >= 2) - { - /* Extuni has a separate exact opcode. */ - SLJIT_ASSERT(tmp_base == TMP3); - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, exact); - } - - label = LABEL(); - BACKTRACK_AS(char_iterator_backtrack)->matchingpath = label; - - compile_char1_matchingpath(common, type, cc, &backtrack->own_backtracks, TRUE); - - if (exact >= 2) - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - } - - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - break; - - case OP_EXACT: - SLJIT_ASSERT(backtrack == NULL); - break; - - case OP_POSSTAR: - SLJIT_ASSERT(backtrack == NULL); -#if defined SUPPORT_UNICODE - if (type == OP_ALLANY && !common->invalid_utf) -#else - if (type == OP_ALLANY) -#endif - { - if (exact == 1) - detect_partial_match(common, prev_backtracks); - - OP1(SLJIT_MOV, STR_PTR, 0, STR_END, 0); - process_partial_match(common); - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_END, 0); - break; - } - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (common->utf) - { - SLJIT_ASSERT(tmp_base == TMP3 || common->locals_size >= 3 * SSIZE_OF(sw)); - - if (tmp_base != TMP3) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL2, COUNT_MATCH, 0); - tmp_base = COUNT_MATCH; - } - - OP1(SLJIT_MOV, tmp_base, 0, exact == 1 ? SLJIT_IMM : STR_PTR, 0); - detect_partial_match(common, &no_match); - label = LABEL(); - compile_char1_matchingpath(common, type, cc, &no_match, FALSE); - OP1(SLJIT_MOV, tmp_base, 0, STR_PTR, 0); - detect_partial_match_to(common, label); - - set_jumps(no_match, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, tmp_base, 0); - - if (tmp_base != TMP3) - OP1(SLJIT_MOV, COUNT_MATCH, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - - if (exact == 1) - add_jump(compiler, prev_backtracks, CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0)); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - break; - } -#endif - - if (exact == 1) - OP1(SLJIT_MOV, tmp_base, tmp_offset, STR_PTR, 0); - - detect_partial_match(common, &no_match); - label = LABEL(); - /* Extuni never fails, so no_char1_match is not used in that case. - Anynl optionally reads an extra character on success. */ - compile_char1_matchingpath(common, type, cc, &no_char1_match, FALSE); - detect_partial_match_to(common, label); - if (type != OP_EXTUNI) - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - set_jumps(no_char1_match, LABEL()); - if (type != OP_EXTUNI) - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - set_jumps(no_match, LABEL()); - - if (exact == 1) - add_jump(compiler, prev_backtracks, CMP(SLJIT_EQUAL, tmp_base, tmp_offset, STR_PTR, 0)); - - if (early_fail_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), early_fail_ptr, STR_PTR, 0); - break; - - case OP_POSUPTO: - SLJIT_ASSERT(backtrack == NULL && early_fail_ptr == 0); - max += exact; - -#if defined SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH != 32 - if (type == OP_EXTUNI || common->utf) -#else - if (type == OP_EXTUNI) -#endif - { - SLJIT_ASSERT(common->locals_size >= 3 * SSIZE_OF(sw)); - - /* Count match is not modified by compile_char1_matchingpath. */ - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL2, COUNT_MATCH, 0); - OP1(SLJIT_MOV, COUNT_MATCH, 0, SLJIT_IMM, exact == max ? 0 : max); - - label = LABEL(); - /* Extuni only modifies TMP3 on successful match. */ - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - compile_char1_matchingpath(common, type, cc, &no_match, TRUE); - - if (exact == max) - { - OP2(SLJIT_ADD, COUNT_MATCH, 0, COUNT_MATCH, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_JUMP, label); - } - else - { - OP2(SLJIT_SUB | SLJIT_SET_Z, COUNT_MATCH, 0, COUNT_MATCH, 0, SLJIT_IMM, 1); - JUMPTO(SLJIT_NOT_ZERO, label); - OP1(SLJIT_MOV, TMP3, 0, STR_PTR, 0); - } - - set_jumps(no_match, LABEL()); - - if (exact > 0) - { - if (exact == max) - OP2U(SLJIT_SUB | SLJIT_SET_LESS, COUNT_MATCH, 0, SLJIT_IMM, exact); - else - OP2U(SLJIT_SUB | SLJIT_SET_GREATER, COUNT_MATCH, 0, SLJIT_IMM, max - exact); - } - - OP1(SLJIT_MOV, COUNT_MATCH, 0, SLJIT_MEM1(SLJIT_SP), LOCAL2); - - if (exact > 0) - add_jump(compiler, prev_backtracks, JUMP(exact == max ? SLJIT_LESS : SLJIT_GREATER)); - OP1(SLJIT_MOV, STR_PTR, 0, TMP3, 0); - break; - } - - SLJIT_ASSERT(tmp_base == TMP3); - - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, exact == max ? 0 : max); - - detect_partial_match(common, &no_match); - label = LABEL(); - compile_char1_matchingpath(common, type, cc, &no_char1_match, FALSE); - - if (exact == max) - OP2(SLJIT_ADD, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - else - { - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP3, 0, TMP3, 0, SLJIT_IMM, 1); - add_jump(compiler, &no_match, JUMP(SLJIT_ZERO)); - } - detect_partial_match_to(common, label); - OP2(SLJIT_ADD, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - - set_jumps(no_char1_match, LABEL()); - OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); - set_jumps(no_match, LABEL()); - - if (exact > 0) - { - if (exact == max) - jump = CMP(SLJIT_LESS, TMP3, 0, SLJIT_IMM, exact); - else - jump = CMP(SLJIT_GREATER, TMP3, 0, SLJIT_IMM, max - exact); - - add_jump(compiler, prev_backtracks, jump); - } - break; - - case OP_POSQUERY: - SLJIT_ASSERT(backtrack == NULL && early_fail_ptr == 0); - SLJIT_ASSERT(tmp_base == TMP3 || common->locals_size >= 3 * SSIZE_OF(sw)); - OP1(SLJIT_MOV, tmp_base, tmp_offset, STR_PTR, 0); - compile_char1_matchingpath(common, type, cc, &no_match, TRUE); - OP1(SLJIT_MOV, tmp_base, tmp_offset, STR_PTR, 0); - set_jumps(no_match, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, tmp_base, tmp_offset); - break; - - default: - SLJIT_UNREACHABLE(); - break; - } - -count_match(common); -return end; -} - -static SLJIT_INLINE PCRE2_SPTR compile_fail_accept_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; - -PUSH_BACKTRACK(sizeof(backtrack_common), cc, NULL); - -if (*cc == OP_FAIL) - { - add_jump(compiler, &backtrack->own_backtracks, JUMP(SLJIT_JUMP)); - return cc + 1; - } - -if (*cc == OP_ACCEPT && common->currententry == NULL && (common->re->overall_options & PCRE2_ENDANCHORED) != 0) - add_jump(compiler, &common->restart_match, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0)); - -if (*cc == OP_ASSERT_ACCEPT || common->currententry != NULL || !common->might_be_empty) - { - /* No need to check notempty conditions. */ - if (common->accept_label == NULL) - add_jump(compiler, &common->accept, JUMP(SLJIT_JUMP)); - else - JUMPTO(SLJIT_JUMP, common->accept_label); - return cc + 1; - } - -if (common->accept_label == NULL) - add_jump(compiler, &common->accept, CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0))); -else - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0), common->accept_label); - -if (HAS_VIRTUAL_REGISTERS) - { - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV_U32, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, options)); - } -else - OP1(SLJIT_MOV_U32, TMP2, 0, SLJIT_MEM1(ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, options)); - -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, PCRE2_NOTEMPTY); -add_jump(compiler, &backtrack->own_backtracks, JUMP(SLJIT_NOT_ZERO)); -OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, PCRE2_NOTEMPTY_ATSTART); -if (common->accept_label == NULL) - add_jump(compiler, &common->accept, JUMP(SLJIT_ZERO)); -else - JUMPTO(SLJIT_ZERO, common->accept_label); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(HAS_VIRTUAL_REGISTERS ? TMP1 : ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, str)); -if (common->accept_label == NULL) - add_jump(compiler, &common->accept, CMP(SLJIT_NOT_EQUAL, TMP2, 0, STR_PTR, 0)); -else - CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, STR_PTR, 0, common->accept_label); -add_jump(compiler, &backtrack->own_backtracks, JUMP(SLJIT_JUMP)); -return cc + 1; -} - -static SLJIT_INLINE PCRE2_SPTR compile_close_matchingpath(compiler_common *common, PCRE2_SPTR cc) -{ -DEFINE_COMPILER; -int offset = GET2(cc, 1); -BOOL optimized_cbracket = common->optimized_cbracket[offset] != 0; - -/* Data will be discarded anyway... */ -if (common->currententry != NULL) - return cc + 1 + IMM2_SIZE; - -if (!optimized_cbracket) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR_PRIV(offset)); -offset <<= 1; -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); -if (!optimized_cbracket) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); -return cc + 1 + IMM2_SIZE; -} - -static SLJIT_INLINE PCRE2_SPTR compile_control_verb_matchingpath(compiler_common *common, PCRE2_SPTR cc, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -PCRE2_UCHAR opcode = *cc; -PCRE2_SPTR ccend = cc + 1; - -if (opcode == OP_COMMIT_ARG || opcode == OP_PRUNE_ARG || - opcode == OP_SKIP_ARG || opcode == OP_THEN_ARG) - ccend += 2 + cc[1]; - -PUSH_BACKTRACK(sizeof(backtrack_common), cc, NULL); - -if (opcode == OP_SKIP) - { - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - return ccend; - } - -if (opcode == OP_COMMIT_ARG || opcode == OP_PRUNE_ARG || opcode == OP_THEN_ARG) - { - if (HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_sw)(cc + 2)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->mark_ptr, TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(HAS_VIRTUAL_REGISTERS ? TMP1 : ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, mark_ptr), TMP2, 0); - } - -return ccend; -} - -static PCRE2_UCHAR then_trap_opcode[1] = { OP_THEN_TRAP }; - -static SLJIT_INLINE void compile_then_trap_matchingpath(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -BOOL needs_control_head; -int size; - -PUSH_BACKTRACK_NOVALUE(sizeof(then_trap_backtrack), cc); -common->then_trap = BACKTRACK_AS(then_trap_backtrack); -BACKTRACK_AS(then_trap_backtrack)->common.cc = then_trap_opcode; -BACKTRACK_AS(then_trap_backtrack)->start = (sljit_sw)(cc - common->start); -BACKTRACK_AS(then_trap_backtrack)->framesize = get_framesize(common, cc, ccend, FALSE, &needs_control_head); - -size = BACKTRACK_AS(then_trap_backtrack)->framesize; -size = 3 + (size < 0 ? 0 : size); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); -allocate_stack(common, size); -if (size > 3) - OP2(SLJIT_ADD, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, STACK_TOP, 0, SLJIT_IMM, (size - 3) * sizeof(sljit_sw)); -else - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, STACK_TOP, 0); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(size - 1), SLJIT_IMM, BACKTRACK_AS(then_trap_backtrack)->start); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(size - 2), SLJIT_IMM, type_then_trap); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(size - 3), TMP2, 0); - -size = BACKTRACK_AS(then_trap_backtrack)->framesize; -if (size >= 0) - init_frame(common, cc, ccend, size - 1, 0); -} - -static void compile_matchingpath(compiler_common *common, PCRE2_SPTR cc, PCRE2_SPTR ccend, backtrack_common *parent) -{ -DEFINE_COMPILER; -backtrack_common *backtrack; -BOOL has_then_trap = FALSE; -then_trap_backtrack *save_then_trap = NULL; -size_t op_len; - -SLJIT_ASSERT(*ccend == OP_END || (*ccend >= OP_ALT && *ccend <= OP_KETRPOS)); - -if (common->has_then && common->then_offsets[cc - common->start] != 0) - { - SLJIT_ASSERT(*ccend != OP_END && common->control_head_ptr != 0); - has_then_trap = TRUE; - save_then_trap = common->then_trap; - /* Tail item on backtrack. */ - compile_then_trap_matchingpath(common, cc, ccend, parent); - } - -while (cc < ccend) - { - switch(*cc) - { - case OP_SOD: - case OP_SOM: - case OP_NOT_WORD_BOUNDARY: - case OP_WORD_BOUNDARY: - case OP_EODN: - case OP_EOD: - case OP_DOLL: - case OP_DOLLM: - case OP_CIRC: - case OP_CIRCM: - case OP_NOT_UCP_WORD_BOUNDARY: - case OP_UCP_WORD_BOUNDARY: - cc = compile_simple_assertion_matchingpath(common, *cc, cc + 1, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - break; - - case OP_NOT_DIGIT: - case OP_DIGIT: - case OP_NOT_WHITESPACE: - case OP_WHITESPACE: - case OP_NOT_WORDCHAR: - case OP_WORDCHAR: - case OP_ANY: - case OP_ALLANY: - case OP_ANYBYTE: - case OP_NOTPROP: - case OP_PROP: - case OP_ANYNL: - case OP_NOT_HSPACE: - case OP_HSPACE: - case OP_NOT_VSPACE: - case OP_VSPACE: - case OP_EXTUNI: - case OP_NOT: - case OP_NOTI: - cc = compile_char1_matchingpath(common, *cc, cc + 1, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE); - break; - - case OP_SET_SOM: - PUSH_BACKTRACK_NOVALUE(sizeof(backtrack_common), cc); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0)); - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(0), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - cc++; - break; - - case OP_CHAR: - case OP_CHARI: - if (common->mode == PCRE2_JIT_COMPLETE) - cc = compile_charn_matchingpath(common, cc, ccend, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - else - cc = compile_char1_matchingpath(common, *cc, cc + 1, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE); - break; - - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - case OP_UPTO: - case OP_MINUPTO: - case OP_EXACT: - case OP_POSSTAR: - case OP_POSPLUS: - case OP_POSQUERY: - case OP_POSUPTO: - case OP_STARI: - case OP_MINSTARI: - case OP_PLUSI: - case OP_MINPLUSI: - case OP_QUERYI: - case OP_MINQUERYI: - case OP_UPTOI: - case OP_MINUPTOI: - case OP_EXACTI: - case OP_POSSTARI: - case OP_POSPLUSI: - case OP_POSQUERYI: - case OP_POSUPTOI: - case OP_NOTSTAR: - case OP_NOTMINSTAR: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - case OP_NOTEXACT: - case OP_NOTPOSSTAR: - case OP_NOTPOSPLUS: - case OP_NOTPOSQUERY: - case OP_NOTPOSUPTO: - case OP_NOTSTARI: - case OP_NOTMINSTARI: - case OP_NOTPLUSI: - case OP_NOTMINPLUSI: - case OP_NOTQUERYI: - case OP_NOTMINQUERYI: - case OP_NOTUPTOI: - case OP_NOTMINUPTOI: - case OP_NOTEXACTI: - case OP_NOTPOSSTARI: - case OP_NOTPOSPLUSI: - case OP_NOTPOSQUERYI: - case OP_NOTPOSUPTOI: - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - case OP_TYPEEXACT: - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - case OP_TYPEPOSQUERY: - case OP_TYPEPOSUPTO: - cc = compile_iterator_matchingpath(common, cc, parent, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - break; - - case OP_CLASS: - case OP_NCLASS: - if (cc[1 + (32 / sizeof(PCRE2_UCHAR))] >= OP_CRSTAR && cc[1 + (32 / sizeof(PCRE2_UCHAR))] <= OP_CRPOSRANGE) - cc = compile_iterator_matchingpath(common, cc, parent, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - else - cc = compile_char1_matchingpath(common, *cc, cc + 1, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE); - break; - -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 - case OP_XCLASS: - case OP_ECLASS: - op_len = GET(cc, 1); - if (cc[op_len] >= OP_CRSTAR && cc[op_len] <= OP_CRPOSRANGE) - cc = compile_iterator_matchingpath(common, cc, parent, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - else - cc = compile_char1_matchingpath(common, *cc, cc + 1, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE); - break; -#endif - - case OP_REF: - case OP_REFI: - op_len = PRIV(OP_lengths)[*cc]; - if (cc[op_len] >= OP_CRSTAR && cc[op_len] <= OP_CRPOSRANGE) - cc = compile_ref_iterator_matchingpath(common, cc, parent); - else - { - compile_ref_matchingpath(common, cc, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE, FALSE); - cc += op_len; - } - break; - - case OP_DNREF: - case OP_DNREFI: - op_len = PRIV(OP_lengths)[*cc]; - if (cc[op_len] >= OP_CRSTAR && cc[op_len] <= OP_CRPOSRANGE) - cc = compile_ref_iterator_matchingpath(common, cc, parent); - else - { - compile_dnref_search(common, cc, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks); - compile_ref_matchingpath(common, cc, parent->top != NULL ? &parent->top->simple_backtracks : &parent->own_backtracks, TRUE, FALSE); - cc += op_len; - } - break; - - case OP_RECURSE: - cc = compile_recurse_matchingpath(common, cc, parent); - break; - - case OP_CALLOUT: - case OP_CALLOUT_STR: - cc = compile_callout_matchingpath(common, cc, parent); - break; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - PUSH_BACKTRACK_NOVALUE(sizeof(assert_backtrack), cc); - cc = compile_assert_matchingpath(common, cc, BACKTRACK_AS(assert_backtrack), FALSE); - break; - - case OP_BRAMINZERO: - PUSH_BACKTRACK_NOVALUE(sizeof(braminzero_backtrack), cc); - cc = bracketend(cc + 1); - if (*(cc - 1 - LINK_SIZE) != OP_KETRMIN) - { - allocate_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - } - else - { - allocate_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), STR_PTR, 0); - } - BACKTRACK_AS(braminzero_backtrack)->matchingpath = LABEL(); - count_match(common); - break; - - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ASSERT_SCS: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRA: - case OP_CBRA: - case OP_COND: - case OP_SBRA: - case OP_SCBRA: - case OP_SCOND: - cc = compile_bracket_matchingpath(common, cc, parent); - break; - - case OP_BRAZERO: - if (cc[1] > OP_ASSERTBACK_NOT) - cc = compile_bracket_matchingpath(common, cc, parent); - else - { - PUSH_BACKTRACK_NOVALUE(sizeof(assert_backtrack), cc); - cc = compile_assert_matchingpath(common, cc, BACKTRACK_AS(assert_backtrack), FALSE); - } - break; - - case OP_BRAPOS: - case OP_CBRAPOS: - case OP_SBRAPOS: - case OP_SCBRAPOS: - case OP_BRAPOSZERO: - cc = compile_bracketpos_matchingpath(common, cc, parent); - break; - - case OP_MARK: - PUSH_BACKTRACK_NOVALUE(sizeof(backtrack_common), cc); - SLJIT_ASSERT(common->mark_ptr != 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->mark_ptr); - allocate_stack(common, common->has_skip_arg ? 5 : 1); - if (HAS_VIRTUAL_REGISTERS) - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(common->has_skip_arg ? 4 : 0), TMP2, 0); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, (sljit_sw)(cc + 2)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->mark_ptr, TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(HAS_VIRTUAL_REGISTERS ? TMP1 : ARGUMENTS), SLJIT_OFFSETOF(jit_arguments, mark_ptr), TMP2, 0); - if (common->has_skip_arg) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, STACK_TOP, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, type_mark); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), SLJIT_IMM, (sljit_sw)(cc + 2)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(3), STR_PTR, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP1, 0); - } - cc += 1 + 2 + cc[1]; - break; - - case OP_PRUNE: - case OP_PRUNE_ARG: - case OP_SKIP: - case OP_SKIP_ARG: - case OP_THEN: - case OP_THEN_ARG: - case OP_COMMIT: - case OP_COMMIT_ARG: - cc = compile_control_verb_matchingpath(common, cc, parent); - break; - - case OP_FAIL: - case OP_ACCEPT: - case OP_ASSERT_ACCEPT: - cc = compile_fail_accept_matchingpath(common, cc, parent); - break; - - case OP_CLOSE: - cc = compile_close_matchingpath(common, cc); - break; - - case OP_SKIPZERO: - cc = bracketend(cc + 1); - break; - - default: - SLJIT_UNREACHABLE(); - return; - } - if (cc == NULL) - return; - } - -if (has_then_trap) - { - /* Head item on backtrack. */ - PUSH_BACKTRACK_NOVALUE(sizeof(then_trap_backtrack), cc); - BACKTRACK_AS(then_trap_backtrack)->common.cc = then_trap_opcode; - BACKTRACK_AS(then_trap_backtrack)->then_trap = common->then_trap; - common->then_trap = save_then_trap; - } -SLJIT_ASSERT(cc == ccend); -} - -#undef PUSH_BACKTRACK -#undef PUSH_BACKTRACK_NOVALUE -#undef BACKTRACK_AS - -#define COMPILE_BACKTRACKINGPATH(current) \ - do \ - { \ - compile_backtrackingpath(common, (current)); \ - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) \ - return; \ - } \ - while (0) - -#define CURRENT_AS(type) ((type *)current) - -static void compile_newline_move_back(compiler_common *common) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; - -OP2(SLJIT_SUB, TMP1, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(1)); -jump = CMP(SLJIT_LESS_EQUAL, TMP1, 0, TMP2, 0); -/* All newlines are single byte, or their last byte -is not equal to CHAR_NL/CHAR_CR even if UTF is enabled. */ -OP1(MOV_UCHAR, SLJIT_TMP_DEST_REG, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-2)); -OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(-1)); -OP2(SLJIT_SHL, SLJIT_TMP_DEST_REG, 0, SLJIT_TMP_DEST_REG, 0, SLJIT_IMM, 8); -OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_TMP_DEST_REG, 0); -OP2U(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, SLJIT_IMM, CHAR_CR << 8 | CHAR_NL); -OP_FLAGS(SLJIT_MOV, TMP1, 0, SLJIT_EQUAL); -#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 -OP2(SLJIT_SHL, TMP1, 0, TMP1, 0, SLJIT_IMM, UCHAR_SHIFT); -#endif -OP2(SLJIT_SUB, STR_PTR, 0, STR_PTR, 0, TMP1, 0); -JUMPHERE(jump); -} - -static void compile_iterator_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -PCRE2_SPTR cc = current->cc; -PCRE2_UCHAR opcode; -PCRE2_UCHAR type; -sljit_u32 max = 0, exact; -struct sljit_label *label = NULL; -struct sljit_jump *jump = NULL; -jump_list *jumplist = NULL; -PCRE2_SPTR end; -int private_data_ptr = PRIVATE_DATA(cc); -int base = (private_data_ptr == 0) ? SLJIT_MEM1(STACK_TOP) : SLJIT_MEM1(SLJIT_SP); -int offset0 = (private_data_ptr == 0) ? STACK(0) : private_data_ptr; -int offset1 = (private_data_ptr == 0) ? STACK(1) : private_data_ptr + SSIZE_OF(sw); - -cc = get_iterator_parameters(common, cc, &opcode, &type, &max, &exact, &end); - -switch(opcode) - { - case OP_STAR: - case OP_UPTO: - if (type == OP_EXTUNI) - { - SLJIT_ASSERT(private_data_ptr == 0); - set_jumps(current->own_backtracks, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(char_iterator_backtrack)->matchingpath); - } - else - { - if (CURRENT_AS(char_iterator_backtrack)->charpos.charpos_enabled) - { - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - OP1(SLJIT_MOV, TMP2, 0, base, offset1); - - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - label = LABEL(); - if (type == OP_ANYNL) - compile_newline_move_back(common); - move_back(common, NULL, TRUE); - - OP1(MOV_UCHAR, TMP1, 0, SLJIT_MEM1(STR_PTR), IN_UCHARS(0)); - if (CURRENT_AS(char_iterator_backtrack)->charpos.othercasebit != 0) - OP2(SLJIT_OR, TMP1, 0, TMP1, 0, SLJIT_IMM, CURRENT_AS(char_iterator_backtrack)->charpos.othercasebit); - CMPTO(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, CURRENT_AS(char_iterator_backtrack)->charpos.chr, CURRENT_AS(char_iterator_backtrack)->matchingpath); - /* The range beginning must match, no need to compare. */ - JUMPTO(SLJIT_JUMP, label); - - set_jumps(current->own_backtracks, LABEL()); - current->own_backtracks = NULL; - } - else - { - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - - if (opcode == OP_STAR && exact == 1) - { - if (type == OP_ANYNL) - { - OP1(SLJIT_MOV, TMP2, 0, base, offset1); - compile_newline_move_back(common); - } - - move_back(common, NULL, TRUE); - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, base, offset1); - } - else - { - if (type == OP_ANYNL) - { - OP1(SLJIT_MOV, TMP2, 0, base, offset1); - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, TMP2, 0); - compile_newline_move_back(common); - } - else - jump = CMP(SLJIT_LESS_EQUAL, STR_PTR, 0, base, offset1); - - move_back(common, NULL, TRUE); - } - - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - JUMPTO(SLJIT_JUMP, CURRENT_AS(char_iterator_backtrack)->matchingpath); - - set_jumps(current->own_backtracks, LABEL()); - } - - JUMPHERE(jump); - if (private_data_ptr == 0) - free_stack(common, 2); - } - break; - - case OP_QUERY: - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - OP1(SLJIT_MOV, base, offset0, SLJIT_IMM, 0); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(char_iterator_backtrack)->matchingpath); - jump = JUMP(SLJIT_JUMP); - set_jumps(current->own_backtracks, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - OP1(SLJIT_MOV, base, offset0, SLJIT_IMM, 0); - JUMPTO(SLJIT_JUMP, CURRENT_AS(char_iterator_backtrack)->matchingpath); - JUMPHERE(jump); - if (private_data_ptr == 0) - free_stack(common, 1); - break; - - case OP_MINSTAR: - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - if (exact == 0) - { - compile_char1_matchingpath(common, type, cc, &jumplist, TRUE); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - } - else if (exact > 1) - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 1); - - JUMPTO(SLJIT_JUMP, CURRENT_AS(char_iterator_backtrack)->matchingpath); - set_jumps(exact > 0 ? current->own_backtracks : jumplist, LABEL()); - if (private_data_ptr == 0) - free_stack(common, 1); - break; - - case OP_MINUPTO: - OP1(SLJIT_MOV, TMP1, 0, base, offset1); - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - OP2(SLJIT_SUB | SLJIT_SET_Z, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); - - if (exact == 0) - { - add_jump(compiler, &jumplist, JUMP(SLJIT_ZERO)); - - OP1(SLJIT_MOV, base, offset1, TMP1, 0); - compile_char1_matchingpath(common, type, cc, &jumplist, TRUE); - OP1(SLJIT_MOV, base, offset0, STR_PTR, 0); - JUMPTO(SLJIT_JUMP, CURRENT_AS(char_iterator_backtrack)->matchingpath); - - set_jumps(jumplist, LABEL()); - } - else - { - if (exact > 1) - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 1); - OP1(SLJIT_MOV, base, offset1, TMP1, 0); - JUMPTO(SLJIT_NOT_ZERO, CURRENT_AS(char_iterator_backtrack)->matchingpath); - - set_jumps(current->own_backtracks, LABEL()); - } - - if (private_data_ptr == 0) - free_stack(common, 2); - break; - - case OP_MINQUERY: - OP1(SLJIT_MOV, STR_PTR, 0, base, offset0); - OP1(SLJIT_MOV, base, offset0, SLJIT_IMM, 0); - - if (exact >= 1) - { - if (exact >= 2) - OP1(SLJIT_MOV, TMP3, 0, SLJIT_IMM, 1); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(char_iterator_backtrack)->matchingpath); - set_jumps(current->own_backtracks, LABEL()); - } - else - { - jump = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - compile_char1_matchingpath(common, type, cc, &jumplist, TRUE); - JUMPTO(SLJIT_JUMP, CURRENT_AS(char_iterator_backtrack)->matchingpath); - set_jumps(jumplist, LABEL()); - JUMPHERE(jump); - } - - if (private_data_ptr == 0) - free_stack(common, 1); - break; - - default: - SLJIT_UNREACHABLE(); - break; - } -} - -static SLJIT_INLINE void compile_ref_iterator_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -PCRE2_SPTR cc = current->cc; -BOOL ref = (*cc == OP_REF || *cc == OP_REFI); -PCRE2_UCHAR type; - -type = cc[PRIV(OP_lengths)[*cc]]; - -if ((type & 0x1) == 0) - { - /* Maximize case. */ - set_jumps(current->own_backtracks, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(ref_iterator_backtrack)->matchingpath); - return; - } - -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); -CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(ref_iterator_backtrack)->matchingpath); -set_jumps(current->own_backtracks, LABEL()); -free_stack(common, ref ? 2 : 3); -} - -static SLJIT_INLINE void compile_recurse_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -recurse_entry *entry; - -if (!CURRENT_AS(recurse_backtrack)->inlined_pattern) - { - entry = CURRENT_AS(recurse_backtrack)->entry; - if (entry->backtrack_label == NULL) - add_jump(compiler, &entry->backtrack_calls, JUMP(SLJIT_FAST_CALL)); - else - JUMPTO(SLJIT_FAST_CALL, entry->backtrack_label); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0, CURRENT_AS(recurse_backtrack)->matchingpath); - } -else - compile_backtrackingpath(common, current->top); - -set_jumps(current->own_backtracks, LABEL()); -} - -static void compile_assert_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -PCRE2_SPTR cc = current->cc; -PCRE2_UCHAR bra = OP_BRA; -struct sljit_jump *brajump = NULL; - -SLJIT_ASSERT(*cc != OP_BRAMINZERO); -if (*cc == OP_BRAZERO) - { - bra = *cc; - cc++; - } - -if (bra == OP_BRAZERO) - { - SLJIT_ASSERT(current->own_backtracks == NULL); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - } - -if (CURRENT_AS(assert_backtrack)->framesize < 0) - { - set_jumps(current->own_backtracks, LABEL()); - - if (bra == OP_BRAZERO) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(assert_backtrack)->matchingpath); - free_stack(common, 1); - } - return; - } - -if (bra == OP_BRAZERO) - { - if (*cc == OP_ASSERT_NOT || *cc == OP_ASSERTBACK_NOT) - { - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(assert_backtrack)->matchingpath); - free_stack(common, 1); - return; - } - free_stack(common, 1); - brajump = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0); - } - -if (*cc == OP_ASSERT || *cc == OP_ASSERTBACK) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), CURRENT_AS(assert_backtrack)->private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-2)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (CURRENT_AS(assert_backtrack)->framesize - 1) * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), CURRENT_AS(assert_backtrack)->private_data_ptr, TMP1, 0); - - set_jumps(current->own_backtracks, LABEL()); - } -else - set_jumps(current->own_backtracks, LABEL()); - -if (bra == OP_BRAZERO) - { - /* We know there is enough place on the stack. */ - OP2(SLJIT_SUB, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), SLJIT_IMM, 0); - JUMPTO(SLJIT_JUMP, CURRENT_AS(assert_backtrack)->matchingpath); - JUMPHERE(brajump); - } -} - -static void compile_bracket_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -int opcode, stacksize, alt_count, alt_max; -int offset = 0; -int private_data_ptr = CURRENT_AS(bracket_backtrack)->private_data_ptr; -int repeat_ptr = 0, repeat_type = 0, repeat_count = 0; -PCRE2_SPTR cc = current->cc; -PCRE2_SPTR ccbegin; -PCRE2_SPTR ccprev; -PCRE2_UCHAR bra = OP_BRA; -PCRE2_UCHAR ket; -const assert_backtrack *assert; -BOOL has_alternatives; -BOOL needs_control_head = FALSE; -BOOL has_vreverse; -struct sljit_jump *brazero = NULL; -struct sljit_jump *next_alt = NULL; -struct sljit_jump *once = NULL; -struct sljit_jump *cond = NULL; -struct sljit_label *rmin_label = NULL; -struct sljit_label *exact_label = NULL; -struct sljit_jump *mov_addr = NULL; - -if (*cc == OP_BRAZERO || *cc == OP_BRAMINZERO) - { - bra = *cc; - cc++; - } - -opcode = *cc; -ccbegin = bracketend(cc) - 1 - LINK_SIZE; -ket = *ccbegin; -if (ket == OP_KET && PRIVATE_DATA(ccbegin) != 0) - { - repeat_ptr = PRIVATE_DATA(ccbegin); - repeat_type = PRIVATE_DATA(ccbegin + 2); - repeat_count = PRIVATE_DATA(ccbegin + 3); - SLJIT_ASSERT(repeat_type != 0 && repeat_count != 0); - if (repeat_type == OP_UPTO) - ket = OP_KETRMAX; - if (repeat_type == OP_MINUPTO) - ket = OP_KETRMIN; - } -ccbegin = cc; -cc += GET(cc, 1); -has_alternatives = *cc == OP_ALT; -if (SLJIT_UNLIKELY(opcode == OP_COND) || SLJIT_UNLIKELY(opcode == OP_SCOND)) - has_alternatives = (ccbegin[1 + LINK_SIZE] >= OP_ASSERT && ccbegin[1 + LINK_SIZE] <= OP_ASSERTBACK_NOT) || CURRENT_AS(bracket_backtrack)->u.no_capture != NULL; -if (opcode == OP_CBRA || opcode == OP_SCBRA) - offset = (GET2(ccbegin, 1 + LINK_SIZE)) << 1; -if (SLJIT_UNLIKELY(opcode == OP_COND) && (*cc == OP_KETRMAX || *cc == OP_KETRMIN)) - opcode = OP_SCOND; - -alt_max = has_alternatives ? no_alternatives(ccbegin) : 0; - -/* Decoding the needs_control_head in framesize. */ -if (opcode == OP_ONCE) - { - needs_control_head = (CURRENT_AS(bracket_backtrack)->u.framesize & 0x1) != 0; - CURRENT_AS(bracket_backtrack)->u.framesize >>= 1; - } - -if (ket != OP_KET && repeat_type != 0) - { - /* TMP1 is used in OP_KETRMIN below. */ - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - if (repeat_type == OP_UPTO) - OP2(SLJIT_ADD, SLJIT_MEM1(SLJIT_SP), repeat_ptr, TMP1, 0, SLJIT_IMM, 1); - else - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), repeat_ptr, TMP1, 0); - } - -if (ket == OP_KETRMAX) - { - if (bra == OP_BRAZERO) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - brazero = CMP(SLJIT_EQUAL, TMP1, 0, SLJIT_IMM, 0); - } - } -else if (ket == OP_KETRMIN) - { - if (bra != OP_BRAMINZERO) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - if (repeat_type != 0) - { - /* TMP1 was set a few lines above. */ - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0, CURRENT_AS(bracket_backtrack)->recursive_matchingpath); - /* Drop STR_PTR for non-greedy plus quantifier. */ - if (opcode != OP_ONCE) - free_stack(common, 1); - } - else if (opcode >= OP_SBRA || opcode == OP_ONCE) - { - /* Checking zero-length iteration. */ - if (opcode != OP_ONCE || CURRENT_AS(bracket_backtrack)->u.framesize < 0) - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr, CURRENT_AS(bracket_backtrack)->recursive_matchingpath); - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_MEM1(TMP1), STACK(-CURRENT_AS(bracket_backtrack)->u.framesize - 2), CURRENT_AS(bracket_backtrack)->recursive_matchingpath); - } - /* Drop STR_PTR for non-greedy plus quantifier. */ - if (opcode != OP_ONCE) - free_stack(common, 1); - } - else - JUMPTO(SLJIT_JUMP, CURRENT_AS(bracket_backtrack)->recursive_matchingpath); - } - rmin_label = LABEL(); - if (repeat_type != 0) - OP2(SLJIT_ADD, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, 1); - } -else if (bra == OP_BRAZERO) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - brazero = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0); - } -else if (repeat_type == OP_EXACT) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, 1); - exact_label = LABEL(); - } - -if (offset != 0) - { - if (common->capture_last_ptr != 0) - { - SLJIT_ASSERT(common->optimized_cbracket[offset >> 1] == 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, TMP1, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(2)); - free_stack(common, 3); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP2, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), TMP1, 0); - } - else if (common->optimized_cbracket[offset >> 1] == 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - free_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), TMP2, 0); - } - } -else if (SLJIT_UNLIKELY(opcode == OP_ASSERT_SCS)) - { - OP1(SLJIT_MOV, TMP1, 0, STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), TMP1, 0); - - /* Nested scs blocks will not update this variable. */ - if (common->restore_end_ptr == 0) - common->restore_end_ptr = private_data_ptr + sizeof(sljit_sw); - } - -if (SLJIT_UNLIKELY(opcode == OP_ONCE)) - { - int framesize = CURRENT_AS(bracket_backtrack)->u.framesize; - - SLJIT_ASSERT(framesize != 0); - if (framesize > 0) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (framesize - 1) * sizeof(sljit_sw)); - } - once = JUMP(SLJIT_JUMP); - } -else if (SLJIT_UNLIKELY(opcode == OP_COND) || SLJIT_UNLIKELY(opcode == OP_SCOND)) - { - if (has_alternatives) - { - /* Always exactly one alternative. */ - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - - alt_max = 2; - next_alt = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0); - } - } -else if (has_alternatives) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - - if (alt_max > 3) - { - sljit_emit_ijump(compiler, SLJIT_JUMP, TMP1, 0); - - SLJIT_ASSERT(CURRENT_AS(bracket_backtrack)->matching_mov_addr != NULL); - sljit_set_label(CURRENT_AS(bracket_backtrack)->matching_mov_addr, LABEL()); - sljit_emit_op0(compiler, SLJIT_ENDBR); - } - else - next_alt = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0); - } - -COMPILE_BACKTRACKINGPATH(current->top); -if (current->own_backtracks) - set_jumps(current->own_backtracks, LABEL()); - -if (SLJIT_UNLIKELY(opcode == OP_COND) || SLJIT_UNLIKELY(opcode == OP_SCOND)) - { - /* Conditional block always has at most one alternative. */ - if (ccbegin[1 + LINK_SIZE] >= OP_ASSERT && ccbegin[1 + LINK_SIZE] <= OP_ASSERTBACK_NOT) - { - SLJIT_ASSERT(has_alternatives); - assert = CURRENT_AS(bracket_backtrack)->u.assert; - SLJIT_ASSERT(assert->framesize != 0); - if (assert->framesize > 0 && (ccbegin[1 + LINK_SIZE] == OP_ASSERT || ccbegin[1 + LINK_SIZE] == OP_ASSERTBACK)) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), assert->private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-2)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (assert->framesize - 1) * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), assert->private_data_ptr, TMP1, 0); - } - cond = JUMP(SLJIT_JUMP); - set_jumps(CURRENT_AS(bracket_backtrack)->u.assert->condfailed, LABEL()); - } - else if (CURRENT_AS(bracket_backtrack)->u.no_capture != NULL) - { - SLJIT_ASSERT(has_alternatives); - cond = JUMP(SLJIT_JUMP); - set_jumps(CURRENT_AS(bracket_backtrack)->u.no_capture, LABEL()); - } - else - SLJIT_ASSERT(!has_alternatives); - } - -if (has_alternatives) - { - alt_count = 1; - do - { - current->top = NULL; - current->own_backtracks = NULL; - current->simple_backtracks = NULL; - /* Conditional blocks always have an additional alternative, even if it is empty. */ - if (*cc == OP_ALT) - { - ccprev = cc + 1 + LINK_SIZE; - cc += GET(cc, 1); - - has_vreverse = FALSE; - - switch (opcode) - { - case OP_ASSERTBACK: - case OP_ASSERTBACK_NA: - SLJIT_ASSERT(private_data_ptr != 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - - has_vreverse = (*ccprev == OP_VREVERSE); - if (*ccprev == OP_REVERSE || has_vreverse) - ccprev = compile_reverse_matchingpath(common, ccprev, current); - break; - case OP_ASSERT_SCS: - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(2)); - break; - case OP_ONCE: - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(needs_control_head ? 1 : 0)); - break; - case OP_COND: - case OP_SCOND: - break; - default: - if (private_data_ptr != 0) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - else - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - break; - } - - compile_matchingpath(common, ccprev, cc, current); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return; - - switch (opcode) - { - case OP_ASSERTBACK_NA: - if (has_vreverse) - { - SLJIT_ASSERT(current->top != NULL && PRIVATE_DATA(ccbegin + 1)); - add_jump(compiler, ¤t->top->simple_backtracks, CMP(SLJIT_LESS, STR_PTR, 0, STR_END, 0)); - } - - if (PRIVATE_DATA(ccbegin + 1)) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - break; - case OP_ASSERT_NA: - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr); - break; - case OP_SCRIPT_RUN: - match_script_run_common(common, private_data_ptr, current); - break; - } - } - - /* Instructions after the current alternative is successfully matched. */ - /* There is a similar code in compile_bracket_matchingpath. */ - if (opcode == OP_ONCE) - match_once_common(common, ket, CURRENT_AS(bracket_backtrack)->u.framesize, private_data_ptr, has_alternatives, needs_control_head); - - stacksize = 0; - if (repeat_type == OP_MINUPTO) - { - /* We need to preserve the counter. TMP2 will be used below. */ - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), repeat_ptr); - stacksize++; - } - if (ket != OP_KET || bra != OP_BRA) - stacksize++; - if (offset != 0) - { - if (common->capture_last_ptr != 0) - stacksize++; - if (common->optimized_cbracket[offset >> 1] == 0) - stacksize += 2; - } - if (opcode != OP_ONCE) - stacksize++; - - if (stacksize > 0) - allocate_stack(common, stacksize); - - stacksize = 0; - if (repeat_type == OP_MINUPTO) - { - /* TMP2 was set above. */ - OP2(SLJIT_SUB, SLJIT_MEM1(STACK_TOP), STACK(stacksize), TMP2, 0, SLJIT_IMM, 1); - stacksize++; - } - - if (ket != OP_KET || bra != OP_BRA) - { - if (ket != OP_KET) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), STR_PTR, 0); - else - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), SLJIT_IMM, 0); - stacksize++; - } - - if (offset != 0) - stacksize = match_capture_common(common, stacksize, offset, private_data_ptr); - - if (opcode != OP_ONCE) - { - if (alt_max <= 3) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(stacksize), SLJIT_IMM, alt_count); - else - mov_addr = sljit_emit_mov_addr(compiler, SLJIT_MEM1(STACK_TOP), STACK(stacksize)); - } - - if (offset != 0 && ket == OP_KETRMAX && common->optimized_cbracket[offset >> 1] != 0) - { - /* If ket is not OP_KETRMAX, this code path is executed after the jump to alternative_matchingpath. */ - SLJIT_ASSERT(private_data_ptr == OVECTOR(offset + 0)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), STR_PTR, 0); - } - - JUMPTO(SLJIT_JUMP, CURRENT_AS(bracket_backtrack)->alternative_matchingpath); - - if (opcode != OP_ONCE) - { - if (alt_max <= 3) - { - JUMPHERE(next_alt); - alt_count++; - if (alt_count < alt_max) - { - SLJIT_ASSERT(alt_count == 2 && alt_max == 3); - next_alt = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 1); - } - } - else - { - sljit_set_label(mov_addr, LABEL()); - sljit_emit_op0(compiler, SLJIT_ENDBR); - } - } - - COMPILE_BACKTRACKINGPATH(current->top); - if (current->own_backtracks) - set_jumps(current->own_backtracks, LABEL()); - SLJIT_ASSERT(!current->simple_backtracks); - } - while (*cc == OP_ALT); - - if (cond != NULL) - { - SLJIT_ASSERT(opcode == OP_COND || opcode == OP_SCOND); - if (ccbegin[1 + LINK_SIZE] == OP_ASSERT_NOT || ccbegin[1 + LINK_SIZE] == OP_ASSERTBACK_NOT) - { - assert = CURRENT_AS(bracket_backtrack)->u.assert; - SLJIT_ASSERT(assert->framesize != 0); - if (assert->framesize > 0) - { - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), assert->private_data_ptr); - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(-2)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (assert->framesize - 1) * sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), assert->private_data_ptr, TMP1, 0); - } - } - JUMPHERE(cond); - } - - /* Free the STR_PTR. */ - if (private_data_ptr == 0) - free_stack(common, 1); - } - -if (offset != 0) - { - /* Using both tmp register is better for instruction scheduling. */ - if (common->optimized_cbracket[offset >> 1] != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - free_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), TMP2, 0); - } - else - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - } -else if (opcode == OP_ASSERTBACK_NA && PRIVATE_DATA(ccbegin + 1)) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), TMP2, 0); - free_stack(common, 4); - } -else if (opcode == OP_ASSERT_NA || opcode == OP_ASSERTBACK_NA || opcode == OP_SCRIPT_RUN || opcode == OP_SBRA || opcode == OP_SCOND) - { - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - } -else if (opcode == OP_ASSERT_SCS) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr + sizeof(sljit_sw), TMP2, 0); - free_stack(common, has_alternatives ? 3 : 2); - - set_jumps(CURRENT_AS(bracket_backtrack)->u.no_capture, LABEL()); - - /* Nested scs blocks will not update this variable. */ - if (common->restore_end_ptr == private_data_ptr + SSIZE_OF(sw)) - common->restore_end_ptr = 0; - } -else if (opcode == OP_ONCE) - { - cc = ccbegin + GET(ccbegin, 1); - stacksize = needs_control_head ? 1 : 0; - - if (CURRENT_AS(bracket_backtrack)->u.framesize >= 0) - { - /* Reset head and drop saved frame. */ - stacksize += CURRENT_AS(bracket_backtrack)->u.framesize + ((ket != OP_KET || *cc == OP_ALT) ? 2 : 1); - } - else if (ket == OP_KETRMAX || (*cc == OP_ALT && ket != OP_KETRMIN)) - { - /* The STR_PTR must be released. */ - stacksize++; - } - - if (stacksize > 0) - free_stack(common, stacksize); - - JUMPHERE(once); - /* Restore previous private_data_ptr */ - if (CURRENT_AS(bracket_backtrack)->u.framesize >= 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, SLJIT_MEM1(STACK_TOP), STACK(-CURRENT_AS(bracket_backtrack)->u.framesize - 1)); - else if (ket == OP_KETRMIN) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - /* See the comment below. */ - free_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), private_data_ptr, TMP1, 0); - } - } - -if (repeat_type == OP_EXACT) - { - OP2(SLJIT_ADD, TMP1, 0, SLJIT_MEM1(SLJIT_SP), repeat_ptr, SLJIT_IMM, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), repeat_ptr, TMP1, 0); - CMPTO(SLJIT_LESS_EQUAL, TMP1, 0, SLJIT_IMM, repeat_count, exact_label); - } -else if (ket == OP_KETRMAX) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - if (bra != OP_BRAZERO) - free_stack(common, 1); - - CMPTO(SLJIT_NOT_EQUAL, STR_PTR, 0, SLJIT_IMM, 0, CURRENT_AS(bracket_backtrack)->recursive_matchingpath); - if (bra == OP_BRAZERO) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - JUMPTO(SLJIT_JUMP, CURRENT_AS(bracket_backtrack)->zero_matchingpath); - JUMPHERE(brazero); - free_stack(common, 1); - } - } -else if (ket == OP_KETRMIN) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - - /* OP_ONCE removes everything in case of a backtrack, so we don't - need to explicitly release the STR_PTR. The extra release would - affect badly the free_stack(2) above. */ - if (opcode != OP_ONCE) - free_stack(common, 1); - CMPTO(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0, rmin_label); - if (opcode == OP_ONCE) - free_stack(common, bra == OP_BRAMINZERO ? 2 : 1); - else if (bra == OP_BRAMINZERO) - free_stack(common, 1); - } -else if (bra == OP_BRAZERO) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - JUMPTO(SLJIT_JUMP, CURRENT_AS(bracket_backtrack)->zero_matchingpath); - JUMPHERE(brazero); - } -} - -static SLJIT_INLINE void compile_bracketpos_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -int offset; -struct sljit_jump *jump; -PCRE2_SPTR cc; - -/* No retry on backtrack, just drop everything. */ -if (CURRENT_AS(bracketpos_backtrack)->framesize < 0) - { - cc = current->cc; - - if (*cc == OP_BRAPOSZERO) - cc++; - - if (*cc == OP_CBRAPOS || *cc == OP_SCBRAPOS) - { - offset = (GET2(cc, 1 + LINK_SIZE)) << 1; - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset), TMP1, 0); - if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(2)); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(offset + 1), TMP2, 0); - if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, TMP1, 0); - } - set_jumps(current->own_backtracks, LABEL()); - free_stack(common, CURRENT_AS(bracketpos_backtrack)->stacksize); - return; - } - -OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), CURRENT_AS(bracketpos_backtrack)->private_data_ptr); -add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); -OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (CURRENT_AS(bracketpos_backtrack)->framesize - 1) * sizeof(sljit_sw)); - -if (current->own_backtracks) - { - jump = JUMP(SLJIT_JUMP); - set_jumps(current->own_backtracks, LABEL()); - /* Drop the stack frame. */ - free_stack(common, CURRENT_AS(bracketpos_backtrack)->stacksize); - JUMPHERE(jump); - } -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), CURRENT_AS(bracketpos_backtrack)->private_data_ptr, SLJIT_MEM1(STACK_TOP), STACK(-CURRENT_AS(bracketpos_backtrack)->framesize - 1)); -} - -static SLJIT_INLINE void compile_braminzero_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -assert_backtrack backtrack; - -current->top = NULL; -current->own_backtracks = NULL; -current->simple_backtracks = NULL; -if (current->cc[1] > OP_ASSERTBACK_NOT) - { - /* Manual call of compile_bracket_matchingpath and compile_bracket_backtrackingpath. */ - compile_bracket_matchingpath(common, current->cc, current); - compile_bracket_backtrackingpath(common, current->top); - } -else - { - memset(&backtrack, 0, sizeof(backtrack)); - backtrack.common.cc = current->cc; - backtrack.matchingpath = CURRENT_AS(braminzero_backtrack)->matchingpath; - /* Manual call of compile_assert_matchingpath. */ - compile_assert_matchingpath(common, current->cc, &backtrack, FALSE); - } -SLJIT_ASSERT(!current->simple_backtracks && !current->own_backtracks); -} - -static SLJIT_INLINE void compile_control_verb_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -PCRE2_UCHAR opcode = *current->cc; -struct sljit_label *loop; -struct sljit_jump *jump; - -if (opcode == OP_THEN || opcode == OP_THEN_ARG) - { - if (common->then_trap != NULL) - { - SLJIT_ASSERT(common->control_head_ptr != 0); - - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, type_then_trap); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_IMM, common->then_trap->start); - jump = JUMP(SLJIT_JUMP); - - loop = LABEL(); - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - JUMPHERE(jump); - CMPTO(SLJIT_NOT_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(1), TMP1, 0, loop); - CMPTO(SLJIT_NOT_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(2), TMP2, 0, loop); - add_jump(compiler, &common->then_trap->quit, JUMP(SLJIT_JUMP)); - return; - } - else if (!common->local_quit_available && common->in_positive_assertion) - { - add_jump(compiler, &common->positive_assertion_quit, JUMP(SLJIT_JUMP)); - return; - } - } - -if (common->restore_end_ptr != 0 && opcode != OP_SKIP_ARG) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), common->restore_end_ptr); - -if (common->local_quit_available) - { - /* Abort match with a fail. */ - if (common->quit_label == NULL) - add_jump(compiler, &common->quit, JUMP(SLJIT_JUMP)); - else - JUMPTO(SLJIT_JUMP, common->quit_label); - return; - } - -if (opcode == OP_SKIP_ARG) - { - SLJIT_ASSERT(common->control_head_ptr != 0 && TMP1 == SLJIT_R0 && STR_PTR == SLJIT_R1); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr); - OP1(SLJIT_MOV, SLJIT_R1, 0, SLJIT_IMM, (sljit_sw)(current->cc + 2)); - sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS2(W, W, W), SLJIT_IMM, SLJIT_FUNC_ADDR(do_search_mark)); - - if (common->restore_end_ptr == 0) - { - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_R0, 0); - add_jump(compiler, &common->reset_match, CMP(SLJIT_NOT_EQUAL, SLJIT_R0, 0, SLJIT_IMM, 0)); - return; - } - - jump = CMP(SLJIT_EQUAL, SLJIT_R0, 0, SLJIT_IMM, 0); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_R0, 0); - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), common->restore_end_ptr); - add_jump(compiler, &common->reset_match, JUMP(SLJIT_JUMP)); - JUMPHERE(jump); - return; - } - -if (opcode == OP_SKIP) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); -else - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_IMM, 0); -add_jump(compiler, &common->reset_match, JUMP(SLJIT_JUMP)); -} - -static SLJIT_INLINE void compile_vreverse_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; -struct sljit_label *label; - -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(2)); -jump = CMP(SLJIT_GREATER_EQUAL, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(3)); -skip_valid_char(common); -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(2), STR_PTR, 0); -JUMPTO(SLJIT_JUMP, CURRENT_AS(vreverse_backtrack)->matchingpath); - -label = LABEL(); -sljit_set_label(jump, label); -set_jumps(current->own_backtracks, label); -} - -static SLJIT_INLINE void compile_then_trap_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -struct sljit_jump *jump; -int framesize; -int size; - -if (CURRENT_AS(then_trap_backtrack)->then_trap) - { - common->then_trap = CURRENT_AS(then_trap_backtrack)->then_trap; - return; - } - -size = CURRENT_AS(then_trap_backtrack)->framesize; -size = 3 + (size < 0 ? 0 : size); - -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(size - 3)); -free_stack(common, size); -jump = JUMP(SLJIT_JUMP); - -set_jumps(CURRENT_AS(then_trap_backtrack)->quit, LABEL()); - -framesize = CURRENT_AS(then_trap_backtrack)->framesize; -SLJIT_ASSERT(framesize != 0); - -/* STACK_TOP is set by THEN. */ -if (framesize > 0) - { - add_jump(compiler, &common->revertframes, JUMP(SLJIT_FAST_CALL)); - OP2(SLJIT_ADD, STACK_TOP, 0, STACK_TOP, 0, SLJIT_IMM, (framesize - 1) * sizeof(sljit_sw)); - } -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); -free_stack(common, 3); - -JUMPHERE(jump); -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, TMP1, 0); -} - -static void compile_backtrackingpath(compiler_common *common, struct backtrack_common *current) -{ -DEFINE_COMPILER; -then_trap_backtrack *save_then_trap = common->then_trap; - -while (current) - { - if (current->simple_backtracks != NULL) - set_jumps(current->simple_backtracks, LABEL()); - switch(*current->cc) - { - case OP_SET_SOM: - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(0), TMP1, 0); - break; - - case OP_STAR: - case OP_MINSTAR: - case OP_PLUS: - case OP_MINPLUS: - case OP_QUERY: - case OP_MINQUERY: - case OP_UPTO: - case OP_MINUPTO: - case OP_EXACT: - case OP_POSSTAR: - case OP_POSPLUS: - case OP_POSQUERY: - case OP_POSUPTO: - case OP_STARI: - case OP_MINSTARI: - case OP_PLUSI: - case OP_MINPLUSI: - case OP_QUERYI: - case OP_MINQUERYI: - case OP_UPTOI: - case OP_MINUPTOI: - case OP_EXACTI: - case OP_POSSTARI: - case OP_POSPLUSI: - case OP_POSQUERYI: - case OP_POSUPTOI: - case OP_NOTSTAR: - case OP_NOTMINSTAR: - case OP_NOTPLUS: - case OP_NOTMINPLUS: - case OP_NOTQUERY: - case OP_NOTMINQUERY: - case OP_NOTUPTO: - case OP_NOTMINUPTO: - case OP_NOTEXACT: - case OP_NOTPOSSTAR: - case OP_NOTPOSPLUS: - case OP_NOTPOSQUERY: - case OP_NOTPOSUPTO: - case OP_NOTSTARI: - case OP_NOTMINSTARI: - case OP_NOTPLUSI: - case OP_NOTMINPLUSI: - case OP_NOTQUERYI: - case OP_NOTMINQUERYI: - case OP_NOTUPTOI: - case OP_NOTMINUPTOI: - case OP_NOTEXACTI: - case OP_NOTPOSSTARI: - case OP_NOTPOSPLUSI: - case OP_NOTPOSQUERYI: - case OP_NOTPOSUPTOI: - case OP_TYPESTAR: - case OP_TYPEMINSTAR: - case OP_TYPEPLUS: - case OP_TYPEMINPLUS: - case OP_TYPEQUERY: - case OP_TYPEMINQUERY: - case OP_TYPEUPTO: - case OP_TYPEMINUPTO: - case OP_TYPEEXACT: - case OP_TYPEPOSSTAR: - case OP_TYPEPOSPLUS: - case OP_TYPEPOSQUERY: - case OP_TYPEPOSUPTO: - /* Since classes has no backtracking path, this - backtrackingpath was pushed by an iterator. */ - case OP_CLASS: - case OP_NCLASS: -#if defined SUPPORT_UNICODE || PCRE2_CODE_UNIT_WIDTH != 8 - case OP_XCLASS: - case OP_ECLASS: -#endif - compile_iterator_backtrackingpath(common, current); - break; - - case OP_REF: - case OP_REFI: - case OP_DNREF: - case OP_DNREFI: - compile_ref_iterator_backtrackingpath(common, current); - break; - - case OP_RECURSE: - compile_recurse_backtrackingpath(common, current); - break; - - case OP_ASSERT: - case OP_ASSERT_NOT: - case OP_ASSERTBACK: - case OP_ASSERTBACK_NOT: - compile_assert_backtrackingpath(common, current); - break; - - case OP_ASSERT_NA: - case OP_ASSERTBACK_NA: - case OP_ASSERT_SCS: - case OP_ONCE: - case OP_SCRIPT_RUN: - case OP_BRA: - case OP_CBRA: - case OP_COND: - case OP_SBRA: - case OP_SCBRA: - case OP_SCOND: - compile_bracket_backtrackingpath(common, current); - break; - - case OP_BRAZERO: - if (current->cc[1] > OP_ASSERTBACK_NOT) - compile_bracket_backtrackingpath(common, current); - else - compile_assert_backtrackingpath(common, current); - break; - - case OP_BRAPOS: - case OP_CBRAPOS: - case OP_SBRAPOS: - case OP_SCBRAPOS: - case OP_BRAPOSZERO: - compile_bracketpos_backtrackingpath(common, current); - break; - - case OP_BRAMINZERO: - compile_braminzero_backtrackingpath(common, current); - break; - - case OP_MARK: - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(common->has_skip_arg ? 4 : 0)); - if (common->has_skip_arg) - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - free_stack(common, common->has_skip_arg ? 5 : 1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->mark_ptr, TMP1, 0); - if (common->has_skip_arg) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, TMP2, 0); - break; - - case OP_THEN: - case OP_THEN_ARG: - case OP_PRUNE: - case OP_PRUNE_ARG: - case OP_SKIP: - case OP_SKIP_ARG: - compile_control_verb_backtrackingpath(common, current); - break; - - case OP_COMMIT: - case OP_COMMIT_ARG: - if (common->restore_end_ptr != 0) - OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(SLJIT_SP), common->restore_end_ptr); - - if (!common->local_quit_available) - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_NOMATCH); - - if (common->quit_label == NULL) - add_jump(compiler, &common->quit, JUMP(SLJIT_JUMP)); - else - JUMPTO(SLJIT_JUMP, common->quit_label); - break; - - case OP_CALLOUT: - case OP_CALLOUT_STR: - case OP_FAIL: - case OP_ACCEPT: - case OP_ASSERT_ACCEPT: - set_jumps(current->own_backtracks, LABEL()); - break; - - case OP_VREVERSE: - compile_vreverse_backtrackingpath(common, current); - break; - - case OP_THEN_TRAP: - /* A virtual opcode for then traps. */ - compile_then_trap_backtrackingpath(common, current); - break; - - default: - SLJIT_UNREACHABLE(); - break; - } - current = current->prev; - } -common->then_trap = save_then_trap; -} - -static SLJIT_INLINE void compile_recurse(compiler_common *common) -{ -DEFINE_COMPILER; -PCRE2_SPTR cc = common->start + common->currententry->start; -PCRE2_SPTR ccbegin = cc + 1 + LINK_SIZE + (*cc == OP_BRA ? 0 : IMM2_SIZE); -PCRE2_SPTR ccend = bracketend(cc) - (1 + LINK_SIZE); -uint32_t recurse_flags = 0; -int private_data_size = get_recurse_data_length(common, ccbegin, ccend, &recurse_flags); -int alt_count, alt_max, local_size; -backtrack_common altbacktrack; -jump_list *match = NULL; -struct sljit_jump *next_alt = NULL; -struct sljit_jump *accept_exit = NULL; -struct sljit_label *quit; -struct sljit_jump *mov_addr = NULL; - -/* Recurse captures then. */ -common->then_trap = NULL; - -SLJIT_ASSERT(*cc == OP_BRA || *cc == OP_CBRA || *cc == OP_CBRAPOS || *cc == OP_SCBRA || *cc == OP_SCBRAPOS); - -alt_max = no_alternatives(cc); -alt_count = 0; - -/* Matching path. */ -SLJIT_ASSERT(common->currententry->entry_label == NULL && common->recursive_head_ptr != 0); -common->currententry->entry_label = LABEL(); -set_jumps(common->currententry->entry_calls, common->currententry->entry_label); - -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, TMP2, 0); -count_match(common); - -local_size = (alt_max > 1) ? 2 : 1; - -/* (Reversed) stack layout: - [private data][return address][optional: str ptr] ... [optional: alternative index][recursive_head_ptr] */ - -allocate_stack(common, private_data_size + local_size); -/* Save return address. */ -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(local_size - 1), TMP2, 0); - -copy_recurse_data(common, ccbegin, ccend, recurse_copy_from_global, local_size, private_data_size + local_size, recurse_flags); - -/* This variable is saved and restored all time when we enter or exit from a recursive context. */ -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->recursive_head_ptr, STACK_TOP, 0); - -if (recurse_flags & recurse_flag_control_head_found) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_IMM, 0); - -if (alt_max > 1) - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), STR_PTR, 0); - -memset(&altbacktrack, 0, sizeof(backtrack_common)); -common->quit_label = NULL; -common->accept_label = NULL; -common->quit = NULL; -common->accept = NULL; -altbacktrack.cc = ccbegin; -cc += GET(cc, 1); -while (1) - { - altbacktrack.top = NULL; - altbacktrack.own_backtracks = NULL; - - if (altbacktrack.cc != ccbegin) - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - - compile_matchingpath(common, altbacktrack.cc, cc, &altbacktrack); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return; - - allocate_stack(common, (alt_max > 1 || (recurse_flags & recurse_flag_accept_found)) ? 2 : 1); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(SLJIT_SP), common->recursive_head_ptr); - - if (alt_max > 1 || (recurse_flags & recurse_flag_accept_found)) - { - if (alt_max > 3) - mov_addr = sljit_emit_mov_addr(compiler, SLJIT_MEM1(STACK_TOP), STACK(1)); - else - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, alt_count); - } - - add_jump(compiler, &match, JUMP(SLJIT_JUMP)); - - if (alt_count == 0) - { - /* Backtracking path entry. */ - SLJIT_ASSERT(common->currententry->backtrack_label == NULL); - common->currententry->backtrack_label = LABEL(); - set_jumps(common->currententry->backtrack_calls, common->currententry->backtrack_label); - - sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, TMP1, 0); - - if (recurse_flags & recurse_flag_accept_found) - accept_exit = CMP(SLJIT_EQUAL, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, -1); - - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(0)); - /* Save return address. */ - OP1(SLJIT_MOV, SLJIT_MEM1(TMP2), STACK(local_size - 1), TMP1, 0); - - copy_recurse_data(common, ccbegin, ccend, recurse_swap_global, local_size, private_data_size + local_size, recurse_flags); - - if (alt_max > 1) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(STACK_TOP), STACK(1)); - free_stack(common, 2); - - if (alt_max > 3) - { - sljit_emit_ijump(compiler, SLJIT_JUMP, TMP1, 0); - sljit_set_label(mov_addr, LABEL()); - sljit_emit_op0(compiler, SLJIT_ENDBR); - } - else - next_alt = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 0); - } - else - free_stack(common, (recurse_flags & recurse_flag_accept_found) ? 2 : 1); - } - else if (alt_max > 3) - { - sljit_set_label(mov_addr, LABEL()); - sljit_emit_op0(compiler, SLJIT_ENDBR); - } - else - { - JUMPHERE(next_alt); - if (alt_count + 1 < alt_max) - { - SLJIT_ASSERT(alt_count == 1 && alt_max == 3); - next_alt = CMP(SLJIT_NOT_EQUAL, TMP1, 0, SLJIT_IMM, 1); - } - } - - alt_count++; - - compile_backtrackingpath(common, altbacktrack.top); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - return; - set_jumps(altbacktrack.own_backtracks, LABEL()); - - if (*cc != OP_ALT) - break; - - altbacktrack.cc = cc + 1 + LINK_SIZE; - cc += GET(cc, 1); - } - -/* No alternative is matched. */ - -quit = LABEL(); - -copy_recurse_data(common, ccbegin, ccend, recurse_copy_private_to_global, local_size, private_data_size + local_size, recurse_flags); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(local_size - 1)); -free_stack(common, private_data_size + local_size); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); -OP_SRC(SLJIT_FAST_RETURN, TMP2, 0); - -if (common->quit != NULL) - { - SLJIT_ASSERT(recurse_flags & recurse_flag_quit_found); - - set_jumps(common->quit, LABEL()); - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), common->recursive_head_ptr); - copy_recurse_data(common, ccbegin, ccend, recurse_copy_shared_to_global, local_size, private_data_size + local_size, recurse_flags); - JUMPTO(SLJIT_JUMP, quit); - } - -if (recurse_flags & recurse_flag_accept_found) - { - JUMPHERE(accept_exit); - free_stack(common, 2); - - /* Save return address. */ - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(local_size - 1), TMP1, 0); - - copy_recurse_data(common, ccbegin, ccend, recurse_copy_kept_shared_to_global, local_size, private_data_size + local_size, recurse_flags); - - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(STACK_TOP), STACK(local_size - 1)); - free_stack(common, private_data_size + local_size); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 0); - OP_SRC(SLJIT_FAST_RETURN, TMP2, 0); - } - -if (common->accept != NULL) - { - SLJIT_ASSERT(recurse_flags & recurse_flag_accept_found); - - set_jumps(common->accept, LABEL()); - - OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(SLJIT_SP), common->recursive_head_ptr); - OP1(SLJIT_MOV, TMP2, 0, STACK_TOP, 0); - - allocate_stack(common, 2); - OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(1), SLJIT_IMM, -1); - } - -set_jumps(match, LABEL()); - -OP1(SLJIT_MOV, SLJIT_MEM1(STACK_TOP), STACK(0), TMP2, 0); - -copy_recurse_data(common, ccbegin, ccend, recurse_swap_global, local_size, private_data_size + local_size, recurse_flags); - -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP2), STACK(local_size - 1)); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_IMM, 1); -OP_SRC(SLJIT_FAST_RETURN, TMP2, 0); -} - -#undef COMPILE_BACKTRACKINGPATH -#undef CURRENT_AS - -#define PUBLIC_JIT_COMPILE_CONFIGURATION_OPTIONS \ - (PCRE2_JIT_INVALID_UTF) - -static int jit_compile(pcre2_code *code, sljit_u32 mode) -{ -pcre2_real_code *re = (pcre2_real_code *)code; -struct sljit_compiler *compiler; -backtrack_common rootbacktrack; -compiler_common common_data; -compiler_common *common = &common_data; -const sljit_u8 *tables = re->tables; -void *allocator_data = &re->memctl; -int private_data_size; -PCRE2_SPTR ccend; -executable_functions *functions; -void *executable_func; -sljit_uw executable_size, private_data_length, total_length; -struct sljit_label *mainloop_label = NULL; -struct sljit_label *continue_match_label; -struct sljit_label *empty_match_found_label = NULL; -struct sljit_label *empty_match_backtrack_label = NULL; -struct sljit_label *reset_match_label; -struct sljit_label *quit_label; -struct sljit_jump *jump; -struct sljit_jump *minlength_check_failed = NULL; -struct sljit_jump *empty_match = NULL; -struct sljit_jump *end_anchor_failed = NULL; -jump_list *reqcu_not_found = NULL; - -SLJIT_ASSERT(tables); - -#if HAS_VIRTUAL_REGISTERS == 1 -SLJIT_ASSERT(sljit_get_register_index(SLJIT_GP_REGISTER, TMP3) < 0 && sljit_get_register_index(SLJIT_GP_REGISTER, ARGUMENTS) < 0 && sljit_get_register_index(SLJIT_GP_REGISTER, RETURN_ADDR) < 0); -#elif HAS_VIRTUAL_REGISTERS == 0 -SLJIT_ASSERT(sljit_get_register_index(SLJIT_GP_REGISTER, TMP3) >= 0 && sljit_get_register_index(SLJIT_GP_REGISTER, ARGUMENTS) >= 0 && sljit_get_register_index(SLJIT_GP_REGISTER, RETURN_ADDR) >= 0); -#else -#error "Invalid value for HAS_VIRTUAL_REGISTERS" -#endif - -memset(&rootbacktrack, 0, sizeof(backtrack_common)); -memset(common, 0, sizeof(compiler_common)); -common->re = re; -common->name_table = (PCRE2_SPTR)((uint8_t *)re + sizeof(pcre2_real_code)); -rootbacktrack.cc = (PCRE2_SPTR)((uint8_t *)re + re->code_start); - -#ifdef SUPPORT_UNICODE -common->invalid_utf = (mode & PCRE2_JIT_INVALID_UTF) != 0; -#endif /* SUPPORT_UNICODE */ -mode &= ~PUBLIC_JIT_COMPILE_CONFIGURATION_OPTIONS; - -common->start = rootbacktrack.cc; -common->read_only_data_head = NULL; -common->fcc = tables + fcc_offset; -common->lcc = (sljit_sw)(tables + lcc_offset); -common->mode = mode; -common->might_be_empty = (re->minlength == 0) || (re->flags & PCRE2_MATCH_EMPTY); -common->allow_empty_partial = (re->max_lookbehind > 0) || (re->flags & PCRE2_MATCH_EMPTY); -common->nltype = NLTYPE_FIXED; -switch(re->newline_convention) - { - case PCRE2_NEWLINE_CR: common->newline = CHAR_CR; break; - case PCRE2_NEWLINE_LF: common->newline = CHAR_NL; break; - case PCRE2_NEWLINE_CRLF: common->newline = (CHAR_CR << 8) | CHAR_NL; break; - case PCRE2_NEWLINE_ANY: common->newline = (CHAR_CR << 8) | CHAR_NL; common->nltype = NLTYPE_ANY; break; - case PCRE2_NEWLINE_ANYCRLF: common->newline = (CHAR_CR << 8) | CHAR_NL; common->nltype = NLTYPE_ANYCRLF; break; - case PCRE2_NEWLINE_NUL: common->newline = CHAR_NUL; break; - default: return PCRE2_ERROR_INTERNAL; - } -common->nlmax = READ_CHAR_MAX; -common->nlmin = 0; -if (re->bsr_convention == PCRE2_BSR_UNICODE) - common->bsr_nltype = NLTYPE_ANY; -else if (re->bsr_convention == PCRE2_BSR_ANYCRLF) - common->bsr_nltype = NLTYPE_ANYCRLF; -else - { -#ifdef BSR_ANYCRLF - common->bsr_nltype = NLTYPE_ANYCRLF; -#else - common->bsr_nltype = NLTYPE_ANY; -#endif - } -common->bsr_nlmax = READ_CHAR_MAX; -common->bsr_nlmin = 0; -common->endonly = (re->overall_options & PCRE2_DOLLAR_ENDONLY) != 0; -common->ctypes = (sljit_sw)(tables + ctypes_offset); -common->name_count = re->name_count; -common->name_entry_size = re->name_entry_size; -common->unset_backref = (re->overall_options & PCRE2_MATCH_UNSET_BACKREF) != 0; -common->alt_circumflex = (re->overall_options & PCRE2_ALT_CIRCUMFLEX) != 0; -#ifdef SUPPORT_UNICODE -/* PCRE2_UTF[16|32] have the same value as PCRE2_UTF8. */ -common->utf = (re->overall_options & PCRE2_UTF) != 0; -common->ucp = (re->overall_options & PCRE2_UCP) != 0; -if (common->utf) - { - if (common->nltype == NLTYPE_ANY) - common->nlmax = 0x2029; - else if (common->nltype == NLTYPE_ANYCRLF) - common->nlmax = (CHAR_CR > CHAR_NL) ? CHAR_CR : CHAR_NL; - else - { - /* We only care about the first newline character. */ - common->nlmax = common->newline & 0xff; - } - - if (common->nltype == NLTYPE_FIXED) - common->nlmin = common->newline & 0xff; - else - common->nlmin = (CHAR_CR < CHAR_NL) ? CHAR_CR : CHAR_NL; - - if (common->bsr_nltype == NLTYPE_ANY) - common->bsr_nlmax = 0x2029; - else - common->bsr_nlmax = (CHAR_CR > CHAR_NL) ? CHAR_CR : CHAR_NL; - common->bsr_nlmin = (CHAR_CR < CHAR_NL) ? CHAR_CR : CHAR_NL; - } -else - common->invalid_utf = FALSE; -#endif /* SUPPORT_UNICODE */ -ccend = bracketend(common->start); - -/* Calculate the local space size on the stack. */ -common->ovector_start = LOCAL0; -/* Allocate space for temporary data structures. */ -private_data_length = ccend - common->start; -/* The chance of overflow is very low, but might happen on 32 bit. */ -if (private_data_length > ~(sljit_uw)0 / sizeof(sljit_s32)) - return PCRE2_ERROR_NOMEMORY; - -private_data_length *= sizeof(sljit_s32); -/* Align to 32 bit. */ -total_length = ((re->top_bracket + 1) + (sljit_uw)(sizeof(sljit_s32) - 1)) & ~(sljit_uw)(sizeof(sljit_s32) - 1); -if (~(sljit_uw)0 - private_data_length < total_length) - return PCRE2_ERROR_NOMEMORY; - -total_length += private_data_length; -common->private_data_ptrs = (sljit_s32*)SLJIT_MALLOC(total_length, allocator_data); -if (!common->private_data_ptrs) - return PCRE2_ERROR_NOMEMORY; - -memset(common->private_data_ptrs, 0, private_data_length); -common->optimized_cbracket = ((sljit_u8 *)common->private_data_ptrs) + private_data_length; -#if defined DEBUG_FORCE_UNOPTIMIZED_CBRAS && DEBUG_FORCE_UNOPTIMIZED_CBRAS == 1 -memset(common->optimized_cbracket, 0, re->top_bracket + 1); -#else -memset(common->optimized_cbracket, 1, re->top_bracket + 1); -#endif - -SLJIT_ASSERT(*common->start == OP_BRA && ccend[-(1 + LINK_SIZE)] == OP_KET); -#if defined DEBUG_FORCE_UNOPTIMIZED_CBRAS && DEBUG_FORCE_UNOPTIMIZED_CBRAS == 2 -common->capture_last_ptr = common->ovector_start; -common->ovector_start += sizeof(sljit_sw); -#endif -if (!check_opcode_types(common, common->start, ccend)) - { - SLJIT_FREE(common->private_data_ptrs, allocator_data); - return PCRE2_ERROR_JIT_UNSUPPORTED; - } - -/* Checking flags and updating ovector_start. */ -if (mode == PCRE2_JIT_COMPLETE && - (re->flags & PCRE2_LASTSET) != 0 && - (re->optimization_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) - { - common->req_char_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -if (mode != PCRE2_JIT_COMPLETE) - { - common->start_used_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - if (mode == PCRE2_JIT_PARTIAL_SOFT) - { - common->hit_start = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - } - -if ((re->overall_options & (PCRE2_FIRSTLINE | PCRE2_USE_OFFSET_LIMIT)) != 0) - { - common->match_end_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -#if defined DEBUG_FORCE_CONTROL_HEAD && DEBUG_FORCE_CONTROL_HEAD -common->control_head_ptr = 1; -#endif - -if (common->control_head_ptr != 0) - { - common->control_head_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -if (common->has_set_som) - { - /* Saving the real start pointer is necessary. */ - common->start_ptr = common->ovector_start; - common->ovector_start += sizeof(sljit_sw); - } - -/* Aligning ovector to even number of sljit words. */ -if ((common->ovector_start & sizeof(sljit_sw)) != 0) - common->ovector_start += sizeof(sljit_sw); - -if (common->start_ptr == 0) - common->start_ptr = OVECTOR(0); - -/* Capturing brackets cannot be optimized if callouts are allowed. */ -if (common->capture_last_ptr != 0) - memset(common->optimized_cbracket, 0, re->top_bracket + 1); - -SLJIT_ASSERT(!(common->req_char_ptr != 0 && common->start_used_ptr != 0)); -common->cbra_ptr = OVECTOR_START + (re->top_bracket + 1) * 2 * sizeof(sljit_sw); -private_data_size = common->cbra_ptr + (re->top_bracket + 1) * sizeof(sljit_sw); - -if ((re->overall_options & PCRE2_ANCHORED) == 0 && - (re->optimization_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0 && - !common->has_skip_in_assert_back) - detect_early_fail(common, common->start, &private_data_size, 0, 0); - -set_private_data_ptrs(common, &private_data_size, ccend); - -SLJIT_ASSERT(common->early_fail_start_ptr <= common->early_fail_end_ptr); - -if (private_data_size > 65536) - { - SLJIT_FREE(common->private_data_ptrs, allocator_data); - return PCRE2_ERROR_JIT_UNSUPPORTED; - } - -if (common->has_then) - { - total_length = ccend - common->start; - common->then_offsets = (sljit_u8 *)SLJIT_MALLOC(total_length, allocator_data); - if (!common->then_offsets) - { - SLJIT_FREE(common->private_data_ptrs, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - memset(common->then_offsets, 0, total_length); - set_then_offsets(common, common->start, NULL); - } - -compiler = sljit_create_compiler(allocator_data); -if (!compiler) - { - SLJIT_FREE(common->private_data_ptrs, allocator_data); - if (common->has_then) - SLJIT_FREE(common->then_offsets, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } -common->compiler = compiler; - -/* Main pcre2_jit_exec entry. */ -SLJIT_ASSERT((private_data_size & (sizeof(sljit_sw) - 1)) == 0); -sljit_emit_enter(compiler, 0, SLJIT_ARGS1(W, W), 5 | SLJIT_ENTER_VECTOR(SLJIT_NUMBER_OF_SCRATCH_VECTOR_REGISTERS), 5, private_data_size); - -/* Register init. */ -reset_ovector(common, (re->top_bracket + 1) * 2); -if (common->req_char_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->req_char_ptr, SLJIT_R0, 0); - -OP1(SLJIT_MOV, ARGUMENTS, 0, SLJIT_S0, 0); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_S0, 0); -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); -OP1(SLJIT_MOV, STR_END, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, end)); -OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, stack)); -OP1(SLJIT_MOV_U32, TMP1, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, limit_match)); -OP1(SLJIT_MOV, STACK_TOP, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(struct sljit_stack, end)); -OP1(SLJIT_MOV, STACK_LIMIT, 0, SLJIT_MEM1(TMP2), SLJIT_OFFSETOF(struct sljit_stack, start)); -OP2(SLJIT_ADD, TMP1, 0, TMP1, 0, SLJIT_IMM, 1); -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LIMIT_MATCH, TMP1, 0); - -if (common->early_fail_start_ptr < common->early_fail_end_ptr) - reset_early_fail(common); - -if (mode == PCRE2_JIT_PARTIAL_SOFT) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, -1); -if (common->mark_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->mark_ptr, SLJIT_IMM, 0); -if (common->control_head_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->control_head_ptr, SLJIT_IMM, 0); - -/* Main part of the matching */ -if ((re->overall_options & PCRE2_ANCHORED) == 0) - { - mainloop_label = mainloop_entry(common); - continue_match_label = LABEL(); - /* Forward search if possible. */ - if ((re->optimization_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) - { - if (mode == PCRE2_JIT_COMPLETE && fast_forward_first_n_chars(common)) - ; - else if ((re->flags & PCRE2_FIRSTSET) != 0) - fast_forward_first_char(common); - else if ((re->flags & PCRE2_STARTLINE) != 0) - fast_forward_newline(common); - else if ((re->flags & PCRE2_FIRSTMAPSET) != 0) - fast_forward_start_bits(common); - } - } -else - continue_match_label = LABEL(); - -if (mode == PCRE2_JIT_COMPLETE && re->minlength > 0 && - (re->optimization_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) - { - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_NOMATCH); - OP2(SLJIT_ADD, TMP2, 0, STR_PTR, 0, SLJIT_IMM, IN_UCHARS(re->minlength)); - minlength_check_failed = CMP(SLJIT_GREATER, TMP2, 0, STR_END, 0); - } -if (common->req_char_ptr != 0) - reqcu_not_found = search_requested_char(common, (PCRE2_UCHAR)(re->last_codeunit), (re->flags & PCRE2_LASTCASELESS) != 0, (re->flags & PCRE2_FIRSTSET) != 0); - -/* Store the current STR_PTR in OVECTOR(0). */ -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), OVECTOR(0), STR_PTR, 0); -/* Copy the limit of allowed recursions. */ -OP1(SLJIT_MOV, COUNT_MATCH, 0, SLJIT_MEM1(SLJIT_SP), LIMIT_MATCH); -if (common->capture_last_ptr != 0) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->capture_last_ptr, SLJIT_IMM, 0); -if (common->fast_forward_bc_ptr != NULL) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), PRIVATE_DATA(common->fast_forward_bc_ptr + 1) >> 3, STR_PTR, 0); - -if (common->start_ptr != OVECTOR(0)) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_ptr, STR_PTR, 0); - -/* Copy the beginning of the string. */ -if (mode == PCRE2_JIT_PARTIAL_SOFT) - { - jump = CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, -1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - JUMPHERE(jump); - } -else if (mode == PCRE2_JIT_PARTIAL_HARD) - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, STR_PTR, 0); - -compile_matchingpath(common, common->start, ccend, &rootbacktrack); -if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - { - sljit_free_compiler(compiler); - SLJIT_FREE(common->private_data_ptrs, allocator_data); - if (common->has_then) - SLJIT_FREE(common->then_offsets, allocator_data); - PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - -if ((re->overall_options & PCRE2_ENDANCHORED) != 0) - end_anchor_failed = CMP(SLJIT_NOT_EQUAL, STR_PTR, 0, STR_END, 0); - -if (common->might_be_empty) - { - empty_match = CMP(SLJIT_EQUAL, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), OVECTOR(0)); - empty_match_found_label = LABEL(); - } - -common->accept_label = LABEL(); -if (common->accept != NULL) - set_jumps(common->accept, common->accept_label); - -/* This means we have a match. Update the ovector. */ -copy_ovector(common, re->top_bracket + 1); -common->quit_label = common->abort_label = LABEL(); -if (common->quit != NULL) - set_jumps(common->quit, common->quit_label); -if (common->abort != NULL) - set_jumps(common->abort, common->abort_label); -if (minlength_check_failed != NULL) - SET_LABEL(minlength_check_failed, common->abort_label); - -sljit_emit_op0(compiler, SLJIT_SKIP_FRAMES_BEFORE_RETURN); -sljit_emit_return(compiler, SLJIT_MOV, SLJIT_RETURN_REG, 0); - -if (common->failed_match != NULL) - { - SLJIT_ASSERT(common->mode == PCRE2_JIT_COMPLETE); - set_jumps(common->failed_match, LABEL()); - OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_NOMATCH); - JUMPTO(SLJIT_JUMP, common->abort_label); - } - -if ((re->overall_options & PCRE2_ENDANCHORED) != 0) - JUMPHERE(end_anchor_failed); - -if (mode != PCRE2_JIT_COMPLETE) - { - common->partialmatchlabel = LABEL(); - set_jumps(common->partialmatch, common->partialmatchlabel); - return_with_partial_match(common, common->quit_label); - } - -if (common->might_be_empty) - empty_match_backtrack_label = LABEL(); -compile_backtrackingpath(common, rootbacktrack.top); -if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - { - sljit_free_compiler(compiler); - SLJIT_FREE(common->private_data_ptrs, allocator_data); - if (common->has_then) - SLJIT_FREE(common->then_offsets, allocator_data); - PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - -SLJIT_ASSERT(rootbacktrack.prev == NULL); -reset_match_label = LABEL(); - -if (mode == PCRE2_JIT_PARTIAL_SOFT) - { - /* Update hit_start only in the first time. */ - jump = CMP(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, 0); - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->start_ptr); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->start_used_ptr, SLJIT_IMM, -1); - OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), common->hit_start, TMP1, 0); - JUMPHERE(jump); - } - -/* Check we have remaining characters. */ -if ((re->overall_options & PCRE2_ANCHORED) == 0 && common->match_end_ptr != 0) - { - OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), common->match_end_ptr); - } - -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), - (common->fast_forward_bc_ptr != NULL) ? (PRIVATE_DATA(common->fast_forward_bc_ptr + 1) >> 3) : common->start_ptr); - -if ((re->overall_options & PCRE2_ANCHORED) == 0) - { - if (common->ff_newline_shortcut != NULL) - { - /* There cannot be more newlines if PCRE2_FIRSTLINE is set. */ - if ((re->overall_options & PCRE2_FIRSTLINE) == 0) - { - if (common->match_end_ptr != 0) - { - OP1(SLJIT_MOV, TMP3, 0, STR_END, 0); - OP1(SLJIT_MOV, STR_END, 0, TMP1, 0); - CMPTO(SLJIT_LESS, STR_PTR, 0, TMP1, 0, common->ff_newline_shortcut); - OP1(SLJIT_MOV, STR_END, 0, TMP3, 0); - } - else - CMPTO(SLJIT_LESS, STR_PTR, 0, STR_END, 0, common->ff_newline_shortcut); - } - } - else - CMPTO(SLJIT_LESS, STR_PTR, 0, (common->match_end_ptr == 0) ? STR_END : TMP1, 0, mainloop_label); - } - -/* No more remaining characters. */ -if (reqcu_not_found != NULL) - set_jumps(reqcu_not_found, LABEL()); - -if (mode == PCRE2_JIT_PARTIAL_SOFT) - CMPTO(SLJIT_NOT_EQUAL, SLJIT_MEM1(SLJIT_SP), common->hit_start, SLJIT_IMM, -1, common->partialmatchlabel); - -OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_NOMATCH); -JUMPTO(SLJIT_JUMP, common->quit_label); - -flush_stubs(common); - -if (common->might_be_empty) - { - JUMPHERE(empty_match); - OP1(SLJIT_MOV, TMP1, 0, ARGUMENTS, 0); - OP1(SLJIT_MOV_U32, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, options)); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, PCRE2_NOTEMPTY); - JUMPTO(SLJIT_NOT_ZERO, empty_match_backtrack_label); - OP2U(SLJIT_AND | SLJIT_SET_Z, TMP2, 0, SLJIT_IMM, PCRE2_NOTEMPTY_ATSTART); - JUMPTO(SLJIT_ZERO, empty_match_found_label); - OP1(SLJIT_MOV, TMP2, 0, SLJIT_MEM1(TMP1), SLJIT_OFFSETOF(jit_arguments, str)); - CMPTO(SLJIT_NOT_EQUAL, TMP2, 0, STR_PTR, 0, empty_match_found_label); - JUMPTO(SLJIT_JUMP, empty_match_backtrack_label); - } - -common->fast_forward_bc_ptr = NULL; -common->early_fail_start_ptr = 0; -common->early_fail_end_ptr = 0; -common->currententry = common->entries; -common->local_quit_available = TRUE; -quit_label = common->quit_label; -SLJIT_ASSERT(common->restore_end_ptr == 0); - -if (common->currententry != NULL) - { - /* A free bit for each private data. */ - common->recurse_bitset_size = ((private_data_size / SSIZE_OF(sw)) + 7) >> 3; - SLJIT_ASSERT(common->recurse_bitset_size > 0); - common->recurse_bitset = (sljit_u8*)SLJIT_MALLOC(common->recurse_bitset_size, allocator_data);; - - if (common->recurse_bitset != NULL) - { - do - { - /* Might add new entries. */ - compile_recurse(common); - if (SLJIT_UNLIKELY(sljit_get_compiler_error(compiler))) - break; - flush_stubs(common); - common->currententry = common->currententry->next; - } - while (common->currententry != NULL); - - SLJIT_FREE(common->recurse_bitset, allocator_data); - } - - if (common->currententry != NULL) - { - /* The common->recurse_bitset has been freed. */ - SLJIT_ASSERT(sljit_get_compiler_error(compiler) || common->recurse_bitset == NULL); - - sljit_free_compiler(compiler); - SLJIT_FREE(common->private_data_ptrs, allocator_data); - if (common->has_then) - SLJIT_FREE(common->then_offsets, allocator_data); - PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - } - -common->local_quit_available = FALSE; -common->quit_label = quit_label; -SLJIT_ASSERT(common->restore_end_ptr == 0); - -/* Allocating stack, returns with PCRE2_ERROR_JIT_STACKLIMIT if fails. */ -/* This is a (really) rare case. */ -set_jumps(common->stackalloc, LABEL()); -/* RETURN_ADDR is not a saved register. */ -SLJIT_ASSERT(common->locals_size >= 2 * SSIZE_OF(sw)); -sljit_emit_op_dst(compiler, SLJIT_FAST_ENTER, SLJIT_MEM1(SLJIT_SP), LOCAL0); - -SLJIT_ASSERT(TMP1 == SLJIT_R0 && STR_PTR == SLJIT_R1); - -OP1(SLJIT_MOV, SLJIT_MEM1(SLJIT_SP), LOCAL1, STR_PTR, 0); -OP1(SLJIT_MOV, SLJIT_R0, 0, ARGUMENTS, 0); -OP2(SLJIT_SUB, SLJIT_R1, 0, STACK_LIMIT, 0, SLJIT_IMM, STACK_GROWTH_RATE); -OP1(SLJIT_MOV, SLJIT_R0, 0, SLJIT_MEM1(SLJIT_R0), SLJIT_OFFSETOF(jit_arguments, stack)); -OP1(SLJIT_MOV, STACK_LIMIT, 0, TMP2, 0); - -sljit_emit_icall(compiler, SLJIT_CALL, SLJIT_ARGS2(W, W, W), SLJIT_IMM, SLJIT_FUNC_ADDR(sljit_stack_resize)); - -jump = CMP(SLJIT_EQUAL, SLJIT_RETURN_REG, 0, SLJIT_IMM, 0); -OP1(SLJIT_MOV, TMP2, 0, STACK_LIMIT, 0); -OP1(SLJIT_MOV, STACK_LIMIT, 0, SLJIT_RETURN_REG, 0); -OP1(SLJIT_MOV, TMP1, 0, SLJIT_MEM1(SLJIT_SP), LOCAL0); -OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), LOCAL1); -OP_SRC(SLJIT_FAST_RETURN, TMP1, 0); - -/* Allocation failed. */ -JUMPHERE(jump); -/* We break the return address cache here, but this is a really rare case. */ -OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_JIT_STACKLIMIT); -JUMPTO(SLJIT_JUMP, common->quit_label); - -/* Call limit reached. */ -set_jumps(common->calllimit, LABEL()); -OP1(SLJIT_MOV, SLJIT_RETURN_REG, 0, SLJIT_IMM, PCRE2_ERROR_MATCHLIMIT); -JUMPTO(SLJIT_JUMP, common->quit_label); - -if (common->revertframes != NULL) - { - set_jumps(common->revertframes, LABEL()); - do_revertframes(common); - } -if (common->wordboundary != NULL) - { - set_jumps(common->wordboundary, LABEL()); - check_wordboundary(common, FALSE); - } -if (common->ucp_wordboundary != NULL) - { - set_jumps(common->ucp_wordboundary, LABEL()); - check_wordboundary(common, TRUE); - } -if (common->anynewline != NULL) - { - set_jumps(common->anynewline, LABEL()); - check_anynewline(common); - } -if (common->hspace != NULL) - { - set_jumps(common->hspace, LABEL()); - check_hspace(common); - } -if (common->vspace != NULL) - { - set_jumps(common->vspace, LABEL()); - check_vspace(common); - } -if (common->casefulcmp != NULL) - { - set_jumps(common->casefulcmp, LABEL()); - do_casefulcmp(common); - } -if (common->caselesscmp != NULL) - { - set_jumps(common->caselesscmp, LABEL()); - do_caselesscmp(common); - } -if (common->reset_match != NULL || common->restart_match != NULL) - { - if (common->restart_match != NULL) - { - set_jumps(common->restart_match, LABEL()); - OP1(SLJIT_MOV, STR_PTR, 0, SLJIT_MEM1(SLJIT_SP), common->start_ptr); - } - - set_jumps(common->reset_match, LABEL()); - do_reset_match(common, (re->top_bracket + 1) * 2); - /* The value of restart_match is in TMP1. */ - CMPTO(SLJIT_GREATER, STR_PTR, 0, TMP1, 0, continue_match_label); - OP1(SLJIT_MOV, STR_PTR, 0, TMP1, 0); - JUMPTO(SLJIT_JUMP, reset_match_label); - } -#ifdef SUPPORT_UNICODE -#if PCRE2_CODE_UNIT_WIDTH == 8 -if (common->utfreadchar != NULL) - { - set_jumps(common->utfreadchar, LABEL()); - do_utfreadchar(common); - } -if (common->utfreadtype8 != NULL) - { - set_jumps(common->utfreadtype8, LABEL()); - do_utfreadtype8(common); - } -if (common->utfpeakcharback != NULL) - { - set_jumps(common->utfpeakcharback, LABEL()); - do_utfpeakcharback(common); - } -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ -#if PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 -if (common->utfreadchar_invalid != NULL) - { - set_jumps(common->utfreadchar_invalid, LABEL()); - do_utfreadchar_invalid(common); - } -if (common->utfreadnewline_invalid != NULL) - { - set_jumps(common->utfreadnewline_invalid, LABEL()); - do_utfreadnewline_invalid(common); - } -if (common->utfmoveback_invalid) - { - set_jumps(common->utfmoveback_invalid, LABEL()); - do_utfmoveback_invalid(common); - } -if (common->utfpeakcharback_invalid) - { - set_jumps(common->utfpeakcharback_invalid, LABEL()); - do_utfpeakcharback_invalid(common); - } -#endif /* PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 */ -if (common->getucd != NULL) - { - set_jumps(common->getucd, LABEL()); - do_getucd(common); - } -if (common->getucdtype != NULL) - { - set_jumps(common->getucdtype, LABEL()); - do_getucdtype(common); - } -#endif /* SUPPORT_UNICODE */ - -SLJIT_FREE(common->private_data_ptrs, allocator_data); -if (common->has_then) - SLJIT_FREE(common->then_offsets, allocator_data); - -executable_func = sljit_generate_code(compiler, 0, NULL); -executable_size = sljit_get_generated_code_size(compiler); -sljit_free_compiler(compiler); - -if (executable_func == NULL) - { - PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - -/* Reuse the function descriptor if possible. */ -if (re->executable_jit != NULL) - functions = (executable_functions *)re->executable_jit; -else - { - functions = SLJIT_MALLOC(sizeof(executable_functions), allocator_data); - if (functions == NULL) - { - /* This case is highly unlikely since we just recently - freed a lot of memory. Not impossible though. */ - sljit_free_code(executable_func, NULL); - PRIV(jit_free_rodata)(common->read_only_data_head, allocator_data); - return PCRE2_ERROR_NOMEMORY; - } - memset(functions, 0, sizeof(executable_functions)); - functions->top_bracket = re->top_bracket + 1; - functions->limit_match = re->limit_match; - re->executable_jit = functions; - } - -/* Turn mode into an index. */ -if (mode == PCRE2_JIT_COMPLETE) - mode = 0; -else - mode = (mode == PCRE2_JIT_PARTIAL_SOFT) ? 1 : 2; - -SLJIT_ASSERT(mode < JIT_NUMBER_OF_COMPILE_MODES); -functions->executable_funcs[mode] = executable_func; -functions->read_only_data_heads[mode] = common->read_only_data_head; -functions->executable_sizes[mode] = executable_size; -return 0; -} - -#endif - -/************************************************* -* JIT compile a Regular Expression * -*************************************************/ - -/* This function used JIT to convert a previously-compiled pattern into machine -code. - -Arguments: - code a compiled pattern - options JIT option bits - -Returns: 0: success or (*NOJIT) was used - <0: an error code -*/ - -#define PUBLIC_JIT_COMPILE_OPTIONS \ - (PCRE2_JIT_COMPLETE|PCRE2_JIT_PARTIAL_SOFT|PCRE2_JIT_PARTIAL_HARD|PCRE2_JIT_INVALID_UTF) - -PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION -pcre2_jit_compile(pcre2_code *code, uint32_t options) -{ -pcre2_real_code *re = (pcre2_real_code *)code; -#ifdef SUPPORT_JIT -void *exec_memory; -executable_functions *functions; -static int executable_allocator_is_working = -1; - -if (executable_allocator_is_working == -1) - { - /* Checks whether the executable allocator is working. This check - might run multiple times in multi-threaded environments, but the - result should not be affected by it. */ - exec_memory = SLJIT_MALLOC_EXEC(32, NULL); - if (exec_memory != NULL) - { - SLJIT_FREE_EXEC(((sljit_u8*)(exec_memory)) + SLJIT_EXEC_OFFSET(exec_memory), NULL); - executable_allocator_is_working = 1; - } - else executable_allocator_is_working = 0; - } -#endif - -if (options & PCRE2_JIT_TEST_ALLOC) - { - if (options != PCRE2_JIT_TEST_ALLOC) - return PCRE2_ERROR_JIT_BADOPTION; - -#ifdef SUPPORT_JIT - return executable_allocator_is_working ? 0 : PCRE2_ERROR_NOMEMORY; -#else - return PCRE2_ERROR_JIT_UNSUPPORTED; -#endif - } - -if (code == NULL) - return PCRE2_ERROR_NULL; - -if ((options & ~PUBLIC_JIT_COMPILE_OPTIONS) != 0) - return PCRE2_ERROR_JIT_BADOPTION; - -/* Support for invalid UTF was first introduced in JIT, with the option -PCRE2_JIT_INVALID_UTF. Later, support was added to the interpreter, and the -compile-time option PCRE2_MATCH_INVALID_UTF was created. This is now the -preferred feature, with the earlier option deprecated. However, for backward -compatibility, if the earlier option is set, it forces the new option so that -if JIT matching falls back to the interpreter, there is still support for -invalid UTF. However, if this function has already been successfully called -without PCRE2_JIT_INVALID_UTF and without PCRE2_MATCH_INVALID_UTF (meaning that -non-invalid-supporting JIT code was compiled), give an error. - -If in the future support for PCRE2_JIT_INVALID_UTF is withdrawn, the following -actions are needed: - - 1. Remove the definition from pcre2.h.in and from the list in - PUBLIC_JIT_COMPILE_OPTIONS above. - - 2. Replace PCRE2_JIT_INVALID_UTF with a local flag in this module. - - 3. Replace PCRE2_JIT_INVALID_UTF in pcre2_jit_test.c. - - 4. Delete the following short block of code. The setting of "re" and - "functions" can be moved into the JIT-only block below, but if that is - done, (void)re and (void)functions will be needed in the non-JIT case, to - avoid compiler warnings. -*/ - -#ifdef SUPPORT_JIT -functions = (executable_functions *)re->executable_jit; -#endif - -if ((options & PCRE2_JIT_INVALID_UTF) != 0) - { - if ((re->overall_options & PCRE2_MATCH_INVALID_UTF) == 0) - { -#ifdef SUPPORT_JIT - if (functions != NULL) return PCRE2_ERROR_JIT_BADOPTION; -#endif - re->overall_options |= PCRE2_MATCH_INVALID_UTF; - } - } - -/* The above tests are run with and without JIT support. This means that -PCRE2_JIT_INVALID_UTF propagates back into the regex options (ensuring -interpreter support) even in the absence of JIT. But now, if there is no JIT -support, give an error return. */ - -#ifndef SUPPORT_JIT -return PCRE2_ERROR_JIT_BADOPTION; -#else /* SUPPORT_JIT */ - -/* There is JIT support. Do the necessary. */ - -if ((re->flags & PCRE2_NOJIT) != 0) return 0; - -if (!executable_allocator_is_working) - return PCRE2_ERROR_NOMEMORY; - -if ((re->overall_options & PCRE2_MATCH_INVALID_UTF) != 0) - options |= PCRE2_JIT_INVALID_UTF; - -if ((options & PCRE2_JIT_COMPLETE) != 0 && (functions == NULL - || functions->executable_funcs[0] == NULL)) { - uint32_t excluded_options = (PCRE2_JIT_PARTIAL_SOFT | PCRE2_JIT_PARTIAL_HARD); - int result = jit_compile(code, options & ~excluded_options); - if (result != 0) - return result; - } - -if ((options & PCRE2_JIT_PARTIAL_SOFT) != 0 && (functions == NULL - || functions->executable_funcs[1] == NULL)) { - uint32_t excluded_options = (PCRE2_JIT_COMPLETE | PCRE2_JIT_PARTIAL_HARD); - int result = jit_compile(code, options & ~excluded_options); - if (result != 0) - return result; - } - -if ((options & PCRE2_JIT_PARTIAL_HARD) != 0 && (functions == NULL - || functions->executable_funcs[2] == NULL)) { - uint32_t excluded_options = (PCRE2_JIT_COMPLETE | PCRE2_JIT_PARTIAL_SOFT); - int result = jit_compile(code, options & ~excluded_options); - if (result != 0) - return result; - } - -return 0; - -#endif /* SUPPORT_JIT */ -} - -/* JIT compiler uses an all-in-one approach. This improves security, - since the code generator functions are not exported. */ - -#define INCLUDED_FROM_PCRE2_JIT_COMPILE - - -/* End of pcre2_jit_compile.c */ diff --git a/libpcre/src/pcre2_maketables.c b/libpcre/src/pcre2_maketables.c index 0474cc7db..0f6c5110a 100644 --- a/libpcre/src/pcre2_maketables.c +++ b/libpcre/src/pcre2_maketables.c @@ -45,13 +45,13 @@ own as part of the PCRE2 library. It is also included in the compilation of pcre2_dftables.c as a freestanding program, in which case the macro PCRE2_DFTABLES is defined. */ + #ifndef PCRE2_DFTABLES /* Compiling the library */ -# ifdef HAVE_CONFIG_H -# include "config.h" -# endif -# include "pcre2_internal.h" +#include "pcre2_internal.h" #endif + + /************************************************* * Create PCRE2 character tables * *************************************************/ @@ -64,14 +64,15 @@ supplied, but when PCRE2_DFTABLES is defined (when compiling the pcre2_dftables freestanding auxiliary program) malloc() is used, and the function has a different name so as not to clash with the prototype in pcre2.h. -Arguments: none when PCRE2_DFTABLES is defined +Arguments: pointers to character-transforming functions when PCRE2_DFTABLES is + defined; else a PCRE2 general context or NULL -Returns: pointer to the contiguous block of data +Returns: pointer to the contiguous block of data; else NULL if memory allocation failed */ #ifdef PCRE2_DFTABLES /* Included in freestanding pcre2_dftables program */ -static const uint8_t *maketables(void) +static const uint8_t *maketables(int (*charfn_to)(int), int (*charfn_from)(int)) { uint8_t *yield = (uint8_t *)malloc(TABLES_LENGTH); @@ -82,6 +83,9 @@ pcre2_maketables(pcre2_general_context *gcontext) uint8_t *yield = (uint8_t *)((gcontext != NULL)? gcontext->memctl.malloc(TABLES_LENGTH, gcontext->memctl.memory_data) : malloc(TABLES_LENGTH)); + +#define charfn_to(c) (c) +#define charfn_from(c) (c) #endif /* PCRE2_DFTABLES */ int i; @@ -92,13 +96,18 @@ p = yield; /* First comes the lower casing table */ -for (i = 0; i < 256; i++) *p++ = tolower(i); +for (i = 0; i < 256; i++) + { + int c = charfn_from(tolower(charfn_to(i))); + *p++ = (c < 256)? c : i; + } /* Next the case-flipping table */ for (i = 0; i < 256; i++) { - int c = islower(i)? toupper(i) : tolower(i); + int c = charfn_from(islower(charfn_to(i))? toupper(charfn_to(i)) + : tolower(charfn_to(i))); *p++ = (c < 256)? c : i; } @@ -118,17 +127,17 @@ test for alnum specially. */ memset(p, 0, cbit_length); for (i = 0; i < 256; i++) { - if (isdigit(i)) p[cbit_digit + i/8] |= 1u << (i&7); - if (isupper(i)) p[cbit_upper + i/8] |= 1u << (i&7); - if (islower(i)) p[cbit_lower + i/8] |= 1u << (i&7); - if (isalnum(i)) p[cbit_word + i/8] |= 1u << (i&7); - if (i == '_') p[cbit_word + i/8] |= 1u << (i&7); - if (isspace(i)) p[cbit_space + i/8] |= 1u << (i&7); - if (isxdigit(i)) p[cbit_xdigit + i/8] |= 1u << (i&7); - if (isgraph(i)) p[cbit_graph + i/8] |= 1u << (i&7); - if (isprint(i)) p[cbit_print + i/8] |= 1u << (i&7); - if (ispunct(i)) p[cbit_punct + i/8] |= 1u << (i&7); - if (iscntrl(i)) p[cbit_cntrl + i/8] |= 1u << (i&7); + if (isdigit(charfn_to(i))) p[cbit_digit + i/8] |= 1u << (i&7); + if (isupper(charfn_to(i))) p[cbit_upper + i/8] |= 1u << (i&7); + if (islower(charfn_to(i))) p[cbit_lower + i/8] |= 1u << (i&7); + if (isalnum(charfn_to(i))) p[cbit_word + i/8] |= 1u << (i&7); + if (i == CHAR_UNDERSCORE) p[cbit_word + i/8] |= 1u << (i&7); + if (isspace(charfn_to(i))) p[cbit_space + i/8] |= 1u << (i&7); + if (isxdigit(charfn_to(i))) p[cbit_xdigit + i/8] |= 1u << (i&7); + if (isgraph(charfn_to(i))) p[cbit_graph + i/8] |= 1u << (i&7); + if (isprint(charfn_to(i))) p[cbit_print + i/8] |= 1u << (i&7); + if (ispunct(charfn_to(i))) p[cbit_punct + i/8] |= 1u << (i&7); + if (iscntrl(charfn_to(i))) p[cbit_cntrl + i/8] |= 1u << (i&7); } p += cbit_length; @@ -140,11 +149,11 @@ changed at release 8.34 and it's always been this way for PCRE2. */ for (i = 0; i < 256; i++) { int x = 0; - if (isspace(i)) x += ctype_space; - if (isalpha(i)) x += ctype_letter; - if (islower(i)) x += ctype_lcletter; - if (isdigit(i)) x += ctype_digit; - if (isalnum(i) || i == '_') x += ctype_word; + if (isspace(charfn_to(i))) x += ctype_space; + if (isalpha(charfn_to(i))) x += ctype_letter; + if (islower(charfn_to(i))) x += ctype_lcletter; + if (isdigit(charfn_to(i))) x += ctype_digit; + if (isalnum(charfn_to(i)) || i == CHAR_UNDERSCORE) x += ctype_word; *p++ = x; } @@ -152,6 +161,9 @@ return yield; } #ifndef PCRE2_DFTABLES /* Compiling the library */ +#undef charfn_to +#undef charfn_from + PCRE2_EXP_DEFN void PCRE2_CALL_CONVENTION pcre2_maketables_free(pcre2_general_context *gcontext, const uint8_t *tables) { diff --git a/libpcre/src/pcre2_match.c b/libpcre/src/pcre2_match.c index 5adc03480..d5574d721 100644 --- a/libpcre/src/pcre2_match.c +++ b/libpcre/src/pcre2_match.c @@ -39,12 +39,10 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + + /* These defines enable debugging code */ /* #define DEBUG_FRAMES_DISPLAY */ @@ -367,6 +365,10 @@ PCRE2_SIZE length; PCRE2_SPTR eptr; PCRE2_SPTR eptr_start; +#ifndef SUPPORT_UNICODE +(void)caseopts; /* Avoid compiler warning. */ +#endif + /* Deal with an unset group. The default is no match, but there is an option to match an empty string. */ @@ -385,6 +387,7 @@ if (offset >= Foffset_top || Fovector[offset] == PCRE2_UNSET) eptr = eptr_start = Feptr; p = mb->start_subject + Fovector[offset]; length = Fovector[offset+1] - Fovector[offset]; +PCRE2_ASSERT(eptr <= mb->end_subject); if (caseless) { @@ -404,7 +407,7 @@ if (caseless) bytes in UTF-8); a sequence of 3 of the former uses 6 bytes, as does a sequence of two of the latter. It is important, therefore, to check the length along the reference, not along the subject (earlier code did this - wrong). UCP without uses Unicode properties but without UTF encoding. */ + wrong). UCP uses Unicode properties but without UTF encoding. */ while (p < endptr) { @@ -483,8 +486,8 @@ else else { - if ((PCRE2_SIZE)(mb->end_subject - eptr) < length) return 1; /* Partial */ - if (memcmp(p, eptr, CU2BYTES(length)) != 0) return -1; /* No match */ + if ((PCRE2_SIZE)(mb->end_subject - eptr) < length || + memcmp(p, eptr, CU2BYTES(length)) != 0) return -1; /* No match */ eptr += length; } } @@ -495,6 +498,75 @@ return 0; /* Match */ +/************************************************* +* Restore offsets after a recurse * +*************************************************/ + +/* This function restores the ovector values when +a recursive block reaches its end, and the triggering +recurse has and argument list. + +Arguments: + F the current backtracking frame pointer + P the previous backtracking frame pointer +*/ + +static void +recurse_update_offsets(heapframe *F, heapframe *P) +{ +PCRE2_SIZE *dst = F->ovector; +PCRE2_SIZE *src = P->ovector; +/* The first bracket has offset 2, because +offset 0 is reserved for the full match. */ +PCRE2_SIZE offset = 2; +PCRE2_SIZE offset_top = Foffset_top + 2; +PCRE2_SIZE diff; +PCRE2_SPTR ecode = Fecode; + +do + { + diff = (GET2(ecode, 1) << 1) - offset; + ecode += 1 + IMM2_SIZE; + + if (offset + diff >= offset_top) + { + /* Some OP_CREF opcodes are not + processed, they must be skipped. */ + while (*ecode == OP_CREF) ecode += 1 + IMM2_SIZE; + break; + } + + if (diff == 2) + { + dst[0] = src[0]; + dst[1] = src[1]; + } + else if (diff >= 4) + memcpy(dst, src, diff * sizeof(PCRE2_SIZE)); + + /* Skip the unmodified entry. */ + diff += 2; + offset += diff; + dst += diff; + src += diff; + } +while (*ecode == OP_CREF); + +diff = offset_top - offset; +if (diff == 2) + { + dst[0] = src[0]; + dst[1] = src[1]; + } +else if (diff >= 4) + memcpy(dst, src, diff * sizeof(PCRE2_SIZE)); + +Fecode = ecode; +Foffset_top = (offset <= P->offset_top) ? P->offset_top : (offset - 2); +} + + + /****************************************************************************** ******************************************************************************* "Recursion" in the match() function @@ -898,7 +970,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, Fecode += 1 + LINK_SIZE; continue; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* OP_END itself can never be reached within a recursion because that is picked up when the OP_KET that always precedes OP_END is reached. */ @@ -938,11 +1010,28 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } #ifdef DEBUG_SHOW_OPS - fprintf(stderr, "++ Failed ACCEPT not at end (endanchnored set)\n"); + fprintf(stderr, "++ Failed ACCEPT not at end (endanchored set)\n"); #endif return MATCH_NOMATCH; /* (*ACCEPT) */ } + /* Fail if we detect that the start position was moved to be either after + the end position (\K in lookahead) or before the start offset (\K in + lookbehind). If this occurs, the pattern must have used \K in a somewhat + sneaky way (e.g. by pattern recursion), because if the \K is actually + syntactically inside the lookaround, it's blocked at compile-time. */ + + if (Fstart_match < mb->start_subject + mb->start_offset || + Fstart_match > Feptr) + { + /* The \K expression is fairly rare. We assert it was used so that we + catch any unexpected invalid data in start_match. */ + PCRE2_ASSERT(mb->hasbsk); + + if (!mb->allowlookaroundbsk) + return PCRE2_ERROR_BAD_BACKSLASH_K; + } + /* We have a successful match of the whole pattern. Record the result and then do a direct return from the function. If there is space in the offset vector, set any pairs that follow the highest-numbered captured string but @@ -982,7 +1071,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, mb->hitend = TRUE; if (mb->partial > 1) return PCRE2_ERROR_PARTIAL; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* Match any single character whatsoever. */ @@ -2779,9 +2868,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, /* This should never occur */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } Fecode += 3; @@ -3130,9 +3221,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, /* This should not occur */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } } @@ -3406,9 +3499,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } /* End switch(Lctype) */ else @@ -3659,9 +3754,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } } @@ -3945,9 +4042,12 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, PCRE2_UNREACHABLE(); /* Control never reaches here */ /* This should never occur */ + + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } } @@ -4100,9 +4200,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, RRETURN(MATCH_NOMATCH); break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } } } @@ -4245,9 +4347,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, RRETURN(MATCH_NOMATCH); break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } } } @@ -4514,9 +4618,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } /* Feptr is now past the end of the maximum run */ @@ -4833,9 +4939,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } if (reptype == REPTYPE_POS) continue; /* No backtracking */ @@ -5091,9 +5199,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, } break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } if (reptype == REPTYPE_POS) continue; /* No backtracking */ @@ -5824,6 +5934,9 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, assert_accept_frame->offset_top * sizeof(PCRE2_SIZE)); Foffset_top = assert_accept_frame->offset_top; Fmark = assert_accept_frame->mark; + mb->end_subject = Lsaved_end_subject; + mb->true_end_subject = mb->end_subject + Ltrue_end_extra; + mb->moptions = Lsaved_moptions; break; } @@ -5987,7 +6100,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, assert_accept_frame->offset_top * sizeof(PCRE2_SIZE)); Foffset_top = assert_accept_frame->offset_top; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* In the case of a match, the captures have already been put into the current frame. */ @@ -6260,12 +6373,18 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, /* Reinstate the previous set of captures and then carry on after the recursion call. */ - memcpy((char *)F + offsetof(heapframe, ovector), P->ovector, - Foffset_top * sizeof(PCRE2_SIZE)); - Foffset_top = P->offset_top; + Fecode = P->ecode + 1 + LINK_SIZE; + + if (*Fecode != OP_CREF) + { + memcpy(F->ovector, P->ovector, Foffset_top * sizeof(PCRE2_SIZE)); + Foffset_top = P->offset_top; + } + else + recurse_update_offsets(F, P); + Fcapture_last = P->capture_last; Fcurrent_recurse = P->current_recurse; - Fecode = P->ecode + 1 + LINK_SIZE; continue; /* With next opcode */ case OP_COND: /* No need to do anything for these */ @@ -6279,7 +6398,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, case OP_ASSERTBACK_NA: if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr) RRETURN(MATCH_NOMATCH); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_ASSERT_NA: if (Feptr > mb->last_used_ptr) mb->last_used_ptr = Feptr; @@ -6293,12 +6412,12 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, case OP_ASSERTBACK: if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr) RRETURN(MATCH_NOMATCH); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_ASSERT: if (Feptr > mb->last_used_ptr) mb->last_used_ptr = Feptr; Feptr = P->eptr; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* For an atomic group, discard internal backtracking points. We must also ensure that any remaining branches within the top-level of the group @@ -6322,7 +6441,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, case OP_ASSERTBACK_NOT: if (branch_start[1 + LINK_SIZE] == OP_VREVERSE && Feptr != P->eptr) RRETURN(MATCH_NOMATCH); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_ASSERT_NOT: RRETURN(MATCH_MATCH); @@ -6367,12 +6486,18 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, if (Fcurrent_recurse == number) { P = (heapframe *)((char *)N - frame_size); - memcpy((char *)F + offsetof(heapframe, ovector), P->ovector, - Foffset_top * sizeof(PCRE2_SIZE)); - Foffset_top = P->offset_top; + Fecode = P->ecode + 1 + LINK_SIZE; + + if (*Fecode != OP_CREF) + { + memcpy(F->ovector, P->ovector, Foffset_top * sizeof(PCRE2_SIZE)); + Foffset_top = P->offset_top; + } + else + recurse_update_offsets(F, P); + Fcapture_last = P->capture_last; Fcurrent_recurse = P->current_recurse; - Fecode = P->ecode + 1 + LINK_SIZE; continue; /* With next opcode */ } @@ -6450,7 +6575,7 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, if ((mb->moptions & PCRE2_NOTEOL) != 0) RRETURN(MATCH_NOMATCH); if ((mb->poptions & PCRE2_DOLLAR_ENDONLY) == 0) goto ASSERT_NL_OR_EOS; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* Unconditional end of subject assertion (\z). */ case OP_EOD: @@ -6748,9 +6873,11 @@ fprintf(stderr, "++ %2ld op=%3d %s\n", Fecode - mb->start_code, *Fecode, /* There's been some horrible disaster. Arrival here can only mean there is something seriously wrong in the code above or the OP_xxx definitions. */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } /* Do not insert any code in here without much thought; it is assumed @@ -6798,9 +6925,11 @@ switch (Freturn_id) LBL(221) LBL(222) LBL(223) LBL(224) #endif + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } #undef LBL } @@ -6836,9 +6965,9 @@ pcre2_match(const pcre2_code *code, PCRE2_SPTR subject, PCRE2_SIZE length, pcre2_match_context *mcontext) { int rc; -int was_zero_terminated = 0; const uint8_t *start_bits = NULL; const pcre2_real_code *re = (const pcre2_real_code *)code; +uint32_t original_options = options; BOOL anchored; BOOL firstline; @@ -6856,6 +6985,8 @@ PCRE2_UCHAR first_cu2 = 0; PCRE2_UCHAR req_cu = 0; PCRE2_UCHAR req_cu2 = 0; +PCRE2_UCHAR null_str[1] = { 0xcd }; +PCRE2_SPTR original_subject = subject; PCRE2_SPTR bumpalong_limit; PCRE2_SPTR end_subject; PCRE2_SPTR true_end_subject; @@ -6894,33 +7025,35 @@ match_block *mb = &actual_match_block; /* Recognize NULL, length 0 as an empty string. */ -if (subject == NULL && length == 0) subject = (PCRE2_SPTR)""; +if (subject == NULL && length == 0) subject = null_str; /* Plausibility checks */ -if ((options & ~PUBLIC_MATCH_OPTIONS) != 0) return PCRE2_ERROR_BADOPTION; -if (code == NULL || subject == NULL || match_data == NULL) - return PCRE2_ERROR_NULL; +if (match_data == NULL) return PCRE2_ERROR_NULL; +if (code == NULL || subject == NULL) + return match_data->rc = PCRE2_ERROR_NULL; +if ((options & ~PUBLIC_MATCH_OPTIONS) != 0) + return match_data->rc = PCRE2_ERROR_BADOPTION; start_match = subject + start_offset; req_cu_ptr = start_match - 1; if (length == PCRE2_ZERO_TERMINATED) { length = PRIV(strlen)(subject); - was_zero_terminated = 1; } true_end_subject = end_subject = subject + length; -if (start_offset > length) return PCRE2_ERROR_BADOFFSET; +if (start_offset > length) return match_data->rc = PCRE2_ERROR_BADOFFSET; /* Check that the first field in the block is the magic number. */ -if (re->magic_number != MAGIC_NUMBER) return PCRE2_ERROR_BADMAGIC; +if (re->magic_number != MAGIC_NUMBER) + return match_data->rc = PCRE2_ERROR_BADMAGIC; /* Check the code unit width. */ if ((re->flags & PCRE2_MODE_MASK) != PCRE2_CODE_UNIT_WIDTH/8) - return PCRE2_ERROR_BADMODE; + return match_data->rc = PCRE2_ERROR_BADMODE; /* PCRE2_NOTEMPTY and PCRE2_NOTEMPTY_ATSTART are match-time flags in the options variable for this function. Users of PCRE2 who are not calling the @@ -6967,17 +7100,18 @@ time. */ if (mb->partial != 0 && ((re->overall_options | options) & PCRE2_ENDANCHORED) != 0) - return PCRE2_ERROR_BADOPTION; + return match_data->rc = PCRE2_ERROR_BADOPTION; /* It is an error to set an offset limit without setting the flag at compile time. */ if (mcontext != NULL && mcontext->offset_limit != PCRE2_UNSET && (re->overall_options & PCRE2_USE_OFFSET_LIMIT) == 0) - return PCRE2_ERROR_BADOFFSETLIMIT; + return match_data->rc = PCRE2_ERROR_BADOFFSETLIMIT; /* If the match data block was previously used with PCRE2_COPY_MATCHED_SUBJECT, -free the memory that was obtained. Set the field to NULL for no match cases. */ +free the memory that was obtained. Set the field to NULL for match error +cases. */ if ((match_data->flags & PCRE2_MD_COPIED_SUBJECT) != 0) { @@ -7014,11 +7148,11 @@ if (use_jit) #if PCRE2_CODE_UNIT_WIDTH != 32 if (start_match < end_subject && NOT_FIRSTCU(*start_match)) { - if (start_offset > 0) return PCRE2_ERROR_BADUTFOFFSET; + if (start_offset > 0) return match_data->rc = PCRE2_ERROR_BADUTFOFFSET; #if PCRE2_CODE_UNIT_WIDTH == 8 - return PCRE2_ERROR_UTF8_ERR20; /* Isolated 0x80 byte */ + return match_data->rc = PCRE2_ERROR_UTF8_ERR20; /* Isolated 0x80 byte */ #else - return PCRE2_ERROR_UTF16_ERR3; /* Isolated low surrogate */ + return match_data->rc = PCRE2_ERROR_UTF16_ERR3; /* Isolated low surrogate */ #endif } #endif /* WIDTH != 32 */ @@ -7053,12 +7187,12 @@ if (use_jit) /* Validate the relevant portion of the subject. Adjust the offset of an invalid code point to be an absolute offset in the whole string. */ - match_data->rc = PRIV(valid_utf)(start_match, + rc = PRIV(valid_utf)(start_match, length - (start_match - subject), &(match_data->startchar)); - if (match_data->rc != 0) + if (rc != 0) { match_data->startchar += start_match - subject; - return match_data->rc; + return match_data->rc = rc; } jit_checked_utf = TRUE; } @@ -7071,16 +7205,27 @@ if (use_jit) match_data, mcontext); if (rc != PCRE2_ERROR_JIT_BADOPTION) { - match_data->subject_length = length; + match_data->options = original_options; if (rc >= 0 && (options & PCRE2_COPY_MATCHED_SUBJECT) != 0) { - length = CU2BYTES(length + was_zero_terminated); - match_data->subject = match_data->memctl.malloc(length, - match_data->memctl.memory_data); - if (match_data->subject == NULL) return PCRE2_ERROR_NOMEMORY; - memcpy((void *)match_data->subject, subject, length); + if (length != 0) + { + match_data->subject = match_data->memctl.malloc(CU2BYTES(length), + match_data->memctl.memory_data); + if (match_data->subject == NULL) + return match_data->rc = PCRE2_ERROR_NOMEMORY; + memcpy((void *)match_data->subject, subject, CU2BYTES(length)); + } + else + match_data->subject = NULL; match_data->flags |= PCRE2_MD_COPIED_SUBJECT; } + else + { + /* When pcre2_jit_match sets the subject, it doesn't know what the + original passed-in pointer was. */ + if (match_data->subject != NULL) match_data->subject = original_subject; + } return rc; } } @@ -7137,11 +7282,11 @@ if (utf && } else if (start_match < end_subject && NOT_FIRSTCU(*start_match)) { - if (start_offset > 0) return PCRE2_ERROR_BADUTFOFFSET; + if (start_offset > 0) return match_data->rc = PCRE2_ERROR_BADUTFOFFSET; #if PCRE2_CODE_UNIT_WIDTH == 8 - return PCRE2_ERROR_UTF8_ERR20; /* Isolated 0x80 byte */ + return match_data->rc = PCRE2_ERROR_UTF8_ERR20; /* Isolated 0x80 byte */ #else - return PCRE2_ERROR_UTF16_ERR3; /* Isolated low surrogate */ + return match_data->rc = PCRE2_ERROR_UTF16_ERR3; /* Isolated low surrogate */ #endif } #endif /* WIDTH != 32 */ @@ -7189,10 +7334,10 @@ if (utf && for (;;) { - match_data->rc = PRIV(valid_utf)(mb->check_subject, + rc = PRIV(valid_utf)(mb->check_subject, length - (mb->check_subject - subject), &(match_data->startchar)); - if (match_data->rc == 0) break; /* Valid UTF string */ + if (rc == 0) break; /* Valid UTF string */ /* Invalid UTF string. Adjust the offset to be an absolute offset in the whole string. If we are handling invalid UTF strings, set end_subject to @@ -7200,7 +7345,7 @@ if (utf && Otherwise return the error. */ match_data->startchar += mb->check_subject - subject; - if (!allow_invalid || match_data->rc > 0) return match_data->rc; + if (!allow_invalid || rc > 0) return match_data->rc = rc; end_subject = subject + match_data->startchar; /* If the end precedes start_match, it means there is invalid UTF in the @@ -7265,8 +7410,11 @@ mb->start_offset = start_offset; mb->end_subject = end_subject; mb->true_end_subject = true_end_subject; mb->hasthen = (re->flags & PCRE2_HASTHEN) != 0; +mb->hasbsk = (re->flags & PCRE2_HASBSK) != 0; mb->allowemptypartial = (re->max_lookbehind > 0) || (re->flags & PCRE2_MATCH_EMPTY) != 0; +mb->allowlookaroundbsk = + (re->extra_options & PCRE2_EXTRA_ALLOW_LOOKAROUND_BSK) != 0; mb->poptions = re->overall_options; /* Pattern options */ mb->ignore_skip_arg = 0; mb->mark = mb->nomatch_mark = NULL; /* In case never set */ @@ -7314,9 +7462,11 @@ switch(re->newline_convention) mb->nltype = NLTYPE_ANYCRLF; break; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); - return PCRE2_ERROR_INTERNAL; + return match_data->rc = PCRE2_ERROR_INTERNAL; + /* LCOV_EXCL_STOP */ } /* The backtracking frames have fixed data at the front, and a PCRE2_SIZE @@ -7358,7 +7508,7 @@ if (heapframes_size < START_FRAMES_SIZE) heapframes_size = START_FRAMES_SIZE; if (heapframes_size / 1024 > mb->heap_limit) { PCRE2_SIZE max_size = 1024 * mb->heap_limit; - if (max_size < frame_size) return PCRE2_ERROR_HEAPLIMIT; + if (max_size < frame_size) return match_data->rc = PCRE2_ERROR_HEAPLIMIT; heapframes_size = max_size; } @@ -7374,7 +7524,7 @@ if (match_data->heapframes_size < heapframes_size) if (match_data->heapframes == NULL) { match_data->heapframes_size = 0; - return PCRE2_ERROR_NOMEMORY; + return match_data->rc = PCRE2_ERROR_NOMEMORY; } match_data->heapframes_size = heapframes_size; } @@ -7850,7 +8000,7 @@ for(;;) new_start_match = mb->verb_skip_ptr; break; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* NOMATCH and PRUNE advance by one character. THEN at this level acts exactly like PRUNE. Unset ignore SKIP-with-argument. */ @@ -8008,6 +8158,7 @@ if (utf && end_subject != true_end_subject && match_data->code = re; match_data->mark = mb->mark; match_data->matchedby = PCRE2_MATCHEDBY_INTERPRETER; +match_data->options = original_options; /* Handle a fully successful match. Set the return code to the number of captured strings, or 0 if there were too many to fit into the ovector, and then @@ -8019,20 +8170,26 @@ if (rc == MATCH_MATCH) match_data->rc = ((int)mb->end_offset_top >= 2 * match_data->oveccount)? 0 : (int)mb->end_offset_top/2 + 1; match_data->subject_length = length; + match_data->start_offset = start_offset; match_data->startchar = start_match - subject; match_data->leftchar = mb->start_used_ptr - subject; match_data->rightchar = ((mb->last_used_ptr > mb->end_match_ptr)? mb->last_used_ptr : mb->end_match_ptr) - subject; if ((options & PCRE2_COPY_MATCHED_SUBJECT) != 0) { - length = CU2BYTES(length + was_zero_terminated); - match_data->subject = match_data->memctl.malloc(length, - match_data->memctl.memory_data); - if (match_data->subject == NULL) return PCRE2_ERROR_NOMEMORY; - memcpy((void *)match_data->subject, subject, length); + if (length != 0) + { + match_data->subject = match_data->memctl.malloc(CU2BYTES(length), + match_data->memctl.memory_data); + if (match_data->subject == NULL) + return match_data->rc = PCRE2_ERROR_NOMEMORY; + memcpy((void *)match_data->subject, subject, CU2BYTES(length)); + } + else + match_data->subject = NULL; match_data->flags |= PCRE2_MD_COPIED_SUBJECT; } - else match_data->subject = subject; + else match_data->subject = original_subject; return match_data->rc; } @@ -8054,8 +8211,9 @@ PCRE2_ERROR_PARTIAL. */ else if (match_partial != NULL) { - match_data->subject = subject; + match_data->subject = original_subject; match_data->subject_length = length; + match_data->start_offset = start_offset; match_data->ovector[0] = match_partial - subject; match_data->ovector[1] = end_subject - subject; match_data->startchar = match_partial - subject; @@ -8066,7 +8224,13 @@ else if (match_partial != NULL) /* Else this is the classic nomatch case. */ -else match_data->rc = PCRE2_ERROR_NOMATCH; +else + { + match_data->subject = original_subject; + match_data->subject_length = length; + match_data->start_offset = start_offset; + match_data->rc = PCRE2_ERROR_NOMATCH; + } return match_data->rc; } diff --git a/libpcre/src/pcre2_match_data.c b/libpcre/src/pcre2_match_data.c index 100e7c9d9..fade67ae5 100644 --- a/libpcre/src/pcre2_match_data.c +++ b/libpcre/src/pcre2_match_data.c @@ -39,10 +39,6 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" @@ -85,6 +81,7 @@ PCRE2_EXP_DEFN pcre2_match_data * PCRE2_CALL_CONVENTION pcre2_match_data_create_from_pattern(const pcre2_code *code, pcre2_general_context *gcontext) { +if (code == NULL) return NULL; if (gcontext == NULL) gcontext = (pcre2_general_context *)code; return pcre2_match_data_create(((const pcre2_real_code *)code)->top_bracket + 1, gcontext); diff --git a/libpcre/src/pcre2_match_next.c b/libpcre/src/pcre2_match_next.c new file mode 100644 index 000000000..ecd21d380 --- /dev/null +++ b/libpcre/src/pcre2_match_next.c @@ -0,0 +1,171 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2016-2024 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * 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. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. +----------------------------------------------------------------------------- +*/ + + +#include "pcre2_internal.h" + + + +/* Advance the offset by one code unit, and return the new value. +It is only called when the offset is not at the end of the subject. */ + +static PCRE2_SIZE do_bumpalong(pcre2_match_data *match_data, + PCRE2_SIZE offset) +{ +PCRE2_SPTR subject = match_data->subject; +PCRE2_SIZE subject_length = match_data->subject_length; +#ifdef SUPPORT_UNICODE +BOOL utf = (match_data->code->overall_options & PCRE2_UTF) != 0; +#endif + +/* Skip over CRLF as an atomic sequence, if CRLF is configured as a newline +sequence. */ + +if (subject[offset] == CHAR_CR && offset + 1 < subject_length && + subject[offset + 1] == CHAR_LF) + { + switch(match_data->code->newline_convention) + { + case PCRE2_NEWLINE_CRLF: + case PCRE2_NEWLINE_ANY: + case PCRE2_NEWLINE_ANYCRLF: + return offset + 2; + } + } + +/* Advance by one full character if in UTF mode. */ + +#ifdef SUPPORT_UNICODE +if (utf) + { + PCRE2_SPTR next = subject + offset + 1; + PCRE2_SPTR subject_end = subject + subject_length; + + (void)subject_end; /* Suppress warning; 32-bit FORWARDCHARTEST ignores this */ + FORWARDCHARTEST(next, subject_end); + return next - subject; + } +#endif + +return offset + 1; +} + + + +/************************************************* +* Advance the match * +*************************************************/ + +PCRE2_EXP_DEFN int PCRE2_CALL_CONVENTION +pcre2_next_match(pcre2_match_data *match_data, PCRE2_SIZE *pstart_offset, + uint32_t *poptions) +{ +int rc = match_data->rc; +PCRE2_SIZE start_offset = match_data->start_offset; +PCRE2_SIZE *ovector = match_data->ovector; + +/* Match error, or no match: no further iteration possible. In previous versions +of PCRE2, we recommended that clients use a strategy which involved retrying in +certain cases after PCRE2_ERROR_NOMATCH, but this is no longer required. */ + +if (rc < 0) + return FALSE; + +/* Match succeeded: get the start offset for the next match */ + +/* Although \K can affect the position of ovector[0], there are no ways to do +anything surprising with ovector[1], which must always be >= start_offset. */ + +PCRE2_ASSERT(ovector[1] >= start_offset); + +/* Special handling for patterns which contain \K in a lookaround, which enables +the match start to be pushed back to before the starting search offset +(ovector[0] < start_offset) or after the match ends (ovector[0] > ovector[1]). +This is not a problem if ovector[1] > start_offset, because in this case, we can +just attempt the next match at ovector[1]: we are making progress, which is all +that we require. + +However, if we have ovector[1] == start_offset, then we have a very rare case +which must be handled specially, because it's a non-empty match which +nonetheless fails to make progress through the subject. */ + +if (ovector[0] != start_offset && ovector[1] == start_offset) + { + /* If the match end is at the end of the subject, we are done. */ + + if (start_offset >= match_data->subject_length) + return FALSE; + + /* Otherwise, bump along by one code unit, and do a normal search. */ + + *pstart_offset = do_bumpalong(match_data, ovector[1]); + *poptions = 0; + return TRUE; + } + +/* If the previous match was for an empty string, we are finished if we are at +the end of the subject. Otherwise, arrange to run another match at the same +point to see if a non-empty match can be found. */ + +if (ovector[0] == ovector[1]) + { + /* If the match is at the end of the subject, we are done. */ + + if (ovector[0] >= match_data->subject_length) + return FALSE; + + /* Otherwise, continue at this exact same point, but we must set the flag + which ensures that we don't return the exact same empty match again. */ + + *pstart_offset = ovector[1]; + *poptions = PCRE2_NOTEMPTY_ATSTART; + return TRUE; + } + +/* Finally, we must be in the happy state of a non-empty match, where the end of +the match is further on in the subject than start_offset, so we are easily able +to continue and make progress. */ + +*pstart_offset = ovector[1]; +*poptions = 0; +return TRUE; +} + +/* End of pcre2_match_next.c */ diff --git a/libpcre/src/pcre2_newline.c b/libpcre/src/pcre2_newline.c index 6e9366db9..a7c929921 100644 --- a/libpcre/src/pcre2_newline.c +++ b/libpcre/src/pcre2_newline.c @@ -48,10 +48,6 @@ and NLTYPE_ANY. The full list of Unicode newline characters is taken from http://unicode.org/unicode/reports/tr18/. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" diff --git a/libpcre/src/pcre2_ord2utf.c b/libpcre/src/pcre2_ord2utf.c index a1e9e0880..3b8aead75 100644 --- a/libpcre/src/pcre2_ord2utf.c +++ b/libpcre/src/pcre2_ord2utf.c @@ -43,13 +43,10 @@ POSSIBILITY OF SUCH DAMAGE. into a UTF string. The behaviour is different for each code unit width. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + /* If SUPPORT_UNICODE is not defined, this function will never be called. Supply a dummy function because some compilers do not like empty source modules. */ @@ -83,16 +80,17 @@ PRIV(ord2utf)(uint32_t cvalue, PCRE2_UCHAR *buffer) /* Convert to UTF-8 */ #if PCRE2_CODE_UNIT_WIDTH == 8 -int i, j; +unsigned int i; + for (i = 0; i < PRIV(utf8_table1_size); i++) if ((int)cvalue <= PRIV(utf8_table1)[i]) break; buffer += i; -for (j = i; j > 0; j--) +for (unsigned int j = i; j != 0; j--) { *buffer-- = 0x80 | (cvalue & 0x3f); cvalue >>= 6; } -*buffer = PRIV(utf8_table2)[i] | cvalue; +*buffer = (PCRE2_UCHAR)(PRIV(utf8_table2)[i] | (int)cvalue); return i + 1; /* Convert to UTF-16 */ diff --git a/libpcre/src/pcre2_pattern_info.c b/libpcre/src/pcre2_pattern_info.c index fe4d3c661..e0bd83a90 100644 --- a/libpcre/src/pcre2_pattern_info.c +++ b/libpcre/src/pcre2_pattern_info.c @@ -39,13 +39,10 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + /************************************************* * Return info about compiled pattern * *************************************************/ @@ -292,8 +289,7 @@ if (re->magic_number != MAGIC_NUMBER) return PCRE2_ERROR_BADMAGIC; if ((re->flags & (PCRE2_CODE_UNIT_WIDTH/8)) == 0) return PCRE2_ERROR_BADMODE; cb.version = 0; -cc = (PCRE2_SPTR)((const uint8_t *)re + sizeof(pcre2_real_code)) - + re->name_count * re->name_entry_size; +cc = (PCRE2_SPTR)((uint8_t *)re + re->code_start); while (TRUE) { diff --git a/libpcre/src/pcre2_printint_inc.h b/libpcre/src/pcre2_printint_inc.h new file mode 100644 index 000000000..4dd689e38 --- /dev/null +++ b/libpcre/src/pcre2_printint_inc.h @@ -0,0 +1,1098 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2016-2024 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * 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. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. +----------------------------------------------------------------------------- +*/ + + +/* This module contains a PCRE private debugging function for printing out the +internal form of a compiled regular expression, along with some supporting +local functions. This source file is #included in pcre2test.c at each supported +code unit width, with PCRE2_SUFFIX set appropriately, just like the functions +that comprise the library. It can also optionally be included in +pcre2_compile.c for detailed debugging in error situations. */ + + + +/* Tables of operator names. The same 8-bit table is used for all code unit +widths, so it must be defined only once. The list itself is defined in +pcre2_internal.h, which is #included by pcre2test before this file. */ + +#ifndef OP_LISTS_DEFINED +static const char *OP_names[] = { OP_NAME_LIST }; +STATIC_ASSERT(sizeof(OP_names)/sizeof(*OP_names) == OP_TABLE_LENGTH, OP_names); +#define OP_LISTS_DEFINED +#endif + +/* The functions and tables herein must all have mode-dependent names. */ + +#define OP_lengths PCRE2_SUFFIX(OP_lengths_) +#define get_ucpname PCRE2_SUFFIX(get_ucpname_) +#define pcre2_printint PCRE2_SUFFIX(pcre2_printint_) +#define print_char PCRE2_SUFFIX(print_char_) +#define print_custring PCRE2_SUFFIX(print_custring_) +#define print_custring_bylen PCRE2_SUFFIX(print_custring_bylen_) +#define print_prop PCRE2_SUFFIX(print_prop_) +#define print_char_list PCRE2_SUFFIX(print_char_list_) +#define print_map PCRE2_SUFFIX(print_map_) +#define print_class PCRE2_SUFFIX(print_class_) + +/* Table of sizes for the fixed-length opcodes. It's defined in a macro so that +the definition is next to the definition of the opcodes in pcre2_internal.h. +The contents of the table are, however, mode-dependent. */ + +static const uint8_t OP_lengths[] = { OP_LENGTHS }; +STATIC_ASSERT(sizeof(OP_lengths)/sizeof(*OP_lengths) == OP_TABLE_LENGTH, + PCRE2_SUFFIX(OP_lengths_)); + + +/************************************************* +* Print one character from a string * +*************************************************/ + +/* In UTF mode the character may occupy more than one code unit. + +Arguments: + f file to write to + ptr pointer to first code unit of the character + utf TRUE if string is UTF (will be FALSE if UTF is not supported) + +Returns: number of additional code units used +*/ + +static unsigned int +print_char(FILE *f, PCRE2_SPTR ptr, BOOL utf) +{ +uint32_t c = *ptr; +BOOL one_code_unit = !utf; + +/* If UTF is supported and requested, check for a valid single code unit. */ + +#ifdef SUPPORT_UNICODE +if (utf) + { +#if PCRE2_CODE_UNIT_WIDTH == 8 + one_code_unit = c < 0x80; +#elif PCRE2_CODE_UNIT_WIDTH == 16 + one_code_unit = (c & 0xfc00) != 0xd800; +#else + one_code_unit = (c & 0xfffff800u) != 0xd800u; +#endif /* CODE_UNIT_WIDTH */ + } +#endif /* SUPPORT_UNICODE */ + +/* Handle a valid one-code-unit character at any width. */ + +if (one_code_unit) + { + if (PRINTABLE(c)) + fprintf(f, "%c", CHAR_OUTPUT(c)); + else + { + c = CHAR_OUTPUT_HEX(c); + if (c < 0x80) fprintf(f, "\\x%02x", c); + else fprintf(f, "\\x{%02x}", c); + } + return 0; + } + +/* Code for invalid UTF code units and multi-unit UTF characters is different +for each width. If UTF is not supported, control should never get here, but we +need a return statement to keep the compiler happy. */ + +#ifndef SUPPORT_UNICODE +return 0; +#else + +/* Malformed UTF-8 should occur only if the sanity check has been turned off. +Rather than swallow random bytes, just stop if we hit a bad one. Print it with +\X instead of \x as an indication. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 +if ((c & 0xc0) != 0xc0) + { + fprintf(f, "\\X{%x}", c); /* Invalid starting byte */ + return 0; + } +else + { + int i; + int a = PRIV(utf8_table4)[c & 0x3f]; /* Number of additional bytes */ + int s = 6*a; + c = (c & PRIV(utf8_table3)[a]) << s; + for (i = 1; i <= a; i++) + { + if ((ptr[i] & 0xc0) != 0x80) + { + fprintf(f, "\\X{%x}", c); /* Invalid secondary byte */ + return i - 1; + } + s -= 6; + c |= (ptr[i] & 0x3f) << s; + } + fprintf(f, "\\x{%x}", c); + return a; +} +#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ + +/* UTF-16: rather than swallow a low surrogate, just stop if we hit a bad one. +Print it with \X instead of \x as an indication. */ + +#if PCRE2_CODE_UNIT_WIDTH == 16 +if ((ptr[1] & 0xfc00) != 0xdc00) + { + fprintf(f, "\\X{%x}", c); + return 0; + } +c = (((c & 0x3ff) << 10) | (ptr[1] & 0x3ff)) + 0x10000; +fprintf(f, "\\x{%x}", c); +return 1; +#endif /* PCRE2_CODE_UNIT_WIDTH == 16 */ + +/* For UTF-32 we get here only for a malformed code unit, which should only +occur if the sanity check has been turned off. Print it with \X instead of \x +as an indication. */ + +#if PCRE2_CODE_UNIT_WIDTH == 32 +fprintf(f, "\\X{%x}", c); +return 0; +#endif /* PCRE2_CODE_UNIT_WIDTH == 32 */ +#endif /* SUPPORT_UNICODE */ +} + + + +/************************************************* +* Print string as a list of code units * +*************************************************/ + +/* These take no account of UTF as they always print each individual code unit. +The string is zero-terminated for print_custring(); the length is given for +print_custring_bylen(). + +Arguments: + f file to write to + ptr point to the string + len length for print_custring_bylen() + +Returns: nothing +*/ + +static void +print_custring(FILE *f, PCRE2_SPTR ptr) +{ +while (*ptr != '\0') + { + uint32_t c = *ptr++; + if (PRINTABLE(c)) fprintf(f, "%c", CHAR_OUTPUT(c)); + else fprintf(f, "\\x{%x}", CHAR_OUTPUT_HEX(c)); + } +} + +static void +print_custring_bylen(FILE *f, PCRE2_SPTR ptr, PCRE2_UCHAR len) +{ +for (; len > 0; len--) + { + uint32_t c = *ptr++; + if (PRINTABLE(c)) fprintf(f, "%c", CHAR_OUTPUT(c)); + else fprintf(f, "\\x{%x}", CHAR_OUTPUT_HEX(c)); + } +} + + + +/************************************************* +* Find Unicode property name * +*************************************************/ + +/* When there is no UTF/UCP support, the table of names does not exist. This +function should not be called in such configurations, because a pattern that +tries to use Unicode properties won't compile. Rather than put lots of #ifdefs +into the main code, however, we just put one into this function. + +Now that the table contains both full names and their abbreviations, we do some +fiddling to try to get the full name, which is either the longer of two found +names, or a 3-character script name. */ + +static const char * +get_ucpname(unsigned int ptype, unsigned int pvalue) +{ +#ifdef SUPPORT_UNICODE +int count = 0; +const char *yield = "??"; +size_t len = 0; +unsigned int ptypex = (ptype == PT_SC)? PT_SCX : ptype; + +for (ptrdiff_t i = PRIV(utt_size) - 1; i >= 0; i--) + { + const ucp_type_table *u = PRIV(utt) + i; + + if ((ptype == u->type || ptypex == u->type) && pvalue == u->value) + { + const char *s = PRIV(utt_names) + u->name_offset; + size_t sl = strlen(s); + + if (sl == 3 && (u->type == PT_SC || u->type == PT_SCX)) + { + yield = s; + break; + } + + if (sl > len) + { + yield = s; + len = sl; + } + + if (++count >= 2) break; + } + } + +return yield; + +#else /* No UTF support */ +(void)ptype; +(void)pvalue; +return "??"; +#endif /* SUPPORT_UNICODE */ +} + + + +/************************************************* +* Print Unicode property value * +*************************************************/ + +/* "Normal" properties can be printed from tables. The PT_CLIST property is a +pseudo-property that contains a pointer to a list of case-equivalent +characters. + +Arguments: + f file to write to + code pointer in the compiled code + before text to print before + after text to print after + +Returns: nothing +*/ + +static void +print_prop(FILE *f, PCRE2_SPTR code, const char *before, const char *after) +{ +if (code[1] != PT_CLIST) + { + const char *sc = (code[1] == PT_SC)? "script:" : ""; + const char *s = get_ucpname(code[1], code[2]); + fprintf(f, "%s%s %s%c%s%s", before, OP_names[*code], sc, toupper(s[0]), s+1, after); + } +else + { + const uint32_t *p = PRIV(ucd_caseless_sets) + code[2]; + fprintf (f, "%s%sclist", before, (*code == OP_PROP)? "" : "not "); + while (*p < NOTACHAR) fprintf(f, " %04x", *p++); + fprintf(f, "%s", after); + } +} + + + +/************************************************* +* Print character list * +*************************************************/ + +/* Prints the characters and character ranges in a character list. + +Arguments: + f file to write to + code pointer in the compiled code +*/ + +static PCRE2_SPTR +print_char_list(FILE *f, PCRE2_SPTR code, const uint8_t *char_lists_end) +{ +uint32_t type, list_ind; +uint32_t char_list_add = XCL_CHAR_LIST_LOW_16_ADD; +uint32_t range_start = ~(uint32_t)0, range_end = 0; +const uint8_t *next_char; + +#if PCRE2_CODE_UNIT_WIDTH == 8 +type = (uint32_t)(code[0] << 8) | code[1]; +code += 2; +#else +type = code[0]; +code++; +#endif /* CODE_UNIT_WIDTH */ + +/* Align characters. */ +next_char = char_lists_end - (GET(code, 0) << 1); +type &= XCL_TYPE_MASK; +list_ind = 0; + +if ((type & XCL_BEGIN_WITH_RANGE) != 0) + range_start = XCL_CHAR_LIST_LOW_16_START; + +while (type > 0) + { + uint32_t item_count = type & XCL_ITEM_COUNT_MASK; + + if (item_count == XCL_ITEM_COUNT_MASK) + { + if (list_ind <= 1) + { + item_count = *(const uint16_t*)next_char; + next_char += 2; + } + else + { + item_count = *(const uint32_t*)next_char; + next_char += 4; + } + } + + while (item_count > 0) + { + if (list_ind <= 1) + { + range_end = *(const uint16_t*)next_char; + next_char += 2; + } + else + { + range_end = *(const uint32_t*)next_char; + next_char += 4; + } + + if ((range_end & XCL_CHAR_END) != 0) + { + range_end = char_list_add + (range_end >> XCL_CHAR_SHIFT); + + if (range_start < range_end) + fprintf(f, "\\x{%x}-", range_start); + + fprintf(f, "\\x{%x}", range_end); + range_start = ~(uint32_t)0; + } + else + range_start = char_list_add + (range_end >> XCL_CHAR_SHIFT); + + item_count--; + } + + list_ind++; + type >>= XCL_TYPE_BIT_LEN; + + /* The following code could be optimized to 8/16/32 bit, + but it is not worth it for a debugging function. */ + + if (range_start == ~(uint32_t)0) + { + if ((type & XCL_BEGIN_WITH_RANGE) != 0) + { + if (list_ind == 1) range_start = XCL_CHAR_LIST_HIGH_16_START; + else if (list_ind == 2) range_start = XCL_CHAR_LIST_LOW_32_START; + else range_start = XCL_CHAR_LIST_HIGH_32_START; + } + } + else if ((type & XCL_BEGIN_WITH_RANGE) == 0) + { + fprintf(f, "\\x{%x}-", range_start); + + if (list_ind == 1) range_end = XCL_CHAR_LIST_LOW_16_END; + else if (list_ind == 2) range_end = XCL_CHAR_LIST_HIGH_16_END; + else if (list_ind == 3) range_end = XCL_CHAR_LIST_LOW_32_END; + else range_end = XCL_CHAR_LIST_HIGH_32_END; + + fprintf(f, "\\x{%x}", range_end); + range_start = ~(uint32_t)0; + } + + if (list_ind == 1) char_list_add = XCL_CHAR_LIST_HIGH_16_ADD; + else if (list_ind == 2) char_list_add = XCL_CHAR_LIST_LOW_32_ADD; + else char_list_add = XCL_CHAR_LIST_HIGH_32_ADD; + } + +return code + LINK_SIZE; +} + + + +/************************************************* +* Print a character bitmap * +*************************************************/ + +/* Prints a 32-byte bitmap, which occurs within a character class opcode. + +Arguments: + f file to write to + map pointer to the bitmap + negated TRUE if the bitmap will be printed as negated + +Returns: nothing +*/ + +static void +print_map(FILE *f, const uint8_t *map, BOOL negated) +{ +BOOL first = TRUE; +uint8_t inverted_map[32]; +int i, input; + +if (negated) + { + /* Using 255 ^ instead of ~ avoids clang sanitize warning. */ + for (i = 0; i < 32; i++) inverted_map[i] = 255 ^ map[i]; + map = inverted_map; + } + +for (input = 0; input < 256; input++) + { + i = CHAR_INPUT_HEX(input); + if ((map[i/8] & (1u << (i&7))) != 0) + { + int j, jinput; + for (jinput = input; jinput+1 < 256; jinput++) + { + j = CHAR_INPUT_HEX(jinput+1); + if ((map[j/8] & (1u << (j&7))) == 0) break; + } + j = CHAR_INPUT_HEX(jinput); + if (i == CHAR_MINUS || i == CHAR_BACKSLASH || + i == CHAR_RIGHT_SQUARE_BRACKET || + (first && i == CHAR_CIRCUMFLEX_ACCENT)) + fprintf(f, "\\"); + if (PRINTABLE(i)) fprintf(f, "%c", CHAR_OUTPUT(i)); + else fprintf(f, "\\x%02x", CHAR_OUTPUT_HEX(i)); + first = FALSE; + if (jinput > input) + { + if (jinput != input + 1) fprintf(f, "-"); + if (j == CHAR_MINUS || j == CHAR_BACKSLASH || + j == CHAR_RIGHT_SQUARE_BRACKET) + fprintf(f, "\\"); + if (PRINTABLE(j)) fprintf(f, "%c", CHAR_OUTPUT(j)); + else fprintf(f, "\\x%02x", CHAR_OUTPUT_HEX(j)); + } + input = jinput; + } + } +} + + + +/************************************************* +* Print character class * +*************************************************/ + +/* Prints a character class, which must be either an OP_CLASS, OP_NCLASS, or +OP_XCLASS. + +Arguments: + f file to write to + type OP_CLASS, OP_NCLASS, or OP_XCLASS + code pointer in the compiled code (after the OP tag) + utf TRUE if re is UTF (will be FALSE if UTF is not supported) + before text to print before + after text to print after + +Returns: nothing +*/ + +static void +print_class(FILE *f, int type, PCRE2_SPTR code, const uint8_t *char_lists_end, + BOOL utf, const char *before, const char *after) +{ +BOOL printmap, negated; +PCRE2_SPTR ccode; + +/* Negative XCLASS and NCLASS both have a bitmap indicating which characters +are accepted. For clarity we print this inverted and prefixed by "^". */ +if (type == OP_XCLASS) + { + ccode = code + LINK_SIZE; + printmap = (*ccode & XCL_MAP) != 0; + negated = (*ccode & XCL_NOT) != 0; + ccode++; + } +else /* CLASS or NCLASS */ + { + printmap = TRUE; + negated = type == OP_NCLASS; + ccode = code; + } + +fprintf(f, "%s[%s", before, negated? "^" : ""); + +/* Print a bit map */ +if (printmap) + { + print_map(f, (const uint8_t *)ccode, negated); + ccode += 32 / sizeof(PCRE2_UCHAR); + } + +/* For an XCLASS there is always some additional data */ +if (type == OP_XCLASS) + { + PCRE2_UCHAR ch; + + while ((ch = *ccode++) != XCL_END) + { + const char *notch = ""; + + if (ch >= XCL_LIST) + { + ccode = print_char_list(f, ccode - 1, char_lists_end); + break; + } + + switch(ch) + { + case XCL_NOTPROP: + notch = "^"; + PCRE2_FALLTHROUGH /* Fall through */ + case XCL_PROP: + { + unsigned int ptype = *ccode++; + unsigned int pvalue = *ccode++; + const char *s; + switch(ptype) + { + case PT_PXGRAPH: + fprintf(f, "[:%sgraph:]", notch); + break; + case PT_PXPRINT: + fprintf(f, "[:%sprint:]", notch); + break; + case PT_PXPUNCT: + fprintf(f, "[:%spunct:]", notch); + break; + case PT_PXXDIGIT: + fprintf(f, "[:%sxdigit:]", notch); + break; + default: + s = get_ucpname(ptype, pvalue); + fprintf(f, "\\%c{%c%s}", ((notch[0] == '^')? 'P':'p'), + toupper(s[0]), s+1); + break; + } + } + break; + + default: + ccode += 1 + print_char(f, ccode, utf); + if (ch == XCL_RANGE) + { + fprintf(f, "-"); + ccode += 1 + print_char(f, ccode, utf); + } + break; + } + } + + PCRE2_ASSERT(ccode == code + (GET(code, 0) - 1)); + } + +/* Indicate a non-UTF class which was created by negation */ +fprintf(f, "]%s", after); +} + + + +/************************************************* +* Print compiled pattern * +*************************************************/ + +/* The print_lengths flag controls whether offsets and lengths of items are +printed. Lenths can be turned off from pcre2test so that automatic tests on +bytecode can be written that do not depend on the value of LINK_SIZE. + +Arguments: + re a compiled pattern + f the file to write to + print_lengths show various lengths + +Returns: nothing +*/ + +static void +pcre2_printint(pcre2_code *re, FILE *f, BOOL print_lengths) +{ +PCRE2_SPTR codestart, nametable, code; +uint32_t nesize = re->name_entry_size; +BOOL utf = (re->overall_options & PCRE2_UTF) != 0; + +nametable = (PCRE2_SPTR)((uint8_t *)re + sizeof(pcre2_real_code)); +code = codestart = (PCRE2_SPTR)((uint8_t *)re + re->code_start); + +for(;;) + { + PCRE2_SPTR ccode; + uint32_t c; + int i; + const char *flag = " "; + unsigned int extra = 0; + + if (print_lengths) + fprintf(f, "%3d ", (int)(code - codestart)); + else + fprintf(f, " "); + + switch(*code) + { + case OP_END: + fprintf(f, " %s\n", OP_names[*code]); + fprintf(f, "------------------------------------------------------------------\n"); + return; + + case OP_CHAR: + fprintf(f, " "); + do + { + code++; + code += 1 + print_char(f, code, utf); + } + while (*code == OP_CHAR); + fprintf(f, "\n"); + continue; + + case OP_CHARI: + fprintf(f, " /i "); + do + { + code++; + code += 1 + print_char(f, code, utf); + } + while (*code == OP_CHARI); + fprintf(f, "\n"); + continue; + + case OP_CBRA: + case OP_CBRAPOS: + case OP_SCBRA: + case OP_SCBRAPOS: + if (print_lengths) fprintf(f, "%3d ", GET(code, 1)); + else fprintf(f, " "); + fprintf(f, "%s %d", OP_names[*code], GET2(code, 1+LINK_SIZE)); + break; + + case OP_BRA: + case OP_BRAPOS: + case OP_SBRA: + case OP_SBRAPOS: + case OP_KETRMAX: + case OP_KETRMIN: + case OP_KETRPOS: + case OP_ALT: + case OP_KET: + case OP_ASSERT: + case OP_ASSERT_NOT: + case OP_ASSERTBACK: + case OP_ASSERTBACK_NOT: + case OP_ASSERT_NA: + case OP_ASSERTBACK_NA: + case OP_ASSERT_SCS: + case OP_ONCE: + case OP_SCRIPT_RUN: + case OP_COND: + case OP_SCOND: + if (print_lengths) fprintf(f, "%3d ", GET(code, 1)); + else fprintf(f, " "); + fprintf(f, "%s", OP_names[*code]); + break; + + case OP_CLOSE: + fprintf(f, " %s %d", OP_names[*code], GET2(code, 1)); + break; + + case OP_CREF: + case OP_REVERSE: + case OP_VREVERSE: + fprintf(f, "%3d %s", GET2(code, 1), OP_names[*code]); + if (*code == OP_VREVERSE) fprintf(f, " %d", GET2(code, 1 + IMM2_SIZE)); + break; + + case OP_DNCREF: + case OP_DNRREF: + { + PCRE2_SPTR entry = nametable + (GET2(code, 1) * nesize) + IMM2_SIZE; + fprintf(f, " %s %s<", flag, OP_names[*code]); + print_custring(f, entry); + fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); + } + break; + + case OP_RREF: + c = GET2(code, 1); + if (c == RREF_ANY) + fprintf(f, " %s any", OP_names[*code]); + else + fprintf(f, " %s %d", OP_names[*code], c); + break; + + case OP_STARI: + case OP_MINSTARI: + case OP_POSSTARI: + case OP_PLUSI: + case OP_MINPLUSI: + case OP_POSPLUSI: + case OP_QUERYI: + case OP_MINQUERYI: + case OP_POSQUERYI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + case OP_STAR: + case OP_MINSTAR: + case OP_POSSTAR: + case OP_PLUS: + case OP_MINPLUS: + case OP_POSPLUS: + case OP_QUERY: + case OP_MINQUERY: + case OP_POSQUERY: + case OP_TYPESTAR: + case OP_TYPEMINSTAR: + case OP_TYPEPOSSTAR: + case OP_TYPEPLUS: + case OP_TYPEMINPLUS: + case OP_TYPEPOSPLUS: + case OP_TYPEQUERY: + case OP_TYPEMINQUERY: + case OP_TYPEPOSQUERY: + fprintf(f, " %s ", flag); + + if (*code >= OP_TYPESTAR) + { + if (code[1] == OP_PROP || code[1] == OP_NOTPROP) + { + print_prop(f, code + 1, "", " "); + extra = 2; + } + else fprintf(f, "%s", OP_names[code[1]]); + } + else extra = print_char(f, code+1, utf); + fprintf(f, "%s", OP_names[*code]); + break; + + case OP_EXACTI: + case OP_UPTOI: + case OP_MINUPTOI: + case OP_POSUPTOI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + case OP_EXACT: + case OP_UPTO: + case OP_MINUPTO: + case OP_POSUPTO: + fprintf(f, " %s ", flag); + extra = print_char(f, code + 1 + IMM2_SIZE, utf); + fprintf(f, "{"); + if (*code != OP_EXACT && *code != OP_EXACTI) fprintf(f, "0,"); + fprintf(f, "%d}", GET2(code,1)); + if (*code == OP_MINUPTO || *code == OP_MINUPTOI) fprintf(f, "?"); + else if (*code == OP_POSUPTO || *code == OP_POSUPTOI) fprintf(f, "+"); + break; + + case OP_TYPEEXACT: + case OP_TYPEUPTO: + case OP_TYPEMINUPTO: + case OP_TYPEPOSUPTO: + if (code[1 + IMM2_SIZE] == OP_PROP || code[1 + IMM2_SIZE] == OP_NOTPROP) + { + print_prop(f, code + IMM2_SIZE + 1, " ", " "); + extra = 2; + } + else fprintf(f, " %s", OP_names[code[1 + IMM2_SIZE]]); + fprintf(f, "{"); + if (*code != OP_TYPEEXACT) fprintf(f, "0,"); + fprintf(f, "%d}", GET2(code,1)); + if (*code == OP_TYPEMINUPTO) fprintf(f, "?"); + else if (*code == OP_TYPEPOSUPTO) fprintf(f, "+"); + break; + + case OP_NOTI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + case OP_NOT: + fprintf(f, " %s [^", flag); + extra = print_char(f, code + 1, utf); + fprintf(f, "] (not)"); + break; + + case OP_NOTSTARI: + case OP_NOTMINSTARI: + case OP_NOTPOSSTARI: + case OP_NOTPLUSI: + case OP_NOTMINPLUSI: + case OP_NOTPOSPLUSI: + case OP_NOTQUERYI: + case OP_NOTMINQUERYI: + case OP_NOTPOSQUERYI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + + case OP_NOTSTAR: + case OP_NOTMINSTAR: + case OP_NOTPOSSTAR: + case OP_NOTPLUS: + case OP_NOTMINPLUS: + case OP_NOTPOSPLUS: + case OP_NOTQUERY: + case OP_NOTMINQUERY: + case OP_NOTPOSQUERY: + fprintf(f, " %s [^", flag); + extra = print_char(f, code + 1, utf); + fprintf(f, "]%s (not)", OP_names[*code]); + break; + + case OP_NOTEXACTI: + case OP_NOTUPTOI: + case OP_NOTMINUPTOI: + case OP_NOTPOSUPTOI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + + case OP_NOTEXACT: + case OP_NOTUPTO: + case OP_NOTMINUPTO: + case OP_NOTPOSUPTO: + fprintf(f, " %s [^", flag); + extra = print_char(f, code + 1 + IMM2_SIZE, utf); + fprintf(f, "]{"); + if (*code != OP_NOTEXACT && *code != OP_NOTEXACTI) fprintf(f, "0,"); + fprintf(f, "%d}", GET2(code,1)); + if (*code == OP_NOTMINUPTO || *code == OP_NOTMINUPTOI) fprintf(f, "?"); + else + if (*code == OP_NOTPOSUPTO || *code == OP_NOTPOSUPTOI) fprintf(f, "+"); + fprintf(f, " (not)"); + break; + + case OP_RECURSE: + if (print_lengths) fprintf(f, "%3d ", GET(code, 1)); + else fprintf(f, " "); + fprintf(f, "%s", OP_names[*code]); + break; + + case OP_REFI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + case OP_REF: + fprintf(f, " %s \\g{%d}", flag, GET2(code, 1)); + i = (*code == OP_REFI)? code[1 + IMM2_SIZE] : 0; + if (i != 0) fprintf(f, " 0x%02x", i); + ccode = code + OP_lengths[*code]; + goto CLASS_REF_REPEAT; + + case OP_DNREFI: + flag = "/i"; + PCRE2_FALLTHROUGH /* Fall through */ + case OP_DNREF: + { + PCRE2_SPTR entry = nametable + (GET2(code, 1) * nesize) + IMM2_SIZE; + fprintf(f, " %s \\k<", flag); + print_custring(f, entry); + fprintf(f, ">%d", GET2(code, 1 + IMM2_SIZE)); + i = (*code == OP_DNREFI)? code[1 + 2*IMM2_SIZE] : 0; + if (i != 0) fprintf(f, " 0x%02x", i); + } + ccode = code + OP_lengths[*code]; + goto CLASS_REF_REPEAT; + + case OP_CALLOUT: + fprintf(f, " %s %d %d %d", OP_names[*code], code[1 + 2*LINK_SIZE], + GET(code, 1), GET(code, 1 + LINK_SIZE)); + break; + + case OP_CALLOUT_STR: + c = code[1 + 4*LINK_SIZE]; + fprintf(f, " %s %c", OP_names[*code], CHAR_OUTPUT(c)); + extra = GET(code, 1 + 2*LINK_SIZE); + print_custring_bylen(f, code + 2 + 4*LINK_SIZE, extra - 3 - 4*LINK_SIZE); + for (i = 0; PRIV(callout_start_delims)[i] != 0; i++) + if (c == PRIV(callout_start_delims)[i]) + { + c = PRIV(callout_end_delims)[i]; + break; + } + fprintf(f, "%c %d %d %d", CHAR_OUTPUT(c), GET(code, 1 + 3*LINK_SIZE), + GET(code, 1), GET(code, 1 + LINK_SIZE)); + break; + + case OP_PROP: + case OP_NOTPROP: + print_prop(f, code, " ", ""); + break; + +#ifdef SUPPORT_WIDE_CHARS + case OP_ECLASS: + extra = GET(code, 1); + fprintf(f, " eclass[\n"); + /* We print the opcodes contained inside as well. */ + ccode = code + 1 + LINK_SIZE + 1; + if ((ccode[-1] & ECL_MAP) != 0) + { + const uint8_t *map = (const uint8_t *)ccode; + /* The first 6 ASCII characters (SOH...ACK) are totally, utterly useless. + If they're set in the bitmap, then it's clearly been formed by negation.*/ + BOOL print_negated = (map[0] & 0x7e) == 0x7e; + + fprintf(f, " bitmap: [%s", print_negated? "^" : ""); + print_map(f, map, print_negated); + fprintf(f, "]\n"); + ccode += 32 / sizeof(PCRE2_UCHAR); + } + else + fprintf(f, " no bitmap\n"); + while (ccode < code + extra) + { + if (print_lengths) + fprintf(f, "%3d ", (int)(ccode - codestart)); + else + fprintf(f, " "); + + switch (*ccode) + { + case ECL_AND: + fprintf(f, " AND\n"); + ccode += 1; + break; + case ECL_OR: + fprintf(f, " OR\n"); + ccode += 1; + break; + case ECL_XOR: + fprintf(f, " XOR\n"); + ccode += 1; + break; + case ECL_NOT: + fprintf(f, " NOT\n"); + ccode += 1; + break; + + case ECL_XCLASS: + print_class(f, OP_XCLASS, ccode+1, (uint8_t*)codestart, utf, + " xclass: ", "\n"); + ccode += GET(ccode, 1); + break; + + default: + fprintf(f, " UNEXPECTED\n"); + ccode += 1; + break; + } + } + fprintf(f, " ]"); + goto CLASS_REF_REPEAT; +#endif /* SUPPORT_WIDE_CHARS */ + + case OP_CLASS: + case OP_NCLASS: +#ifdef SUPPORT_WIDE_CHARS + case OP_XCLASS: + if (*code == OP_XCLASS) + extra = GET(code, 1); +#endif + print_class(f, *code, code+1, (uint8_t*)codestart, utf, " ", ""); + ccode = code + OP_lengths[*code] + extra; + + /* Handle repeats after a class or a back reference */ + + CLASS_REF_REPEAT: + switch(*ccode) + { + unsigned int min, max; + + case OP_CRSTAR: + case OP_CRMINSTAR: + case OP_CRPLUS: + case OP_CRMINPLUS: + case OP_CRQUERY: + case OP_CRMINQUERY: + case OP_CRPOSSTAR: + case OP_CRPOSPLUS: + case OP_CRPOSQUERY: + fprintf(f, "%s", OP_names[*ccode]); + extra += OP_lengths[*ccode]; + break; + + case OP_CRRANGE: + case OP_CRMINRANGE: + case OP_CRPOSRANGE: + min = GET2(ccode,1); + max = GET2(ccode,1 + IMM2_SIZE); + if (max == 0) fprintf(f, "{%u,}", min); + else fprintf(f, "{%u,%u}", min, max); + if (*ccode == OP_CRMINRANGE) fprintf(f, "?"); + else if (*ccode == OP_CRPOSRANGE) fprintf(f, "+"); + extra += OP_lengths[*ccode]; + break; + + /* Do nothing if it's not a repeat; this code stops picky compilers + warning about the lack of a default code path. */ + + default: + break; + } + break; + + case OP_MARK: + case OP_COMMIT_ARG: + case OP_PRUNE_ARG: + case OP_SKIP_ARG: + case OP_THEN_ARG: + fprintf(f, " %s ", OP_names[*code]); + print_custring_bylen(f, code + 2, code[1]); + extra += code[1]; + break; + + case OP_CIRCM: + case OP_DOLLM: + flag = "/m"; + PCRE2_FALLTHROUGH /* Fall through */ + + /* Anything else is just an item with no data, but possibly a flag. */ + + default: + fprintf(f, " %s %s", flag, OP_names[*code]); + break; + } + + code += OP_lengths[*code] + extra; + putc('\n', f); + } +} + +/* End of pcre2_printint_inc.h */ diff --git a/libpcre/src/pcre2_script_run.c b/libpcre/src/pcre2_script_run.c index 4926fa63b..acdf41fe6 100644 --- a/libpcre/src/pcre2_script_run.c +++ b/libpcre/src/pcre2_script_run.c @@ -38,15 +38,14 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains the function for checking a script run. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif #include "pcre2_internal.h" + /************************************************* * Check script run * *************************************************/ diff --git a/libpcre/src/pcre2_serialize.c b/libpcre/src/pcre2_serialize.c index a10e3020b..f10a3fa0d 100644 --- a/libpcre/src/pcre2_serialize.c +++ b/libpcre/src/pcre2_serialize.c @@ -38,17 +38,15 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains functions for serializing and deserializing a sequence of compiled codes. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - - #include "pcre2_internal.h" + + /* Magic number to provide a small check against being handed junk. */ #define SERIALIZED_DATA_MAGIC 0x50523253u diff --git a/libpcre/src/pcre2_string_utils.c b/libpcre/src/pcre2_string_utils.c index ebfa9434e..f1ac718f6 100644 --- a/libpcre/src/pcre2_string_utils.c +++ b/libpcre/src/pcre2_string_utils.c @@ -38,53 +38,15 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains internal functions for comparing and finding the length of strings. These are used instead of strcmp() etc because the standard functions work only on 8-bit data. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" -/************************************************* -* Emulated memmove() for systems without it * -*************************************************/ - -/* This function can make use of bcopy() if it is available. Otherwise do it by -steam, as there some non-Unix environments that lack both memmove() and -bcopy(). */ - -#if !defined(VPCOMPAT) && !defined(HAVE_MEMMOVE) -void * -PRIV(memmove)(void *d, const void *s, size_t n) -{ -#ifdef HAVE_BCOPY -bcopy(s, d, n); -return d; -#else -size_t i; -unsigned char *dest = (unsigned char *)d; -const unsigned char *src = (const unsigned char *)s; -if (dest > src) - { - dest += n; - src += n; - for (i = 0; i < n; ++i) *(--dest) = *(--src); - return (void *)dest; - } -else - { - for (i = 0; i < n; ++i) *dest++ = *src++; - return (void *)(dest - n); - } -#endif /* not HAVE_BCOPY */ -} -#endif /* not VPCOMPAT && not HAVE_MEMMOVE */ - /************************************************* * Compare two zero-terminated PCRE2 strings * diff --git a/libpcre/src/pcre2_study.c b/libpcre/src/pcre2_study.c index 85764cea5..9f7fd6bd6 100644 --- a/libpcre/src/pcre2_study.c +++ b/libpcre/src/pcre2_study.c @@ -38,16 +38,15 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains functions for scanning a compiled pattern and collecting data (e.g. minimum matching length). */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + + /* The maximum remembered capturing brackets minimum. */ #define MAX_CACHE_BACKREF 128 @@ -139,7 +138,7 @@ for (;;) PCRE2_UCHAR op; PCRE2_SPTR cs, ce; - if (branchlength >= UINT16_MAX) + if (branchlength >= (int)UINT16_MAX) { branchlength = UINT16_MAX; cc = nextbranch; @@ -176,7 +175,7 @@ for (;;) cc += 1 + LINK_SIZE; break; } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_ONCE: case OP_SCRIPT_RUN: @@ -253,7 +252,7 @@ for (;;) case OP_ASSERT_SCS: case OP_ASSERTBACK_NA: do cc += GET(cc, 1); while (*cc == OP_ALT); - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* Skip over things that don't match chars */ @@ -353,7 +352,7 @@ for (;;) case OP_PROP: case OP_NOTPROP: cc += 2; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_NOT_DIGIT: case OP_DIGIT: @@ -434,7 +433,7 @@ for (;;) case OP_CRMINPLUS: case OP_CRPOSPLUS: branchlength++; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CRSTAR: case OP_CRMINSTAR: @@ -628,11 +627,11 @@ for (;;) break; } - /* Take care not to overflow: (1) min and d are ints, so check that their - product is not greater than INT_MAX. (2) branchlength is limited to - UINT16_MAX (checked at the top of the loop). */ + /* Take care not to overflow: (1) min and d are ints, so check that their + product is not greater than INT_MAX. (2) branchlength is limited to + UINT16_MAX (checked at the top of the loop). */ - if ((d > 0 && (INT_MAX/d) < min) || UINT16_MAX - branchlength < min*d) + if ((d > 0 && (INT_MAX/d) < min) || (int)UINT16_MAX - branchlength < min*d) branchlength = UINT16_MAX; else branchlength += min * d; break; @@ -753,14 +752,18 @@ for (;;) /* This should not occur: we list all opcodes explicitly so that when new ones get added they are properly considered. */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return -3; + /* LCOV_EXCL_STOP */ } } +/* LCOV_EXCL_START */ PCRE2_DEBUG_UNREACHABLE(); /* Control should never reach here */ return -3; /* Avoid compiler warnings */ +/* LCOV_EXCL_STOP */ } @@ -1304,7 +1307,7 @@ do case OP_PROP: if (ncode[1] != PT_CLIST) break; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_ANYNL: case OP_CHAR: case OP_CHARI: @@ -1328,7 +1331,7 @@ do tcode = ncode; continue; /* With the following significant opcode */ } - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* For a group bracket or a positive assertion without an immediately following mandatory setting, recurse to set bits from within the @@ -1456,7 +1459,7 @@ do case OP_EXACT: tcode += IMM2_SIZE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CHAR: case OP_PLUS: case OP_MINPLUS: @@ -1467,7 +1470,7 @@ do case OP_EXACTI: tcode += IMM2_SIZE; - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ case OP_CHARI: case OP_PLUSI: case OP_MINPLUSI: @@ -1487,10 +1490,10 @@ do SET_BIT(CHAR_SPACE); /* For the 16-bit and 32-bit libraries (which can never be EBCDIC), set - the bits for 0xA0 and for code units >= 255, independently of UTF. */ + the bits for NBSP and for code units >= 255, independently of UTF. */ #if PCRE2_CODE_UNIT_WIDTH != 8 - SET_BIT(0xA0); + SET_BIT(CHAR_NBSP); SET_BIT(0xFF); #else /* For the 8-bit library in UTF-8 mode, set the bits for the first code @@ -1506,12 +1509,9 @@ do } else #endif - /* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless - the code is EBCDIC. */ + /* For the 8-bit library not in UTF-8 mode, set the bit for NBSP. */ { -#ifndef EBCDIC - SET_BIT(0xA0); -#endif /* Not EBCDIC */ + SET_BIT(CHAR_NBSP); } #endif /* 8-bit support */ @@ -1606,7 +1606,8 @@ do case OP_TYPEUPTO: case OP_TYPEMINUPTO: case OP_TYPEPOSUPTO: - tcode += IMM2_SIZE; /* Fall through */ + tcode += IMM2_SIZE; + PCRE2_FALLTHROUGH /* Fall through */ case OP_TYPESTAR: case OP_TYPEMINSTAR: @@ -1626,10 +1627,10 @@ do SET_BIT(CHAR_SPACE); /* For the 16-bit and 32-bit libraries (which can never be EBCDIC), set - the bits for 0xA0 and for code units >= 255, independently of UTF. */ + the bits for NBSP and for code units >= 255, independently of UTF. */ #if PCRE2_CODE_UNIT_WIDTH != 8 - SET_BIT(0xA0); + SET_BIT(CHAR_NBSP); SET_BIT(0xFF); #else /* For the 8-bit library in UTF-8 mode, set the bits for the first code @@ -1645,12 +1646,9 @@ do } else #endif - /* For the 8-bit library not in UTF-8 mode, set the bit for 0xA0, unless - the code is EBCDIC. */ + /* For the 8-bit library not in UTF-8 mode, set the bit for NBSP. */ { -#ifndef EBCDIC - SET_BIT(0xA0); -#endif /* Not EBCDIC */ + SET_BIT(CHAR_NBSP); } #endif /* 8-bit support */ break; @@ -1779,9 +1777,11 @@ do case XCL_END: goto HANDLE_CLASSMAP; + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return SSB_UNKNOWN; /* Internal error, should not occur */ + /* LCOV_EXCL_STOP */ } } #endif /* SUPPORT_UNICODE && PCRE2_CODE_UNIT_WIDTH == 8 */ @@ -1790,7 +1790,7 @@ do /* It seems that the fall through comment must be outside the #ifdef if it is to avoid the gcc compiler warning. */ - /* Fall through */ + PCRE2_FALLTHROUGH /* Fall through */ /* Enter here for a negative non-XCLASS. In the 8-bit library, if we are in UTF mode, any byte with a value >= 0xc4 is a potentially valid starter @@ -1805,14 +1805,15 @@ do re->start_bitmap[24] |= 0xf0; /* Bits for 0xc4 - 0xc8 */ memset(re->start_bitmap+25, 0xff, 7); /* Bits for 0xc9 - 0xff */ } + PCRE2_FALLTHROUGH /* Fall through */ #elif PCRE2_CODE_UNIT_WIDTH != 8 SET_BIT(0xFF); /* For characters >= 255 */ + PCRE2_FALLTHROUGH /* Fall through */ #endif - /* Fall through */ /* Enter here for a positive non-XCLASS. If we have fallen through from an XCLASS, classmap will already be set; just advance the code pointer. - Otherwise, set up classmap for a a non-XCLASS and advance past it. */ + Otherwise, set up classmap for a non-XCLASS and advance past it. */ case OP_CLASS: if (*tcode == OP_XCLASS) tcode += GET(tcode, 1); else @@ -1930,11 +1931,13 @@ if ((re->flags & (PCRE2_FIRSTSET|PCRE2_STARTLINE)) == 0) { int depth = 0; int rc = set_start_bits(re, code, utf, ucp, &depth); + /* LCOV_EXCL_START */ if (rc == SSB_UNKNOWN) { PCRE2_DEBUG_UNREACHABLE(); return 1; } + /* LCOV_EXCL_STOP */ /* If a list of starting code units was set up, scan the list to see if only one or two were listed. Having only one listed is rare because usually a @@ -2002,6 +2005,16 @@ if ((re->flags & (PCRE2_FIRSTSET|PCRE2_STARTLINE)) == 0) if (d != a) goto DONE; /* Not the other case of a */ b = c; /* Save second in b */ + +#ifdef EBCDIC + /* To match ASCII (which puts the uppercase one in a), swap a & b + if needed. This doesn't really matter, but neatens the tests. */ + if (TABLE_GET((unsigned int)a, re->tables + lcc_offset, a) == a) + { + b = a; + a = c; + } +#endif } else goto DONE; /* More than two characters found */ } @@ -2049,16 +2062,20 @@ if ((re->flags & (PCRE2_MATCH_EMPTY|PCRE2_HASACCEPT)) == 0 && case -1: /* \C in UTF mode or over-complex regex */ break; /* Leave minlength unchanged (will be zero) */ + /* LCOV_EXCL_START */ case -2: PCRE2_DEBUG_UNREACHABLE(); return 2; /* missing capturing bracket */ + /* LCOV_EXCL_STOP */ + /* LCOV_EXCL_START */ case -3: PCRE2_DEBUG_UNREACHABLE(); return 3; /* unrecognized opcode */ + /* LCOV_EXCL_STOP */ default: - re->minlength = (min > UINT16_MAX)? UINT16_MAX : min; + re->minlength = (min > (int)UINT16_MAX)? (int)UINT16_MAX : min; break; } } diff --git a/libpcre/src/pcre2_substitute.c b/libpcre/src/pcre2_substitute.c index 17040ce5f..5cb84748e 100644 --- a/libpcre/src/pcre2_substitute.c +++ b/libpcre/src/pcre2_substitute.c @@ -39,12 +39,10 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" + + #define PTR_STACK_SIZE 20 #define SUBSTITUTE_OPTIONS \ @@ -131,7 +129,6 @@ for (; ptr < ptrend; ptr++) ptr += 1; /* Must point after \ */ erc = PRIV(check_escape)(&ptr, ptrend, &ch, &errorcode, code->overall_options, code->extra_options, code->top_bracket, FALSE, NULL); - ptr -= 1; /* Back to last code unit of escape */ if (errorcode != 0) { /* errorcode from check_escape is positive, so must not be returned by @@ -327,9 +324,11 @@ if (input_len == 0) return 0; switch (state->to_case) { + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return 0; + /* LCOV_EXCL_STOP */ case PCRE2_SUBSTITUTE_CASE_LOWER: // Can be single_char TRUE or FALSE case PCRE2_SUBSTITUTE_CASE_UPPER: // Can only be single_char FALSE @@ -465,9 +464,11 @@ PCRE2_ASSERT(input_len != 0); switch (state->to_case) { + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return 0; + /* LCOV_EXCL_STOP */ case PCRE2_SUBSTITUTE_CASE_LOWER: // Can be single_char TRUE or FALSE case PCRE2_SUBSTITUTE_CASE_UPPER: // Can only be single_char FALSE @@ -751,12 +752,14 @@ BOOL use_existing_match; BOOL replacement_only; BOOL utf = (code->overall_options & PCRE2_UTF) != 0; PCRE2_UCHAR temp[6]; +PCRE2_UCHAR null_str[1] = { 0xcd }; +PCRE2_SPTR original_subject = subject; PCRE2_SPTR ptr; PCRE2_SPTR repend = NULL; PCRE2_SIZE extra_needed = 0; PCRE2_SIZE buff_offset, buff_length, lengthleft, fraglength; PCRE2_SIZE *ovector; -PCRE2_SIZE ovecsave[3]; +PCRE2_SIZE ovecsave[2] = { 0, 0 }; pcre2_substitute_callout_block scb; PCRE2_SIZE sub_start_extra_needed; PCRE2_SIZE (*substitute_case_callout)(PCRE2_SPTR, PCRE2_SIZE, PCRE2_UCHAR *, @@ -768,7 +771,6 @@ void *substitute_case_callout_data = NULL; buff_offset = 0; lengthleft = buff_length = *blength; *blength = PCRE2_UNSET; -ovecsave[0] = ovecsave[1] = ovecsave[2] = PCRE2_UNSET; if (mcontext != NULL) { @@ -788,18 +790,74 @@ zero length is interpreted as an empty string. */ if (replacement == NULL) { if (rlength != 0) return PCRE2_ERROR_NULL; - replacement = (PCRE2_SPTR)""; + replacement = null_str; } if (rlength == PCRE2_ZERO_TERMINATED) rlength = PRIV(strlen)(replacement); repend = replacement + rlength; +/* A NULL subject of zero length is treated as an empty string. */ + +if (subject == NULL) + { + if (length != 0) return PCRE2_ERROR_NULL; + subject = null_str; + } + +if (length == PCRE2_ZERO_TERMINATED) length = PRIV(strlen)(subject); + /* Check for using a match that has already happened. Note that the subject pointer in the match data may be NULL after a no-match. */ use_existing_match = ((options & PCRE2_SUBSTITUTE_MATCHED) != 0); replacement_only = ((options & PCRE2_SUBSTITUTE_REPLACEMENT_ONLY) != 0); +if (use_existing_match && match_data == NULL) return PCRE2_ERROR_NULL; + +/* If an existing match is being passed in, we should check that it matches +the passed-in subject pointer, length, and match options. We don't currently +have a use-case for someone to match on one subject, then try and use that +match data on a different subject. In a UTF-encoded string, a simple change +like replacing one character for another won't preserve the code unit offsets, +so it's hard to see, in the general case, how it would be safe or useful to +support swapping or mutating the subject string. + +Similarly, using different match options between the first (external) and +subsequent (internal, global) matches is hard to justify. */ + +if (use_existing_match) + { + /* Return early, as the rest of the match_data may not have been + initialised. This duplicates and must be in sync with the check below that + aborts substitution on any result other than success or no-match. */ + if (match_data->rc < 0 && match_data->rc != PCRE2_ERROR_NOMATCH) + return match_data->rc; + + /* Not supported if the passed-in match was from the DFA interpreter. */ + if (match_data->matchedby == PCRE2_MATCHEDBY_DFA_INTERPRETER) + return PCRE2_ERROR_DFA_UFUNC; + + if (code != match_data->code) + return PCRE2_ERROR_DIFFSUBSPATTERN; + + /* We want the passed-in subject strings to match. This implies the effective + length must match, and either: the pointers are equal (with strict matching + of NULL against NULL); or, the special case of PCRE2_COPY_MATCHED_SUBJECT + where we cannot compare pointers but we can verify the contents. */ + if (length != match_data->subject_length || + !(original_subject == match_data->subject || + ((match_data->flags & PCRE2_MD_COPIED_SUBJECT) != 0 && + (length == 0 || + memcmp(subject, match_data->subject, CU2BYTES(length)) == 0)))) + return PCRE2_ERROR_DIFFSUBSSUBJECT; + + if (start_offset != match_data->start_offset) + return PCRE2_ERROR_DIFFSUBSOFFSET; + + if ((options & ~SUBSTITUTE_OPTIONS) != match_data->options) + return PCRE2_ERROR_DIFFSUBSOPTIONS; + } + /* If starting from an existing match, there must be an externally provided match data block. We create an internal match_data block in two cases: (a) an external one is not supplied (and we are not starting from an existing match); @@ -816,9 +874,8 @@ have to be changes below. */ if (match_data == NULL) { pcre2_general_context gcontext; - if (use_existing_match) return PCRE2_ERROR_NULL; gcontext.memctl = (mcontext == NULL)? - ((const pcre2_real_code *)code)->memctl : + ((pcre2_real_code *)code)->memctl : ((pcre2_real_match_context *)mcontext)->memctl; match_data = internal_match_data = pcre2_match_data_create_from_pattern(code, &gcontext); @@ -830,7 +887,7 @@ else if (use_existing_match) int pairs; pcre2_general_context gcontext; gcontext.memctl = (mcontext == NULL)? - ((const pcre2_real_code *)code)->memctl : + ((pcre2_real_code *)code)->memctl : ((pcre2_real_match_context *)mcontext)->memctl; pairs = (code->top_bracket + 1 < match_data->oveccount)? code->top_bracket + 1 : match_data->oveccount; @@ -841,9 +898,15 @@ else if (use_existing_match) + 2*pairs*sizeof(PCRE2_SIZE)); internal_match_data->heapframes = NULL; internal_match_data->heapframes_size = 0; + /* Ensure that the subject is not freed when internal_match_data is */ + internal_match_data->flags &= ~PCRE2_MD_COPIED_SUBJECT; match_data = internal_match_data; } +/* If using an internal match data, there's no need to copy the subject. */ + +if (internal_match_data != NULL) options &= ~PCRE2_COPY_MATCHED_SUBJECT; + /* Remember ovector details */ ovector = pcre2_get_ovector_pointer(match_data); @@ -856,19 +919,6 @@ scb.input = subject; scb.output = (PCRE2_SPTR)buffer; scb.ovector = ovector; -/* A NULL subject of zero length is treated as an empty string. */ - -if (subject == NULL) - { - if (length != 0) return PCRE2_ERROR_NULL; - subject = (PCRE2_SPTR)""; - } - -/* Find length of zero-terminated subject */ - -if (length == PCRE2_ZERO_TERMINATED) - length = subject? PRIV(strlen)(subject) : 0; - /* Check UTF replacement string if necessary. */ #ifdef SUPPORT_UNICODE @@ -905,7 +955,7 @@ if (!replacement_only) CHECKMEMCPY(subject, start_offset); match is taken from the match_data that was passed in. */ subs = 0; -do +for (;;) { PCRE2_SPTR ptrstack[PTR_STACK_SIZE]; uint32_t ptrstackptr = 0; @@ -925,54 +975,12 @@ do if (utf) options |= PCRE2_NO_UTF_CHECK; /* Only need to check once */ #endif - /* Any error other than no match returns the error code. No match when not - doing the special after-empty-match global rematch, or when at the end of the - subject, breaks the global loop. Otherwise, advance the starting point by one - character, copying it to the output, and try again. */ + /* Any error other than no match returns the error code. No match breaks the + global loop. */ - if (rc < 0) - { - PCRE2_SIZE save_start; + if (rc == PCRE2_ERROR_NOMATCH) break; - if (rc != PCRE2_ERROR_NOMATCH) goto EXIT; - if (goptions == 0 || start_offset >= length) break; - - /* Advance by one code point. Then, if CRLF is a valid newline sequence and - we have advanced into the middle of it, advance one more code point. In - other words, do not start in the middle of CRLF, even if CR and LF on their - own are valid newlines. */ - - save_start = start_offset++; - if (subject[start_offset-1] == CHAR_CR && - (code->newline_convention == PCRE2_NEWLINE_CRLF || - code->newline_convention == PCRE2_NEWLINE_ANY || - code->newline_convention == PCRE2_NEWLINE_ANYCRLF) && - start_offset < length && - subject[start_offset] == CHAR_LF) - start_offset++; - - /* Otherwise, in UTF mode, advance past any secondary code points. */ - - else if ((code->overall_options & PCRE2_UTF) != 0) - { -#if PCRE2_CODE_UNIT_WIDTH == 8 - while (start_offset < length && (subject[start_offset] & 0xc0) == 0x80) - start_offset++; -#elif PCRE2_CODE_UNIT_WIDTH == 16 - while (start_offset < length && - (subject[start_offset] & 0xfc00) == 0xdc00) - start_offset++; -#endif - } - - /* Copy what we have advanced past (unless not required), reset the special - global options, and continue to the next match. */ - - fraglength = start_offset - save_start; - if (!replacement_only) CHECKMEMCPY(subject + save_start, fraglength); - goptions = 0; - continue; - } + if (rc < 0) goto EXIT; /* Handle a successful match. Matches that use \K to end before they start or start before the current point in the subject are not supported. */ @@ -983,25 +991,27 @@ do goto EXIT; } - /* Check for the same match as previous. This is legitimate after matching an - empty string that starts after the initial match offset. We have tried again - at the match point in case the pattern is one like /(?<=\G.)/ which can never - match at its starting point, so running the match achieves the bumpalong. If - we do get the same (null) match at the original match point, it isn't such a - pattern, so we now do the empty string magic. In all other cases, a repeat - match should never occur. */ + /* Assert that our replacement loop is making progress, checked even in + release builds. This should be impossible to hit, however, an infinite loop + would be fairly catastrophic. - if (ovecsave[0] == ovector[0] && ovecsave[1] == ovector[1]) + "Progress" is measured as ovector[1] strictly advancing, or, an empty match + after a non-empty match. */ + + /* LCOV_EXCL_START */ + if (subs > 0 && + !(ovector[1] > ovecsave[1] || + (ovector[1] == ovector[0] && ovecsave[1] > ovecsave[0] && + ovector[1] == ovecsave[1]))) { - if (ovector[0] == ovector[1] && ovecsave[2] != start_offset) - { - goptions = PCRE2_NOTEMPTY_ATSTART | PCRE2_ANCHORED; - ovecsave[2] = start_offset; - continue; /* Back to the top of the loop */ - } + PCRE2_DEBUG_UNREACHABLE(); rc = PCRE2_ERROR_INTERNAL_DUPMATCH; goto EXIT; } + /* LCOV_EXCL_STOP */ + + ovecsave[0] = ovector[0]; + ovecsave[1] = ovector[1]; /* Count substitutions with a paranoid check for integer overflow; surely no real call to this function would ever hit this! */ @@ -1133,6 +1143,44 @@ do subptrend = subject + length; goto SUBPTR_SUBSTITUTE; } + else if (next == CHAR_PLUS && + !(ptr+1 < repend && ptr[1] == CHAR_LEFT_CURLY_BRACKET)) + { + /* Perl supports $+ for "highest captured group" (not the same as $^N + which is mainly only useful inside Perl's match callbacks). We also + don't accept "$+{..." since that's Perl syntax for our ${name}. */ + ++ptr; + if (code->top_bracket == 0) + { + /* Treat either as "no such group" or "all groups unset" based on the + PCRE2_SUBSTITUTE_UNKNOWN_UNSET option. */ + if ((suboptions & PCRE2_SUBSTITUTE_UNKNOWN_UNSET) == 0) + { + rc = PCRE2_ERROR_NOSUBSTRING; + goto PTREXIT; + } + group = 0; + } + else + { + /* If we have any capture groups, then the ovector needs to be large + enough for all of them, or the result won't be accurate. */ + if (match_data->oveccount < code->top_bracket + 1) + { + rc = PCRE2_ERROR_UNAVAILABLE; + goto PTREXIT; + } + for (group = code->top_bracket; group > 0; group--) + if (ovector[2*group] != PCRE2_UNSET) break; + } + if (group == 0) + { + if ((suboptions & PCRE2_SUBSTITUTE_UNSET_EMPTY) != 0) continue; + rc = PCRE2_ERROR_UNSET; + goto PTREXIT; + } + goto GROUP_SUBSTITUTE; + } if (next == CHAR_LEFT_CURLY_BRACKET) { @@ -1627,19 +1675,25 @@ do } } - /* Save the details of this match. See above for how this data is used. If we - matched an empty string, do the magic for global matches. Update the start - offset to point to the rest of the subject string. If we re-used an existing - match for the first match, switch to the internal match data block. */ + /* Exit the global loop if we are not in global mode, or if pcre2_next_match() + indicates we have reached the end of the subject. */ - ovecsave[0] = ovector[0]; - ovecsave[1] = ovector[1]; - ovecsave[2] = start_offset; + if ((suboptions & PCRE2_SUBSTITUTE_GLOBAL) == 0 || + !pcre2_next_match(match_data, &start_offset, &goptions)) + { + start_offset = ovector[1]; + break; + } - goptions = (ovector[0] != ovector[1] || ovector[0] > start_offset)? 0 : - PCRE2_ANCHORED|PCRE2_NOTEMPTY_ATSTART; - start_offset = ovector[1]; - } while ((suboptions & PCRE2_SUBSTITUTE_GLOBAL) != 0); /* Repeat "do" loop */ + /* Verify that pcre2_next_match() has not done a bumpalong (because we have + already returned PCRE2_ERROR_BADSUBSPATTERN for \K in lookarounds). + + We would otherwise have to memcpy the fragment spanning from ovector[1] to the + new start_offset.*/ + + PCRE2_ASSERT(start_offset == ovector[1]); + + } /* End of global loop */ /* Copy the rest of the subject unless not required, and terminate the output with a binary zero. */ diff --git a/libpcre/src/pcre2_substring.c b/libpcre/src/pcre2_substring.c index 88afd2348..f68b464e0 100644 --- a/libpcre/src/pcre2_substring.c +++ b/libpcre/src/pcre2_substring.c @@ -39,10 +39,6 @@ POSSIBILITY OF SUCH DAMAGE. */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - #include "pcre2_internal.h" @@ -126,7 +122,7 @@ PCRE2_SIZE size; rc = pcre2_substring_length_bynumber(match_data, stringnumber, &size); if (rc < 0) return rc; if (size + 1 > *sizeptr) return PCRE2_ERROR_NOMEMORY; -memcpy(buffer, match_data->subject + match_data->ovector[stringnumber*2], +if (size != 0) memcpy(buffer, match_data->subject + match_data->ovector[stringnumber*2], CU2BYTES(size)); buffer[size] = 0; *sizeptr = size; @@ -218,7 +214,7 @@ yield = PRIV(memctl_malloc)(sizeof(pcre2_memctl) + (size + 1)*PCRE2_CODE_UNIT_WIDTH, (pcre2_memctl *)match_data); if (yield == NULL) return PCRE2_ERROR_NOMEMORY; yield = (PCRE2_UCHAR *)(((char *)yield) + sizeof(pcre2_memctl)); -memcpy(yield, match_data->subject + match_data->ovector[stringnumber*2], +if (size != 0) memcpy(yield, match_data->subject + match_data->ovector[stringnumber*2], CU2BYTES(size)); yield[size] = 0; *stringptr = yield; @@ -259,7 +255,7 @@ permits duplicate names, the first substring that is set is chosen. Arguments: match_data pointer to match data stringname the name of the required substring - sizeptr where to put the length + sizeptr where to put the length, if not NULL Returns: 0 if successful, else a negative error number */ @@ -342,8 +338,15 @@ else /* Matched using pcre2_dfa_match() */ left = match_data->ovector[stringnumber*2]; right = match_data->ovector[stringnumber*2+1]; +/* LCOV_EXCL_START - this appears to be unreachable, as the ovector and +subject_length should always be set consistently, no matter what misbehaviour +the caller has committed. */ if (left > match_data->subject_length || right > match_data->subject_length) + { + PCRE2_DEBUG_UNREACHABLE(); return PCRE2_ERROR_INVALIDOFFSET; + } +/* LCOV_EXCL_STOP */ if (sizeptr != NULL) *sizeptr = (left > right)? 0 : right - left; return 0; } diff --git a/libpcre/src/pcre2_tables.c b/libpcre/src/pcre2_tables.c index 097a1acca..0b9b43bf2 100644 --- a/libpcre/src/pcre2_tables.c +++ b/libpcre/src/pcre2_tables.c @@ -38,27 +38,33 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains some fixed tables that are used by more than one of the PCRE2 code modules. The tables are also #included by the pcre2test program, which uses macros to change their names from _pcre2_xxx to xxxx, thereby avoiding name clashes with the library. In this case, PCRE2_PCRE2TEST is defined. */ -#ifndef PCRE2_PCRE2TEST /* We're compiling the library */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif + +#if !defined(PCRE2_PCRE2TEST) && !defined(PCRE2_DFTABLES) && \ + !defined(PCRE2_PCRE2POSIX) /* We're compiling the library */ #include "pcre2_internal.h" -#endif /* PCRE2_PCRE2TEST */ +#endif + + +/* Utility macros */ +#define ARR_SIZE(x) sizeof(x)/sizeof(x[0]) + + +#if !defined(PCRE2_PCRE2TEST) && !defined(PCRE2_DFTABLES) && \ + !defined(PCRE2_PCRE2POSIX) /* Table of sizes for the fixed-length opcodes. It's defined in a macro so that the definition is next to the definition of the opcodes in pcre2_internal.h. This is mode-dependent, so it is skipped when this file is included by pcre2test. */ -#ifndef PCRE2_PCRE2TEST const uint8_t PRIV(OP_lengths)[] = { OP_LENGTHS }; -#endif /* Tables of horizontal and vertical whitespace characters, suitable for adding to classes. */ @@ -66,6 +72,11 @@ adding to classes. */ const uint32_t PRIV(hspace_list)[] = { HSPACE_LIST }; const uint32_t PRIV(vspace_list)[] = { VSPACE_LIST }; +#endif /* !PCRE2_PCRE2TEST && !PCRE2_DFTABLES && !PCRE2_PCRE2POSIX */ + + +#if !defined(PCRE2_DFTABLES) && !defined(PCRE2_PCRE2POSIX) + /* These tables are the pairs of delimiters that are valid for callout string arguments. For each starting delimiter there must be a matching ending delimiter, which in fact is different only for bracket-like delimiters. */ @@ -80,6 +91,8 @@ const uint32_t PRIV(callout_end_delims[]) = { CHAR_CIRCUMFLEX_ACCENT, CHAR_PERCENT_SIGN, CHAR_NUMBER_SIGN, CHAR_DOLLAR_SIGN, CHAR_RIGHT_CURLY_BRACKET, 0 }; +#endif /* !PCRE2_DFTABLES && !PCRE2_PCRE2POSIX */ + /************************************************* * Tables for UTF-8 support * @@ -90,23 +103,24 @@ as for the library in 8-bit mode, because pcre2test uses UTF-8 internally for handling wide characters. */ #if defined PCRE2_PCRE2TEST || \ - (defined SUPPORT_UNICODE && \ - defined PCRE2_CODE_UNIT_WIDTH && \ - PCRE2_CODE_UNIT_WIDTH == 8) + (!defined(PCRE2_DFTABLES) && !defined(PCRE2_PCRE2POSIX) && \ + defined SUPPORT_UNICODE && \ + defined PCRE2_CODE_UNIT_WIDTH && \ + PCRE2_CODE_UNIT_WIDTH == 8) /* These are the breakpoints for different numbers of bytes in a UTF-8 character. */ const int PRIV(utf8_table1)[] = - { 0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff}; + { 0x7f, 0x7ff, 0xffff, 0x1fffff, 0x3ffffff, 0x7fffffff }; -const int PRIV(utf8_table1_size) = sizeof(PRIV(utf8_table1)) / sizeof(int); +const unsigned PRIV(utf8_table1_size) = ARR_SIZE(PRIV(utf8_table1)); /* These are the indicator bits and the mask for the data bits to set in the first byte of a character, indexed by the number of additional bytes. */ -const int PRIV(utf8_table2)[] = { 0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc}; -const int PRIV(utf8_table3)[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01}; +const int PRIV(utf8_table2)[] = { 0, 0xc0, 0xe0, 0xf0, 0xf8, 0xfc }; +const int PRIV(utf8_table3)[] = { 0xff, 0x1f, 0x0f, 0x07, 0x03, 0x01 }; /* Table of the number of extra bytes, indexed by the first byte masked with 0x3f. The highest number for a valid UTF-8 first byte is in fact 0x3d. */ @@ -120,10 +134,11 @@ const uint8_t PRIV(utf8_table4)[] = { #endif /* UTF-8 support needed */ /* Tables concerned with Unicode properties are relevant only when Unicode -support is enabled. See also the pcre2_ucptables.c file, which is generated by +support is enabled. See also the pcre2_ucptables_inc.h file, which is generated by a Python script from Unicode data files. */ -#ifdef SUPPORT_UNICODE +#if !defined(PCRE2_DFTABLES) && !defined(PCRE2_PCRE2POSIX) && \ + defined(SUPPORT_UNICODE) /* Table to translate from particular type value to the general value. */ @@ -227,8 +242,69 @@ const int PRIV(ucp_typerange)[] = { /* Finally, include the tables that are auto-generated from the Unicode data files. */ -#include "pcre2_ucptables.c" +#include "pcre2_ucptables_inc.h" -#endif /* SUPPORT_UNICODE */ +#endif /* Unicode support needed */ + + +/************************************************* +* Tables for EBCDIC support * +*************************************************/ + +#if defined(EBCDIC) && \ + (defined(PCRE2_PCRE2TEST) || defined(PCRE2_DFTABLES) || 'a' != 0x81) + +const uint8_t PRIV(ebcdic_1047_to_ascii)[256] = { + 0x00,0x01,0x02,0x03,0x9c,0x09,0x86,0x7f,0x97,0x8d,0x8e,0x0b,0x0c,0x0d,0x0e,0x0f, +#ifdef EBCDIC_NL25 + 0x10,0x11,0x12,0x13,0x9d,0x85,0x08,0x87,0x18,0x19,0x92,0x8f,0x1c,0x1d,0x1e,0x1f, + 0x80,0x81,0x82,0x83,0x84,0x0a,0x17,0x1b,0x88,0x89,0x8a,0x8b,0x8c,0x05,0x06,0x07, +#else + 0x10,0x11,0x12,0x13,0x9d,0x0a,0x08,0x87,0x18,0x19,0x92,0x8f,0x1c,0x1d,0x1e,0x1f, + 0x80,0x81,0x82,0x83,0x84,0x85,0x17,0x1b,0x88,0x89,0x8a,0x8b,0x8c,0x05,0x06,0x07, +#endif + 0x90,0x91,0x16,0x93,0x94,0x95,0x96,0x04,0x98,0x99,0x9a,0x9b,0x14,0x15,0x9e,0x1a, + 0x20,0xa0,0xe2,0xe4,0xe0,0xe1,0xe3,0xe5,0xe7,0xf1,0xa2,0x2e,0x3c,0x28,0x2b,0x7c, + 0x26,0xe9,0xea,0xeb,0xe8,0xed,0xee,0xef,0xec,0xdf,0x21,0x24,0x2a,0x29,0x3b,0x5e, + 0x2d,0x2f,0xc2,0xc4,0xc0,0xc1,0xc3,0xc5,0xc7,0xd1,0xa6,0x2c,0x25,0x5f,0x3e,0x3f, + 0xf8,0xc9,0xca,0xcb,0xc8,0xcd,0xce,0xcf,0xcc,0x60,0x3a,0x23,0x40,0x27,0x3d,0x22, + 0xd8,0x61,0x62,0x63,0x64,0x65,0x66,0x67,0x68,0x69,0xab,0xbb,0xf0,0xfd,0xfe,0xb1, + 0xb0,0x6a,0x6b,0x6c,0x6d,0x6e,0x6f,0x70,0x71,0x72,0xaa,0xba,0xe6,0xb8,0xc6,0xa4, + 0xb5,0x7e,0x73,0x74,0x75,0x76,0x77,0x78,0x79,0x7a,0xa1,0xbf,0xd0,0x5b,0xde,0xae, + 0xac,0xa3,0xa5,0xb7,0xa9,0xa7,0xb6,0xbc,0xbd,0xbe,0xdd,0xa8,0xaf,0x5d,0xb4,0xd7, + 0x7b,0x41,0x42,0x43,0x44,0x45,0x46,0x47,0x48,0x49,0xad,0xf4,0xf6,0xf2,0xf3,0xf5, + 0x7d,0x4a,0x4b,0x4c,0x4d,0x4e,0x4f,0x50,0x51,0x52,0xb9,0xfb,0xfc,0xf9,0xfa,0xff, + 0x5c,0xf7,0x53,0x54,0x55,0x56,0x57,0x58,0x59,0x5a,0xb2,0xd4,0xd6,0xd2,0xd3,0xd5, + 0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0xb3,0xdb,0xdc,0xd9,0xda,0x9f, +}; + +const uint8_t PRIV(ascii_to_ebcdic_1047)[256] = { +#ifdef EBCDIC_NL25 + 0x00,0x01,0x02,0x03,0x37,0x2d,0x2e,0x2f,0x16,0x05,0x25,0x0b,0x0c,0x0d,0x0e,0x0f, +#else + 0x00,0x01,0x02,0x03,0x37,0x2d,0x2e,0x2f,0x16,0x05,0x15,0x0b,0x0c,0x0d,0x0e,0x0f, +#endif + 0x10,0x11,0x12,0x13,0x3c,0x3d,0x32,0x26,0x18,0x19,0x3f,0x27,0x1c,0x1d,0x1e,0x1f, + 0x40,0x5a,0x7f,0x7b,0x5b,0x6c,0x50,0x7d,0x4d,0x5d,0x5c,0x4e,0x6b,0x60,0x4b,0x61, + 0xf0,0xf1,0xf2,0xf3,0xf4,0xf5,0xf6,0xf7,0xf8,0xf9,0x7a,0x5e,0x4c,0x7e,0x6e,0x6f, + 0x7c,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xd1,0xd2,0xd3,0xd4,0xd5,0xd6, + 0xd7,0xd8,0xd9,0xe2,0xe3,0xe4,0xe5,0xe6,0xe7,0xe8,0xe9,0xad,0xe0,0xbd,0x5f,0x6d, + 0x79,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x91,0x92,0x93,0x94,0x95,0x96, + 0x97,0x98,0x99,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xc0,0x4f,0xd0,0xa1,0x07, +#ifdef EBCDIC_NL25 + 0x20,0x21,0x22,0x23,0x24,0x15,0x06,0x17,0x28,0x29,0x2a,0x2b,0x2c,0x09,0x0a,0x1b, +#else + 0x20,0x21,0x22,0x23,0x24,0x25,0x06,0x17,0x28,0x29,0x2a,0x2b,0x2c,0x09,0x0a,0x1b, +#endif + 0x30,0x31,0x1a,0x33,0x34,0x35,0x36,0x08,0x38,0x39,0x3a,0x3b,0x04,0x14,0x3e,0xff, + 0x41,0xaa,0x4a,0xb1,0x9f,0xb2,0x6a,0xb5,0xbb,0xb4,0x9a,0x8a,0xb0,0xca,0xaf,0xbc, + 0x90,0x8f,0xea,0xfa,0xbe,0xa0,0xb6,0xb3,0x9d,0xda,0x9b,0x8b,0xb7,0xb8,0xb9,0xab, + 0x64,0x65,0x62,0x66,0x63,0x67,0x9e,0x68,0x74,0x71,0x72,0x73,0x78,0x75,0x76,0x77, + 0xac,0x69,0xed,0xee,0xeb,0xef,0xec,0xbf,0x80,0xfd,0xfe,0xfb,0xfc,0xba,0xae,0x59, + 0x44,0x45,0x42,0x46,0x43,0x47,0x9c,0x48,0x54,0x51,0x52,0x53,0x58,0x55,0x56,0x57, + 0x8c,0x49,0xcd,0xce,0xcb,0xcf,0xcc,0xe1,0x70,0xdd,0xde,0xdb,0xdc,0x8d,0x8e,0xdf, +}; + +#endif /* EBCDIC support needed */ /* End of pcre2_tables.c */ diff --git a/libpcre/src/pcre2_ucd.c b/libpcre/src/pcre2_ucd.c index 4c5e5163b..1cbff3afe 100644 --- a/libpcre/src/pcre2_ucd.c +++ b/libpcre/src/pcre2_ucd.c @@ -42,6 +42,7 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This file contains tables of Unicode properties that are extracted from Unicode data files. See the comments at the start of maint/GenerateUcd.py for details. @@ -52,13 +53,13 @@ _pcre2_xxx to xxxx, thereby avoiding name clashes with the library. At present, just one of these tables is actually needed. When compiling the library, some headers are needed. */ + #ifndef PCRE2_PCRE2TEST -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif #include "pcre2_internal.h" #endif /* PCRE2_PCRE2TEST */ + + /* The tables herein are needed only when UCP support is built, and in PCRE2 that happens automatically with UTF support. This module should not be referenced otherwise, so it should not matter whether it is compiled or not. diff --git a/libpcre/src/pcre2_ucptables.c b/libpcre/src/pcre2_ucptables_inc.h similarity index 99% rename from libpcre/src/pcre2_ucptables.c rename to libpcre/src/pcre2_ucptables_inc.h index d2b34037b..6f1731d32 100644 --- a/libpcre/src/pcre2_ucptables.c +++ b/libpcre/src/pcre2_ucptables_inc.h @@ -1593,4 +1593,4 @@ const size_t PRIV(utt_size) = sizeof(PRIV(utt)) / sizeof(ucp_type_table); #endif /* SUPPORT_UNICODE */ -/* End of pcre2_ucptables.c */ +/* End of pcre2_ucptables_inc.h */ diff --git a/libpcre/src/pcre2_util.h b/libpcre/src/pcre2_util.h index ea8635552..7bfbee099 100644 --- a/libpcre/src/pcre2_util.h +++ b/libpcre/src/pcre2_util.h @@ -71,6 +71,8 @@ side-effects. */ } while(0) #endif +/* LCOV_EXCL_START */ + /* PCRE2_UNREACHABLE() can be used to mark locations on the code that shouldn't be reached. In non debug builds is defined as a hint for the compiler to eliminate any code after it, so it is useful also for @@ -107,8 +109,16 @@ the reason and the actions that should be taken if it ever triggers. */ #define PCRE2_DEBUG_UNREACHABLE() PCRE2_UNREACHABLE() +/* LCOV_EXCL_STOP */ + #endif /* PCRE2_DEBUG */ +#ifndef PCRE2_ASSERT +#define PCRE2_ASSERT(x) do {} while(0) +#endif + +/* LCOV_EXCL_START */ + #ifndef PCRE2_DEBUG_UNREACHABLE #define PCRE2_DEBUG_UNREACHABLE() do {} while(0) #endif @@ -123,8 +133,45 @@ the reason and the actions that should be taken if it ever triggers. */ #endif #endif /* !PCRE2_UNREACHABLE */ -#ifndef PCRE2_ASSERT -#define PCRE2_ASSERT(x) do {} while(0) +/* LCOV_EXCL_STOP */ + +/* We define this fallthrough macro for suppressing -Wimplicit-fallthrough warnings. +Clang only allows this via an attribute, whereas other compilers (eg. GCC) match attributes +and also specially-formatted comments. + +This macro should be used with no following semicolon, and ideally with a comment: */ + +// PCRE2_FALLTHROUGH /* Fall through */ + +#ifndef PCRE2_FALLTHROUGH + +#if defined(__cplusplus) && __cplusplus >= 202002L && \ + defined(__has_cpp_attribute) +/* Standards-compatible C++ variant. */ +#if __has_cpp_attribute(fallthrough) +#define PCRE2_FALLTHROUGH [[fallthrough]]; +#endif +#elif !defined(__cplusplus) && \ + defined(__STDC_VERSION__) && __STDC_VERSION__ >= 202311L && \ + defined(__has_c_attribute) +/* Standards-compatible C variant. */ +#if __has_c_attribute(fallthrough) +#define PCRE2_FALLTHROUGH [[fallthrough]]; +#endif +#elif ((defined(__clang__) && __clang_major__ >= 10) || \ + (defined(__GNUC__) && __GNUC__ >= 7)) && \ + defined(__has_attribute) +/* Clang and GCC syntax. Rule out old versions because apparently Clang at + least has a broken implementation of __has_attribute. */ +#if __has_attribute(fallthrough) +#define PCRE2_FALLTHROUGH __attribute__((fallthrough)); +#endif +#endif + +#endif /* !PCRE2_FALLTHROUGH */ + +#ifndef PCRE2_FALLTHROUGH +#define PCRE2_FALLTHROUGH #endif #endif /* PCRE2_UTIL_H_IDEMPOTENT_GUARD */ diff --git a/libpcre/src/pcre2_valid_utf.c b/libpcre/src/pcre2_valid_utf.c index de411b919..3fac931ea 100644 --- a/libpcre/src/pcre2_valid_utf.c +++ b/libpcre/src/pcre2_valid_utf.c @@ -44,14 +44,13 @@ strings. This file is also #included by the pcre2test program, which uses macros to change names from _pcre2_xxx to xxxx, thereby avoiding name clashes with the library. In this case, PCRE2_PCRE2TEST is defined. */ + #ifndef PCRE2_PCRE2TEST /* We're compiling the library */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif #include "pcre2_internal.h" #endif /* PCRE2_PCRE2TEST */ + #ifndef SUPPORT_UNICODE /************************************************* * Dummy function when Unicode is not supported * diff --git a/libpcre/src/pcre2_xclass.c b/libpcre/src/pcre2_xclass.c index 25de7cbf3..7bcae34e0 100644 --- a/libpcre/src/pcre2_xclass.c +++ b/libpcre/src/pcre2_xclass.c @@ -38,18 +38,16 @@ POSSIBILITY OF SUCH DAMAGE. ----------------------------------------------------------------------------- */ + /* This module contains two internal functions that are used to match OP_XCLASS and OP_ECLASS. It is used by pcre2_auto_possessify() and by both pcre2_match() and pcre2_dfa_match(). */ -#ifdef HAVE_CONFIG_H -#include "config.h" -#endif - - #include "pcre2_internal.h" + + /************************************************* * Match character against an XCLASS * *************************************************/ @@ -252,9 +250,11 @@ if (*data == XCL_PROP || *data == XCL_NOTPROP) /* This should never occur, but compilers may mutter if there is no default. */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return FALSE; + /* LCOV_EXCL_STOP */ } data += 2; @@ -529,9 +529,11 @@ while (ptr < data_end) /* This should never occur, but compilers may mutter if there is no default. */ + /* LCOV_EXCL_START */ default: PCRE2_DEBUG_UNREACHABLE(); return FALSE; + /* LCOV_EXCL_STOP */ } } diff --git a/libpcre/src/pcre2posix.c b/libpcre/src/pcre2posix.c index f9dcbceba..89b959419 100644 --- a/libpcre/src/pcre2posix.c +++ b/libpcre/src/pcre2posix.c @@ -41,18 +41,21 @@ POSSIBILITY OF SUCH DAMAGE. /* This module is a wrapper that provides a POSIX API to the underlying PCRE2 functions. The functions are called pcre2_regcomp(), pcre2_regexec(), etc. -pcre2posix.h defines the POSIX names as macros for the corresonding pcre2_xxx +pcre2posix.h defines the POSIX names as macros for the corresponding pcre2_xxx functions, so any program that includes it and uses the POSIX names will call the PCRE2 implementations instead. */ -#ifdef HAVE_CONFIG_H +/* This module doesn't use pcre2_internal.h, because the pcre2posix dynamic +library has an "internal" view of some macros, but is an "external" client of +the pcre2-8 dynamic library. This is unusual, and justifies a (rare) direct +inclusion of config.h. */ + +#if defined HAVE_CONFIG_H && !defined PCRE2_CONFIG_H_IDEMPOTENT_GUARD +#define PCRE2_CONFIG_H_IDEMPOTENT_GUARD #include "config.h" #endif -#ifdef PCRE2POSIX_SHARED -#undef PCRE2_STATIC -#endif /* Ensure that the PCRE2POSIX_EXP_xxx macros are set appropriately for @@ -60,9 +63,24 @@ compiling these functions. This must come before including pcre2posix.h, where they are set for an application (using these functions) if they have not previously been set. */ -#if defined(_WIN32) && (defined(PCRE2POSIX_SHARED) || !defined(PCRE2_STATIC)) -# define PCRE2POSIX_EXP_DECL extern __declspec(dllexport) -# define PCRE2POSIX_EXP_DEFN __declspec(dllexport) +#if defined __cplusplus +#error This project uses C99. C++ is not supported. +#endif + +#ifndef PCRE2POSIX_EXP_DECL +# if defined(_WIN32) && defined(PCRE2POSIX_SHARED) +# define PCRE2POSIX_EXP_DECL extern __declspec(dllexport) +# else +# define PCRE2POSIX_EXP_DECL extern PCRE2_EXPORT +# endif +#endif + +#ifndef PCRE2POSIX_EXP_DEFN +# if defined(_WIN32) && defined(PCRE2POSIX_SHARED) +# define PCRE2POSIX_EXP_DEFN extern __declspec(dllexport) +# else +# define PCRE2POSIX_EXP_DEFN extern PCRE2_EXPORT +# endif #endif /* Older versions of MSVC lack snprintf(). This define allows for @@ -71,7 +89,6 @@ MSVC 10/2010. Except for VC6 (which is missing some fundamentals and fails). */ #if defined(_MSC_VER) && (_MSC_VER < 1900) #define snprintf _snprintf -#define BROKEN_SNPRINTF #endif @@ -96,6 +113,13 @@ changed. This #define is a copy of the one in pcre2_internal.h. */ #include "pcre2posix.h" #include "pcre2_util.h" +/* For pcre2_tables.c */ +#define PCRE2_PCRE2POSIX +/* For pcre2_tables.c */ +#define PRIV(name) name + +#include "pcre2_tables.c" + /* Table to translate PCRE2 compile time error codes into POSIX error codes. Only a few PCRE2 errors with a value greater than 23 turn into special POSIX codes: most go to REG_BADPAT. The second table lists, in pairs, those that @@ -167,14 +191,6 @@ static const char *const pstring[] = { "match failed" /* NOMATCH */ }; -static int message_len(const char *message, int offset) -{ -char buf[12]; - -/* 11 magic number comes from the format below */ -return (int)strlen(message) + 11 + snprintf(buf, sizeof(buf), "%d", offset); -} - /************************************************* * Translate error code to string * *************************************************/ @@ -183,66 +199,50 @@ PCRE2POSIX_EXP_DEFN size_t PCRE2_CALL_CONVENTION pcre2_regerror(int errcode, const regex_t *preg, char *errbuf, size_t errbuf_size) { -int ret; const char *message; -size_t len = 0; /* keeps 0 if snprintf is used */ +char offset_buf[11+12]; /* big enough for " at offset -2147483648" */ +int snprintf_rc, have_offset = 0; +PCRE2_SIZE i; message = (errcode <= 0 || errcode >= (int)(sizeof(pstring)/sizeof(char *)))? "unknown error code" : pstring[errcode]; -if (preg != NULL && (int)preg->re_erroffset != -1) +if (preg != NULL && preg->re_erroffset != (size_t)(-1) + /* LCOV_EXCL_START - snprintf failures here are essentially unreachable */ + && (snprintf_rc = snprintf(offset_buf, sizeof(offset_buf), " at offset %d", + (int)preg->re_erroffset)) > 0 + && snprintf_rc < (int)sizeof(offset_buf)) + /* LCOV_EXCL_STOP */ { - /* no need to deal with UB in snprintf */ - if (errbuf_size > INT_MAX) errbuf_size = INT_MAX; - - /* there are 11 characters between message and offset; - update message_len() if changed */ - ret = snprintf(errbuf, errbuf_size, "%s at offset %d", message, - (int)preg->re_erroffset); - } -else - { - len = strlen(message); - if (errbuf_size != 0) - { - strncpy(errbuf, message, errbuf_size); - if (errbuf_size <= len) errbuf[errbuf_size - 1] = '\0'; - } - ret = (int)len; + have_offset = 1; + offset_buf[sizeof(offset_buf) - 1] = 0; /* Paranoia for very old snprintf */ } -PCRE2_ASSERT(len > 0 || preg != NULL); +for (i = 0; *message != 0; i++, message++) + if (i + 1 < errbuf_size) errbuf[i] = *message; -do { - if (ret < 0) - { -#ifdef BROKEN_SNPRINTF - /* _snprintf returns -1 on overflow and doesn't zero terminate */ - if (!len) - { - if (ret == -1 && errbuf_size != 0) errbuf[errbuf_size - 1] = '\0'; +if (have_offset) + { + for (message = offset_buf; *message != 0; i++, message++) + if (i + 1 < errbuf_size) errbuf[i] = *message; + } - ret = message_len(message, (int)preg->re_erroffset); - break; - } +#if defined EBCDIC && 'a' != 0x81 +/* If compiling for EBCDIC, but the compiler's string literals are not EBCDIC, +then we are in the "force EBCDIC 1047" mode. I have chosen to add a few lines +here to translate the error strings on the fly, rather than require the string +literals above to be written out arduously using the "STR_XYZ" macros. */ +for (PCRE2_SIZE j = 0; j < i && j < errbuf_size; ++j) + errbuf[j] = PRIV(ascii_to_ebcdic_1047)[(uint8_t)errbuf[j]]; #endif - /* snprintf failed, will use a 14 char long message if possible */ - ret = 14; - if (errbuf_size != 0) - { - strncpy(errbuf, "internal error", errbuf_size); - if ((int)errbuf_size <= ret) errbuf[errbuf_size - 1] = '\0'; - } - } - else if (ret == (int)errbuf_size && !len) - { - /* pre C99 snprintf returns used, so redo ret to fix that */ - ret = message_len(message, (int)preg->re_erroffset); - } -} while (0); +/* Terminate message, even if truncated. */ -return ret + 1; +if (errbuf_size > 0) + errbuf[(i < errbuf_size)? i : errbuf_size - 1] = 0; +i++; + +return (int)i; } @@ -283,6 +283,9 @@ int errorcode; int options = 0; int re_nsub = 0; +preg->re_match_data = NULL; +preg->re_pcre2_code = NULL; + patlen = ((cflags & REG_PEND) != 0)? (PCRE2_SIZE)(preg->re_endp - pattern) : PCRE2_ZERO_TERMINATED; @@ -324,10 +327,14 @@ preg->re_erroffset = (size_t)(-1); /* No meaning after successful compile */ if (preg->re_match_data == NULL) { - /* LCOV_EXCL_START */ + /* There is no facility for passing a custom allocator to the POSIX API, so + our test code cannot force a malloc failure here. If there were an API to + customize the default (global) PCRE2 allocator, we could test it. Since the + code is nonetheless reachable, I prefer not to exclude it from coverage + reporting. */ pcre2_code_free(preg->re_pcre2_code); + preg->re_pcre2_code = NULL; return REG_ESPACE; - /* LCOV_EXCL_STOP */ } return 0; diff --git a/libpcre/src/pcre2posix.h b/libpcre/src/pcre2posix.h index cccea57e7..198612afc 100644 --- a/libpcre/src/pcre2posix.h +++ b/libpcre/src/pcre2posix.h @@ -118,41 +118,38 @@ typedef struct { regoff_t rm_eo; } regmatch_t; +/* When an application links to a PCRE2 DLL in Windows, the symbols that are +imported have to be identified as such. When building PCRE2, the appropriate +export settings are needed, and are set in pcre2posix.c before including this +file. So, we don't change existing definitions of PCRE2POSIX_EXP_DECL. + +By default, we use the standard "extern" declarations. */ + +#ifndef PCRE2POSIX_EXP_DECL +# if defined(_WIN32) && defined(PCRE2POSIX_SHARED) +# define PCRE2POSIX_EXP_DECL extern __declspec(dllimport) +# elif defined __cplusplus +# define PCRE2POSIX_EXP_DECL extern "C" +# else +# define PCRE2POSIX_EXP_DECL extern +# endif +#endif + /* When compiling with the MSVC compiler, it is sometimes necessary to include -a "calling convention" before exported function names. (This is secondhand -information; I know nothing about MSVC myself). For example, something like +a "calling convention" before exported function names. For example: void __cdecl function(....) might be needed. In order to make this easy, all the exported functions have -PCRE2_CALL_CONVENTION just before their names. It is rarely needed; if not -set, we ensure here that it has no effect. */ +PCRE2_CALL_CONVENTION just before their names. + +PCRE2 normally uses the platform's standard calling convention, so this should +not be set unless you know you need it. */ #ifndef PCRE2_CALL_CONVENTION #define PCRE2_CALL_CONVENTION #endif -#ifndef PCRE2_EXPORT -#define PCRE2_EXPORT -#endif - -/* When an application links to a PCRE2 DLL in Windows, the symbols that are -imported have to be identified as such. When building PCRE2, the appropriate -export settings are needed, and are set in pcre2posix.c before including this -file. */ - -/* By default, we use the standard "extern" declarations. */ - -#ifndef PCRE2POSIX_EXP_DECL -# if defined(_WIN32) && defined(PCRE2POSIX_SHARED) && !defined(PCRE2_STATIC) -# define PCRE2POSIX_EXP_DECL extern __declspec(dllimport) -# define PCRE2POSIX_EXP_DEFN __declspec(dllimport) -# else -# define PCRE2POSIX_EXP_DECL extern PCRE2_EXPORT -# define PCRE2POSIX_EXP_DEFN -# endif -#endif - /* The functions. The actual code is in functions with pcre2_xxx names for uniqueness. POSIX names are provided as macros for API compatibility with POSIX regex functions. It's done this way to ensure to they are always linked from diff --git a/libpcre/src/pcre2test_inc.h b/libpcre/src/pcre2test_inc.h new file mode 100644 index 000000000..8124e9ca6 --- /dev/null +++ b/libpcre/src/pcre2test_inc.h @@ -0,0 +1,6349 @@ +/************************************************* +* Perl-Compatible Regular Expressions * +*************************************************/ + +/* PCRE is a library of functions to support regular expressions whose syntax +and semantics are as close as possible to those of the Perl 5 language. + + Written by Philip Hazel + Original API code Copyright (c) 1997-2012 University of Cambridge + New API code Copyright (c) 2016-2024 University of Cambridge + +----------------------------------------------------------------------------- +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + + * Redistributions of source code must retain the above copyright notice, + this list of conditions and the following disclaimer. + + * 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. + + * Neither the name of the University of Cambridge nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT OWNER 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. +----------------------------------------------------------------------------- +*/ + + +/* This module contains the mode-dependent code which is used by pcre2test.c. +It is #included in pcre2test.c at each supported code unit width, with +PCRE2_SUFFIX set appropriately, just like the functions that comprise the +library. */ + + +/* ------- Macros for hiding the bit width of this file's members ---------- */ + +#define pbuffer PCRE2_SUFFIX(pbuffer) +#define pbuffer_size G(pbuffer,_size) + +#if PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 +#define utf_to_ord G(G(utf,PCRE2_CODE_UNIT_WIDTH),_to_ord) +#endif + +#define compiled_code PCRE2_SUFFIX(compiled_code_) +#define general_context PCRE2_SUFFIX(general_context_) +#define general_context_copy PCRE2_SUFFIX(general_context_copy_) +#define pat_context PCRE2_SUFFIX(pat_context_) +#define default_pat_context PCRE2_SUFFIX(default_pat_context_) +#define con_context PCRE2_SUFFIX(con_context_) +#define default_con_context PCRE2_SUFFIX(default_con_context_) +#define dat_context PCRE2_SUFFIX(dat_context_) +#define default_dat_context PCRE2_SUFFIX(default_dat_context_) +#define match_data PCRE2_SUFFIX(match_data_) +#define jit_stack PCRE2_SUFFIX(jit_stack_) +#define jit_stack_size PCRE2_SUFFIX(jit_stack_size_) +#define patstack PCRE2_SUFFIX(patstack_) +#define patstacknext PCRE2_SUFFIX(patstacknext_) +#define rep_in_buffer PCRE2_SUFFIX(rep_in_buffer_) +#define rep_in_buffer_size PCRE2_SUFFIX(rep_in_buffer_size_) +#define rep_out_buffer PCRE2_SUFFIX(rep_out_buffer_) +#define rep_out_buffer_size PCRE2_SUFFIX(rep_out_buffer_size_) + +#define jit_callback PCRE2_SUFFIX(jit_callback_) +#define pcre2_strcmp_c8 PCRE2_SUFFIX(pcre2_strcmp_c8_) +#define pcre2_strlen PCRE2_SUFFIX(pcre2_strlen_) +#define pchars PCRE2_SUFFIX(pchars_) +#define ptrunc PCRE2_SUFFIX(ptrunc_) +#define config_str PCRE2_SUFFIX(config_str_) +#define check_modifier PCRE2_SUFFIX(check_modifier_) +#define decode_modifiers PCRE2_SUFFIX(decode_modifiers_) +#define pattern_info PCRE2_SUFFIX(pattern_info_) +#define show_memory_info PCRE2_SUFFIX(show_memory_info_) +#define show_framesize PCRE2_SUFFIX(show_framesize_) +#define show_heapframes_size PCRE2_SUFFIX(show_heapframes_size_) +#define print_error_message_file PCRE2_SUFFIX(print_error_message_file_) +#define print_error_message PCRE2_SUFFIX(print_error_message_) +#define callout_enumerate_function PCRE2_SUFFIX(callout_enumerate_function_) +#define callout_enumerate_function_void PCRE2_SUFFIX(callout_enumerate_function_void_) +#define callout_enumerate_function_fail PCRE2_SUFFIX(callout_enumerate_function_fail_) +#define show_pattern_info PCRE2_SUFFIX(show_pattern_info_) +#define serial_error PCRE2_SUFFIX(serial_error_) +#define process_command PCRE2_SUFFIX(process_command_) +#define process_pattern PCRE2_SUFFIX(process_pattern_) +#define have_active_pattern PCRE2_SUFFIX(have_active_pattern_) +#define free_active_pattern PCRE2_SUFFIX(free_active_pattern_) +#define check_match_limit PCRE2_SUFFIX(check_match_limit_) +#define substitute_callout_function PCRE2_SUFFIX(substitute_callout_function_) +#define substitute_case_callout_function PCRE2_SUFFIX(substitute_case_callout_function_) +#define callout_function PCRE2_SUFFIX(callout_function_) +#define copy_and_get PCRE2_SUFFIX(copy_and_get_) +#define copy_substitute_string PCRE2_SUFFIX(copy_substitute_string_) +#define process_data PCRE2_SUFFIX(process_data_) +#define init_globals PCRE2_SUFFIX(init_globals_) +#define free_globals PCRE2_SUFFIX(free_globals_) +#define unittest PCRE2_SUFFIX(unittest_) + + +/* ---------------------- Mode-dependent variables ------------------------- */ + +static pcre2_code *compiled_code = NULL; +static pcre2_general_context *general_context = NULL, *general_context_copy = NULL; +static pcre2_compile_context *pat_context = NULL, *default_pat_context = NULL; +static pcre2_convert_context *con_context = NULL, *default_con_context = NULL; +static pcre2_match_context *dat_context = NULL, *default_dat_context = NULL; +static pcre2_match_data *match_data = NULL; + +static pcre2_jit_stack *jit_stack = NULL; +static size_t jit_stack_size = 0; + +static pcre2_code *patstack[PATSTACKSIZE]; +static int patstacknext = 0; + +static PCRE2_UCHAR *rep_in_buffer = NULL; +static size_t rep_in_buffer_size = REPLACE_MODSIZE; /* Code units */ +static PCRE2_UCHAR *rep_out_buffer = NULL; +static size_t rep_out_buffer_size = REPLACE_BUFFSIZE; /* Code units */ + + + +/************************************************* +* JIT memory callback * +*************************************************/ + +static pcre2_jit_stack* +jit_callback(void *arg) +{ +jit_was_used = TRUE; +return (pcre2_jit_stack *)arg; +} + + + +/************************************************* +* Compare zero-terminated PCRE2 & 8-bit strings * +*************************************************/ + +static int +pcre2_strcmp_c8(PCRE2_SPTR str1, const char *str2) +{ +PCRE2_UCHAR c1, c2; +while (*str1 != '\0' || *str2 != '\0') + { + c1 = *str1++; + c2 = *str2++; + if (c1 != c2) return ((c1 > c2) << 1) - 1; + } +return 0; +} + + + +/************************************************* +* Find the length of a PCRE2 string * +*************************************************/ + +static size_t +pcre2_strlen(PCRE2_SPTR str) +{ +size_t c = 0; +while (*str++ != 0) c++; +return c; +} + + + +/************************************************* +* Print character string * +*************************************************/ + +/* Must handle Unicode strings in UTF mode. Yields number of characters printed. +For printing *MARK strings, a negative length is given, indicating that the +length is in the first code unit. If handed a NULL file, this function just +counts chars without printing (because pchar() does that). */ + +static int pchars(int clr, PCRE2_SPTR p, ptrdiff_t length, BOOL utf, FILE *f) +{ +#if PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 +PCRE2_SPTR end; +uint32_t c = 0; +int yield = 0; + +colour_begin(clr, f); + +if (length < 0) length = *p++; +end = p + length; +while (length-- > 0) + { + if (utf) + { + int rc = utf_to_ord(p, end, &c); + if (rc > 0 && rc <= length + 1) /* Mustn't run over the end */ + { + length -= rc - 1; + p += rc; + yield += pchar(c, utf, f); + continue; + } + } + c = *p++; + yield += pchar(c, utf, f); + } + +colour_end(f); +return yield; + +#else +int yield = 0; + +colour_begin(clr, f); + +if (length < 0) length = *p++; +while (length-- > 0) + { + uint32_t c = *p++; + yield += pchar(c, utf, f); + } + +colour_end(f); +return yield; + +#endif +} + + + +/************************************************* +* Print truncated character string * +*************************************************/ + +/* Must handle Unicode strings in UTF mode. Passed the total input string, and +the offset to print from/to. If left is true, prints up to the offset, +truncated; otherwise prints from the offset to the right, truncated. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 +static void ptrunc_8(int clr, PCRE2_SPTR p, size_t p_len, size_t offset, + BOOL left, BOOL utf, FILE *f) +{ +PCRE2_SPTR start = p + offset; +PCRE2_SPTR end = p + offset; +size_t printed = 0; + +colour_begin(clr, f); + +if (left) + { + while (start > p && printed < 10) + { + printed++; + start--; + if (utf) + { while(start > p && (*start & 0xc0u) == 0x80u) start--; } + } + } +else + { + while (end < p + p_len && printed < 10) + { + printed++; + end++; + if (utf) + { while(end < p + p_len && (*end & 0xc0u) == 0x80u) end++; } + } + } + +if (left && start > p) fprintf(f, "..."); +for (; start < end; start++) fprintf(f, "%c", CHAR_OUTPUT(*start)); +if (!left && end < p + p_len) fprintf(f, "..."); + +colour_end(f); +} + +#elif PCRE2_CODE_UNIT_WIDTH == 16 +static void ptrunc_16(int clr, PCRE2_SPTR p, size_t p_len, size_t offset, + BOOL left, BOOL utf, FILE *f) +{ +PCRE2_SPTR start = p + offset; +PCRE2_SPTR end = p + offset; +size_t printed = 0; + +colour_begin(clr, f); + +if (left) + { + while (start > p && printed < 10) + { + printed++; + start--; + if (utf) + { while(start > p && (*start & 0xfc00u) == 0xdc00u) start--; } + } + } +else + { + while (end < p + p_len && printed < 10) + { + printed++; + end++; + if (utf) + { while(end < p + p_len && (*end & 0xfc00u) == 0xdc00u) end++; } + } + } + +if (left && start > p) fprintf(f, "..."); +while (start < end) + { + uint32_t c; + int rc = utf16_to_ord(start, end, &c); + if (rc < 0) c = *start++; + else start += rc; + if (c > 0xff || (utf && c > 0x7f)) + { + uint8_t u8buff[6]; + int clen = ord_to_utf8(c, u8buff); + fprintf(f, "%.*s", clen, u8buff); + continue; + } + fputc((int)c, f); + } +if (!left && end < p + p_len) fprintf(f, "..."); + +colour_end(f); +} + +#elif PCRE2_CODE_UNIT_WIDTH == 32 +static void ptrunc_32(int clr, PCRE2_SPTR p, size_t p_len, size_t offset, + BOOL left, BOOL utf, FILE *f) +{ +PCRE2_SPTR start = p + offset; +PCRE2_SPTR end = p + offset; + +colour_begin(clr, f); + +if (left) + { + start -= (offset > 10)? 10 : offset; + } +else + { + end += (p + p_len - end > 10)? 10 : p + p_len - end; + } + +if (left && start > p) fprintf(f, "..."); +while (start < end) + { + uint32_t c = *start++; + if (c > 0xff || (utf && c > 0x7f)) + { + uint8_t u8buff[6]; + int clen = ord_to_utf8(c, u8buff); + fprintf(f, "%.*s", clen, u8buff); + continue; + } + fputc((int)c, f); + } +if (!left && end < p + p_len) fprintf(f, "..."); + +colour_end(f); +} +#endif + +#if PCRE2_CODE_UNIT_WIDTH == 16 +/************************************************* +* Convert string to 16-bit * +*************************************************/ + +/* In UTF mode the input is always interpreted as a string of UTF-8 bytes using +the original UTF-8 definition of RFC 2279, which allows for up to 6 bytes, and +code values from 0 to 0x7fffffff. However, values greater than the later UTF +limit of 0x10ffff cause an error. In non-UTF mode the input is interpreted as +UTF-8 if the utf8_input modifier is set, but an error is generated for values +greater than 0xffff. + +If all the input bytes are ASCII, the space needed for a 16-bit string is +exactly double the 8-bit size. Otherwise, the size needed for a 16-bit string +is no more than double, because up to 0xffff uses no more than 3 bytes in UTF-8 +but possibly 4 in UTF-16. Higher values use 4 bytes in UTF-8 and up to 4 bytes +in UTF-16. The result is always left in pbuffer16. Impose a minimum size to +save repeated re-sizing. + +Note that this function does not object to surrogate values. This is +deliberate; it makes it possible to construct UTF-16 strings that are invalid, +for the purpose of testing that they are correctly faulted. + +Arguments: + p points to a byte string + utf true in UTF mode + lenptr points to number of bytes in the string (excluding trailing zero) + +Returns: 0 on success, with the length updated to the number of 16-bit + data items used (excluding the trailing zero) + OR -1 if a UTF-8 string is malformed + OR -2 if a value > 0x10ffff is encountered in UTF mode + OR -3 if a value > 0xffff is encountered when not in UTF mode +*/ + +static int +to16(uint8_t *p, int utf, PCRE2_SIZE *lenptr) +{ +uint16_t *pp; +PCRE2_SIZE len = *lenptr; + +if (pbuffer16_size < 2*len + 2) + { + if (pbuffer16 != NULL) free(pbuffer16); + pbuffer16_size = 2*len + 2; + if (pbuffer16_size < 4096) pbuffer16_size = 4096; + pbuffer16 = (uint16_t *)malloc(pbuffer16_size); + if (pbuffer16 == NULL) + { + cfprintf(clr_test_error, stderr, "pcre2test: malloc(%" SIZ_FORM ") failed for pbuffer16\n", + pbuffer16_size); + exit(1); + } + } + +pp = pbuffer16; +if (!utf && (pat_patctl.control & CTL_UTF8_INPUT) == 0) + { + for (; len > 0; len--) *pp++ = *p++; + } + +else while (len > 0) + { + uint32_t c; + const uint8_t *end = p + len; + int chlen = utf8_to_ord(p, end, &c); + if (chlen <= 0) return -1; + if (!utf && c > 0xffff) return -3; + if (c > 0x10ffff) return -2; + p += chlen; + len -= chlen; + if (c < 0x10000) *pp++ = c; else + { + c -= 0x10000; + *pp++ = 0xd800 | (c >> 10); + *pp++ = 0xdc00 | (c & 0x3ff); + } + } + +*pp = 0; +*lenptr = pp - pbuffer16; +return 0; +} +#endif /* PCRE2_CODE_UNIT_WIDTH == 16 */ + + + +#if PCRE2_CODE_UNIT_WIDTH == 32 +/************************************************* +* Convert string to 32-bit * +*************************************************/ + +/* In UTF mode the input is always interpreted as a string of UTF-8 bytes using +the original UTF-8 definition of RFC 2279, which allows for up to 6 bytes, and +code values from 0 to 0x7fffffff. However, values greater than the later UTF +limit of 0x10ffff cause an error. + +In non-UTF mode the input is interpreted as UTF-8 if the utf8_input modifier +is set, and no limit is imposed. There is special interpretation of the 0xff +byte (which is illegal in UTF-8) in this case: it causes the top bit of the +next character to be set. This provides a way of generating 32-bit characters +greater than 0x7fffffff. + +If all the input bytes are ASCII, the space needed for a 32-bit string is +exactly four times the 8-bit size. Otherwise, the size needed for a 32-bit +string is no more than four times, because the number of characters must be +less than the number of bytes. The result is always left in pbuffer32. Impose a +minimum size to save repeated re-sizing. + +Note that this function does not object to surrogate values. This is +deliberate; it makes it possible to construct UTF-32 strings that are invalid, +for the purpose of testing that they are correctly faulted. + +Arguments: + p points to a byte string + utf true in UTF mode + lenptr points to number of bytes in the string (excluding trailing zero) + +Returns: 0 on success, with the length updated to the number of 32-bit + data items used (excluding the trailing zero) + OR -1 if a UTF-8 string is malformed + OR -2 if a value > 0x10ffff is encountered in UTF mode +*/ + +static int +to32(uint8_t *p, int utf, PCRE2_SIZE *lenptr) +{ +uint32_t *pp; +PCRE2_SIZE len = *lenptr; + +if (pbuffer32_size < 4*len + 4) + { + if (pbuffer32 != NULL) free(pbuffer32); + pbuffer32_size = 4*len + 4; + if (pbuffer32_size < 8192) pbuffer32_size = 8192; + pbuffer32 = (uint32_t *)malloc(pbuffer32_size); + if (pbuffer32 == NULL) + { + cfprintf(clr_test_error, stderr, "pcre2test: malloc(%" SIZ_FORM ") failed for pbuffer32\n", + pbuffer32_size); + exit(1); + } + } + +pp = pbuffer32; +if (!utf && (pat_patctl.control & CTL_UTF8_INPUT) == 0) + { + for (; len > 0; len--) *pp++ = *p++; + } + +else while (len > 0) + { + int chlen; + uint32_t c; + uint32_t topbit = 0; + const uint8_t *end = p + len; + if (!utf && *p == 0xff && len > 1) + { + topbit = 0x80000000u; + p++; + len--; + } + chlen = utf8_to_ord(p, end, &c); + if (chlen <= 0) return -1; + if (utf && c > 0x10ffff) return -2; + p += chlen; + len -= chlen; + *pp++ = c | topbit; + } + +*pp = 0; +*lenptr = pp - pbuffer32; +return 0; +} +#endif /* PCRE2_CODE_UNIT_WIDTH == 32 */ + + + +/************************************************* +* Read a string from pcre2_config() * +*************************************************/ + +/* Read out a version string from pcre2_config(), transcoding it into an +8-bit buffer. + +Arguments: + what the item to read + where the 8-bit buffer to receive the string +*/ + +static void +config_str(uint32_t what, char *where) +{ +int r1, r2; +PCRE2_UCHAR buf[VERSION_SIZE]; + +r1 = pcre2_config(what, NULL); +r2 = pcre2_config(what, buf); +if (r1 < 0 || r1 != r2 || r1 >= VERSION_SIZE) + { + cfprintf(clr_test_error, stderr, "pcre2test: Error in pcre2_config(%d)\n", what); + exit(1); + } + +while (r1-- > 0) where[r1] = (char)buf[r1]; +} + + + +/************************************************* +* Check a modifier and find its field * +*************************************************/ + +/* This function is called when a modifier has been identified. We check that +it is allowed here and find the field that is to be changed. + +Arguments: + m the modifier list entry + ctx CTX_PAT => pattern context + CTX_POPPAT => pattern context for popped pattern + CTX_DEFPAT => default pattern context + CTX_DAT => data context + CTX_DEFDAT => default data context + pctl point to pattern control block + dctl point to data control block + c a single character or 0 + +Returns: a field pointer or NULL +*/ + +static void * +check_modifier(modstruct *m, int ctx, patctl *pctl, datctl *dctl, uint32_t c) +{ +void *field = NULL; +PCRE2_SIZE offset = m->offset; + +if (restrict_for_perl_test) switch(m->which) + { + case MOD_PNDP: + case MOD_PATP: + case MOD_DATP: + case MOD_PDP: + break; + + default: + cfprintf(clr_test_error, outfile, "** \"%s\" is not allowed in a Perl-compatible test\n", + m->name); + return NULL; + } + +switch (m->which) + { + case MOD_CTC: /* Compile context modifier */ + if (ctx == CTX_DEFPAT) field = default_pat_context; + else if (ctx == CTX_PAT) field = pat_context; + break; + + case MOD_CTM: /* Match context modifier */ + if (ctx == CTX_DEFDAT) field = default_dat_context; + else if (ctx == CTX_DAT) field = dat_context; + break; + + case MOD_DAT: /* Data line modifier */ + case MOD_DATP: /* Allowed for Perl test */ + if (dctl != NULL) field = dctl; + break; + + case MOD_PAT: /* Pattern modifier */ + case MOD_PATP: /* Allowed for Perl test */ + if (pctl != NULL) field = pctl; + break; + + case MOD_PD: /* Pattern or data line modifier */ + case MOD_PDP: /* Ditto, allowed for Perl test */ + case MOD_PND: /* Ditto, but not default pattern */ + case MOD_PNDP: /* Ditto, allowed for Perl test */ + if (dctl != NULL) field = dctl; + else if (pctl != NULL && (m->which == MOD_PD || m->which == MOD_PDP || + ctx != CTX_DEFPAT)) + field = pctl; + break; + } + +if (field == NULL) + { + if (c == 0) + cfprintf(clr_test_error, outfile, "** \"%s\" is not valid here\n", m->name); + else + cfprintf(clr_test_error, outfile, "** /%c is not valid here\n", c); + return NULL; + } + +return (char *)field + offset; +} + + + +/************************************************* +* Decode a modifier list * +*************************************************/ + +/* A pointer to a control block is NULL when called in cases when that block is +not relevant. They are never all relevant in one call. At least one of patctl +and datctl is NULL. The second argument specifies which context to use for +modifiers that apply to contexts. + +Arguments: + p point to modifier string + ctx CTX_PAT => pattern context + CTX_POPPAT => pattern context for popped pattern + CTX_DEFPAT => default pattern context + CTX_DAT => data context + CTX_DEFDAT => default data context + pctl point to pattern control block + dctl point to data control block + +Returns: TRUE if successful decode, FALSE otherwise +*/ + +static BOOL +decode_modifiers(uint8_t *p, int ctx, patctl *pctl, datctl *dctl) +{ +uint8_t *ep, *pp; +long li; +unsigned long uli; +BOOL first = TRUE; + +for (;;) + { + void *field; + modstruct *m; + BOOL off = FALSE; + unsigned int i; + size_t len; + int index; + char *endptr; + + /* Skip white space and commas. */ + + while (isspace(*p) || *p == ',') p++; + if (*p == 0) break; + + /* Find the end of the item; lose trailing whitespace at end of line. */ + + for (ep = p; *ep != 0 && *ep != ','; ep++); + if (*ep == 0) + { + while (ep > p && isspace(ep[-1])) ep--; + *ep = 0; + } + + /* Remember if the first character is '-'. */ + + if (*p == '-') + { + off = TRUE; + p++; + } + + /* Find the length of a full-length modifier name, and scan for it. */ + + pp = p; + while (pp < ep && *pp != '=') pp++; + index = scan_modifiers(p, pp - p); + + /* If the first modifier is unrecognized, try to interpret it as a sequence + of single-character abbreviated modifiers. None of these modifiers have any + associated data. They just set options or control bits. */ + + if (index < 0) + { + uint32_t cc; + uint8_t *mp = p; + + if (!first) + { + cfprintf(clr_test_error, outfile, "** Unrecognized modifier \"%.*s\"\n", (int)(ep-p), p); + if (ep - p == 1) + cfprintf(clr_test_error, outfile, "** Single-character modifiers must come first\n"); + return FALSE; + } + + first = FALSE; + + for (cc = *p; cc != ',' && cc != '\n' && cc != 0; cc = *(++p)) + { + for (i = 0; i < C1MODLISTCOUNT; i++) + if (cc == c1modlist[i].onechar) break; + + if (i >= C1MODLISTCOUNT) + { + cfprintf(clr_test_error, outfile, "** Unrecognized modifier '%c' in modifier string " + "\"%.*s\"\n", *p, (int)(ep-mp), mp); + return FALSE; + } + + if (c1modlist[i].index >= 0) + { + index = c1modlist[i].index; + } + + else + { + index = scan_modifiers((const uint8_t *)(c1modlist[i].fullname), + strlen(c1modlist[i].fullname)); + if (index < 0) + { + cfprintf(clr_test_error, outfile, "** Internal error: single-character equivalent " + "modifier \"%s\" not found\n", c1modlist[i].fullname); + return FALSE; + } + c1modlist[i].index = index; /* Cache for next time */ + } + + field = check_modifier(modlist + index, ctx, pctl, dctl, *p); + if (field == NULL) return FALSE; + + /* /x is a special case; a second appearance changes PCRE2_EXTENDED to + PCRE2_EXTENDED_MORE. */ + + if (cc == 'x' && (*((uint32_t *)field) & PCRE2_EXTENDED) != 0) + { + *((uint32_t *)field) &= ~PCRE2_EXTENDED; + *((uint32_t *)field) |= PCRE2_EXTENDED_MORE; + } + else + *((uint32_t *)field) |= modlist[index].value; + } + + continue; /* With the next (fullname) modifier */ + } + + /* We have a match on a full-name modifier. Check for the existence of data + when needed. */ + + m = modlist + index; /* Save typing */ + if (m->type != MOD_CTL && m->type != MOD_OPT && m->type != MOD_OPTMZ && + (m->type != MOD_IND || *pp == '=')) + { + if (*pp++ != '=') + { + cfprintf(clr_test_error, outfile, "** '=' expected after \"%s\"\n", m->name); + return FALSE; + } + if (off) + { + cfprintf(clr_test_error, outfile, "** '-' is not valid for \"%s\"\n", m->name); + return FALSE; + } + } + + /* These on/off types have no data. */ + + else if (*pp != ',' && *pp != '\n' && *pp != ' ' && *pp != 0) + { + cfprintf(clr_test_error, outfile, "** Unrecognized modifier '%.*s'\n", (int)(ep-p), p); + return FALSE; + } + + /* Set the data length for those types that have data. Then find the field + that is to be set. If check_modifier() returns NULL, it has already output an + error message. */ + + len = ep - pp; + field = check_modifier(m, ctx, pctl, dctl, 0); + if (field == NULL) return FALSE; + + /* Process according to data type. */ + + switch (m->type) + { + case MOD_CTL: + case MOD_OPT: + if (off) *((uint32_t *)field) &= ~m->value; + else *((uint32_t *)field) |= m->value; + break; + + case MOD_OPTMZ: + pcre2_set_optimize(field, m->value); + break; + + case MOD_BSR: + if (len == 7 && strncmpic(pp, (const uint8_t *)"default", 7) == 0) + { +#ifdef BSR_ANYCRLF + *((uint16_t *)field) = PCRE2_BSR_ANYCRLF; +#else + *((uint16_t *)field) = PCRE2_BSR_UNICODE; +#endif + if (ctx == CTX_PAT || ctx == CTX_DEFPAT) pctl->control2 &= ~CTL2_BSR_SET; + else dctl->control2 &= ~CTL2_BSR_SET; + } + else + { + if (len == 7 && strncmpic(pp, (const uint8_t *)"anycrlf", 7) == 0) + *((uint16_t *)field) = PCRE2_BSR_ANYCRLF; + else if (len == 7 && strncmpic(pp, (const uint8_t *)"unicode", 7) == 0) + *((uint16_t *)field) = PCRE2_BSR_UNICODE; + else goto INVALID_VALUE; + if (ctx == CTX_PAT || ctx == CTX_DEFPAT) pctl->control2 |= CTL2_BSR_SET; + else dctl->control2 |= CTL2_BSR_SET; + } + pp = ep; + break; + + case MOD_CHR: /* A single character */ + *((uint32_t *)field) = *pp++; + break; + + case MOD_CON: /* A convert type/options list */ + for (;; pp++) + { + uint8_t *colon = (uint8_t *)strchr((const char *)pp, ':'); + len = ((colon != NULL && colon < ep)? colon:ep) - pp; + for (i = 0; i < convertlistcount; i++) + { + if (strncmpic(pp, (const uint8_t *)convertlist[i].name, len) == 0) + { + if (*((uint32_t *)field) == CONVERT_UNSET) + *((uint32_t *)field) = convertlist[i].option; + else + *((uint32_t *)field) |= convertlist[i].option; + break; + } + } + if (i >= convertlistcount) goto INVALID_VALUE; + pp += len; + if (*pp != ':') break; + } + break; + + case MOD_IN2: /* One or two unsigned integers */ + if (!isdigit(*pp)) goto INVALID_VALUE; + uli = strtoul((const char *)pp, &endptr, 10); + if (U32OVERFLOW(uli)) goto INVALID_VALUE; + ((uint32_t *)field)[0] = (uint32_t)uli; + if (*endptr == ':') + { + uli = strtoul((const char *)endptr+1, &endptr, 10); + if (U32OVERFLOW(uli)) goto INVALID_VALUE; + ((uint32_t *)field)[1] = (uint32_t)uli; + } + else ((uint32_t *)field)[1] = 0; + pp = (uint8_t *)endptr; + break; + + /* PCRE2_SIZE_MAX is usually SIZE_MAX, which may be greater, equal to, or + less than ULONG_MAX. So first test for overflowing the long int, and then + test for overflowing PCRE2_SIZE_MAX if it is smaller than ULONG_MAX. */ + + case MOD_SIZ: /* PCRE2_SIZE value */ + if (!isdigit(*pp)) goto INVALID_VALUE; + uli = strtoul((const char *)pp, &endptr, 10); + if (uli == ULONG_MAX) goto INVALID_VALUE; +#if ULONG_MAX > PCRE2_SIZE_MAX + if (uli > PCRE2_SIZE_MAX) goto INVALID_VALUE; +#endif + *((PCRE2_SIZE *)field) = (PCRE2_SIZE)uli; + pp = (uint8_t *)endptr; + break; + + case MOD_IND: /* Unsigned integer with default */ + if (len == 0) + { + *((uint32_t *)field) = (uint32_t)(m->value); + break; + } + PCRE2_FALLTHROUGH /* Fall through */ + + case MOD_INT: /* Unsigned integer */ + if (!isdigit(*pp)) goto INVALID_VALUE; + uli = strtoul((const char *)pp, &endptr, 10); + if (U32OVERFLOW(uli)) goto INVALID_VALUE; + *((uint32_t *)field) = (uint32_t)uli; + pp = (uint8_t *)endptr; + break; + + case MOD_INS: /* Signed integer */ + if (!isdigit(*pp) && *pp != '-') goto INVALID_VALUE; + li = strtol((const char *)pp, &endptr, 10); + if (S32OVERFLOW(li)) goto INVALID_VALUE; + *((int32_t *)field) = (int32_t)li; + pp = (uint8_t *)endptr; + break; + + case MOD_NL: + for (i = 0; i < sizeof(newlines)/sizeof(char *); i++) + if (len == strlen(newlines[i]) && + strncmpic(pp, (const uint8_t *)newlines[i], len) == 0) break; + if (i >= sizeof(newlines)/sizeof(char *)) goto INVALID_VALUE; + if (i == 0) + { + pcre2_set_newline(field, NEWLINE_DEFAULT); + if (ctx == CTX_PAT || ctx == CTX_DEFPAT) pctl->control2 &= ~CTL2_NL_SET; + else dctl->control2 &= ~CTL2_NL_SET; + } + else + { + pcre2_set_newline(field, i); + if (ctx == CTX_PAT || ctx == CTX_DEFPAT) pctl->control2 |= CTL2_NL_SET; + else dctl->control2 |= CTL2_NL_SET; + } + pp = ep; + break; + + case MOD_NN: /* Name or (signed) number; may be several */ + if (isdigit(*pp) || *pp == '-') + { + int ct = MAXCPYGET - 1; + int32_t value; + li = strtol((const char *)pp, &endptr, 10); + if (S32OVERFLOW(li)) goto INVALID_VALUE; + value = (int32_t)li; + field = (char *)field - m->offset + m->value; /* Adjust field ptr */ + if (value >= 0) /* Add new number */ + { + while (*((int32_t *)field) >= 0 && ct-- > 0) /* Skip previous */ + field = (char *)field + sizeof(int32_t); + if (ct <= 0) + { + cfprintf(clr_test_error, outfile, "** Too many numeric \"%s\" modifiers\n", m->name); + return FALSE; + } + } + *((int32_t *)field) = value; + if (ct > 0) ((int32_t *)field)[1] = -1; + pp = (uint8_t *)endptr; + } + + /* Multiple strings are put end to end. */ + + else + { + char *nn = (char *)field; + if (len > 0) /* Add new name */ + { + if (len > MAX_NAME_SIZE) + { + cfprintf(clr_test_error, outfile, "** Group name in \"%s\" is too long\n", m->name); + return FALSE; + } + while (*nn != 0) nn += strlen(nn) + 1; + if (nn + len + 2 - (char *)field > LENCPYGET) + { + cfprintf(clr_test_error, outfile, "** Too many characters in named \"%s\" modifiers\n", + m->name); + return FALSE; + } + memcpy(nn, pp, len); + } + nn[len] = 0 ; + nn[len+1] = 0; + pp = ep; + } + break; + + case MOD_STR: + if (len + 1 > m->value) + { + cfprintf(clr_test_error, outfile, "** Overlong value for \"%s\" (max %d code units)\n", + m->name, m->value - 1); + return FALSE; + } + ((uint8_t *)field)[0] = len; + memcpy(((uint8_t *)field)+1, pp, len); + ((uint8_t *)field)[len+1] = 0; + pp = ep; + break; + } + + if (*pp != ',' && *pp != '\n' && *pp != ' ' && *pp != 0) + { + cfprintf(clr_test_error, outfile, "** Comma expected after modifier item \"%s\"\n", m->name); + return FALSE; + } + + p = pp; + + if (ctx == CTX_POPPAT && + (pctl->options != 0 || + pctl->tables_id != 0 || + pctl->locale[0] != MOD_STR_UNSET || + (pctl->control & NOTPOP_CONTROLS) != 0)) + { + cfprintf(clr_test_error, outfile, "** \"%s\" is not valid here\n", m->name); + return FALSE; + } + } + +return TRUE; + +INVALID_VALUE: +cfprintf(clr_test_error, outfile, "** Invalid value in \"%.*s\"\n", (int)(ep-p), p); +return FALSE; +} + + + +/************************************************* +* Get info from a pattern * +*************************************************/ + +/* A wrapped call to pcre2_pattern_info(), applied to the current compiled +pattern. + +Arguments: + what code for the required information + where where to put the answer + unsetok PCRE2_ERROR_UNSET is an "expected" result + +Returns: the return from pcre2_pattern_info() +*/ + +static int +pattern_info(int what, void *where, BOOL unsetok) +{ +int rc; +(void)pcre2_pattern_info(compiled_code, what, NULL); /* Exercise the code */ +rc = pcre2_pattern_info(compiled_code, what, where); +if (rc >= 0) return 0; +if (rc != PCRE2_ERROR_UNSET || !unsetok) + { + cfprintf(clr_api_error, outfile, "Error %d from " + "pcre2_pattern_info_" STR(PCRE2_CODE_UNIT_WIDTH) "(%d)\n", rc, what); + } +return rc; +} + + + +/************************************************* +* Show memory usage info for a pattern * +*************************************************/ + +static void +show_memory_info(void) +{ +uint32_t name_count, name_entry_size; +PCRE2_SIZE size, cblock_size, data_size; + +cblock_size = sizeof(pcre2_real_code); + +(void)pattern_info(PCRE2_INFO_SIZE, &size, FALSE); +(void)pattern_info(PCRE2_INFO_NAMECOUNT, &name_count, FALSE); +(void)pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &name_entry_size, FALSE); + +/* The uint32_t variables are cast before multiplying to avoid potential + integer overflow. */ +data_size = CU2BYTES((PCRE2_SIZE)name_count * (PCRE2_SIZE)name_entry_size); + +cfprintf(clr_profiling, outfile, "Memory allocation - code size : %" SIZ_FORM "\n", size - + cblock_size - data_size); +if (data_size != 0) + cfprintf(clr_profiling, outfile, "Memory allocation - data size : %" SIZ_FORM "\n", data_size); + +if (pat_patctl.jit != 0) + { + (void)pattern_info(PCRE2_INFO_JITSIZE, &size, FALSE); + cfprintf(clr_profiling, outfile, "Memory allocation - JIT code : %" SIZ_FORM "\n", size); + } +} + + + +/************************************************* +* Show frame size info for a pattern * +*************************************************/ + +static void +show_framesize(void) +{ +PCRE2_SIZE frame_size; +(void)pattern_info(PCRE2_INFO_FRAMESIZE, &frame_size, FALSE); +cfprintf(clr_profiling, outfile, "Frame size for pcre2_match(): %" SIZ_FORM "\n", frame_size); +} + + + +/************************************************* +* Show heapframes size info for a match_data * +*************************************************/ + +static void +show_heapframes_size(void) +{ +PCRE2_SIZE heapframes_size; +heapframes_size = pcre2_get_match_data_heapframes_size(match_data); +cfprintf(clr_profiling, outfile, "Heapframes size in match_data: %" SIZ_FORM "\n", + heapframes_size); +} + + + +/************************************************* +* Get and output an error message * +*************************************************/ + +static BOOL +print_error_message_file(FILE *file, int errorcode, const char *before, + const char *after, BOOL badcode_ok) +{ +int len; +PCRE2_UCHAR buf[128]; + +len = pcre2_get_error_message(errorcode, buf, sizeof(buf)/sizeof(*buf)); +if (len == PCRE2_ERROR_BADDATA && badcode_ok) + { + cfprintf(clr_api_error, file, "%sPCRE2_ERROR_BADDATA (unknown error number)%s", before, + after); + } +else if (len < 0) + { + cfprintf(clr_test_error, file, "\n** pcre2test internal error: cannot interpret error " + "number\n** Unexpected return (%d) from pcre2_get_error_message()\n", len); + } +else if ((unsigned)len != pcre2_strlen(buf)) + { + cfprintf(clr_test_error, file, "\n** pcre2test: unexpected length %d from pcre2_get_error_message()\n", len); + return FALSE; + } +else + { + cfprintf(clr_api_error, file, "%s", before); + pchars(clr_api_error, buf, len, FALSE, file); + cfprintf(clr_api_error, file, "%s", after); + } +return len >= 0; +} + +static BOOL +print_error_message(int errorcode, const char *before, const char *after) +{ +return print_error_message_file(outfile, errorcode, before, after, FALSE); +} + + +/************************************************* +* Callback function for callout enumeration * +*************************************************/ + +/* Testing function to log data inside callout enumeration callbacks. + +Argument: + cb pointer to enumerate block + callout_data user data + +Returns: 0 +*/ + +static int callout_enumerate_function(pcre2_callout_enumerate_block *cb, + void *callout_data) +{ +uint32_t i; +PCRE2_SPTR pattern_string = pbuffer; +BOOL utf = (compiled_code->overall_options & PCRE2_UTF) != 0; +PCRE2_SIZE next_item_length = cb->next_item_length; + +(void)callout_data; /* Not currently displayed */ + +fprintf(outfile, "Callout "); +if (cb->callout_string != NULL) + { + uint32_t delimiter = cb->callout_string[-1]; + fprintf(outfile, "%c", CHAR_OUTPUT(delimiter)); + pchars(clr_none, cb->callout_string, cb->callout_string_length, utf, outfile); + for (i = 0; callout_start_delims[i] != 0; i++) + if (delimiter == callout_start_delims[i]) + { + delimiter = callout_end_delims[i]; + break; + } + fprintf(outfile, "%c ", CHAR_OUTPUT(delimiter)); + } +else fprintf(outfile, "%d ", cb->callout_number); + +if (next_item_length == 0 && pattern_string[cb->pattern_position] != 0) + next_item_length = 1; +pchars(clr_none, pattern_string+cb->pattern_position, next_item_length, utf, outfile); +fprintf(outfile, "\n"); + +return 0; +} + +static int callout_enumerate_function_void(pcre2_callout_enumerate_block *cb, + void *callout_data) +{ +(void)cb; +(void)callout_data; +return 0; +} + +static int callout_enumerate_function_fail(pcre2_callout_enumerate_block *cb, + void *callout_data) +{ +(void)cb; +return *(int *)callout_data; +} + + + +/************************************************* +* Show information about a pattern * +*************************************************/ + +/* This function is called after a pattern has been compiled if any of the +information-requesting controls have been set. + +Arguments: none + +Returns: PR_OK continue processing next line + PR_SKIP skip to a blank line + PR_ABEND abort the pcre2test run +*/ + +static int +show_pattern_info(void) +{ +int rc; +uint32_t compile_options, overall_options, extra_options; +BOOL utf = (compiled_code->overall_options & PCRE2_UTF) != 0; + +if ((pat_patctl.control & CTL_MEMORY) != 0) + show_memory_info(); + +if ((pat_patctl.control2 & CTL2_FRAMESIZE) != 0) + show_framesize(); + +if ((pat_patctl.control & (CTL_BINCODE|CTL_FULLBINCODE)) != 0) + { + fprintf(outfile, "------------------------------------------------------------------\n"); + pcre2_printint(compiled_code, outfile, + (pat_patctl.control & CTL_FULLBINCODE) != 0); + } + +if ((pat_patctl.control & CTL_INFO) != 0) + { + PCRE2_SPTR nametable; + uint8_t *start_bits; + BOOL heap_limit_set, match_limit_set, depth_limit_set; + uint32_t backrefmax, bsr_convention, capture_count, first_ctype, first_cunit, + hasbackslashc, hascrorlf, jchanged, last_ctype, last_cunit, match_empty, + depth_limit, heap_limit, match_limit, minlength, nameentrysize, namecount, + newline_convention; + + /* These info requests may return PCRE2_ERROR_UNSET. */ + + switch(pattern_info(PCRE2_INFO_HEAPLIMIT, &heap_limit, TRUE)) + { + case 0: + heap_limit_set = TRUE; + break; + + case PCRE2_ERROR_UNSET: + heap_limit_set = FALSE; + break; + + default: + return PR_ABEND; + } + + switch(pattern_info(PCRE2_INFO_MATCHLIMIT, &match_limit, TRUE)) + { + case 0: + match_limit_set = TRUE; + break; + + case PCRE2_ERROR_UNSET: + match_limit_set = FALSE; + break; + + default: + return PR_ABEND; + } + + switch(pattern_info(PCRE2_INFO_DEPTHLIMIT, &depth_limit, TRUE)) + { + case 0: + depth_limit_set = TRUE; + break; + + case PCRE2_ERROR_UNSET: + depth_limit_set = FALSE; + break; + + default: + return PR_ABEND; + } + + /* These info requests should always succeed. */ + + if (pattern_info(PCRE2_INFO_BACKREFMAX, &backrefmax, FALSE) + + pattern_info(PCRE2_INFO_BSR, &bsr_convention, FALSE) + + pattern_info(PCRE2_INFO_CAPTURECOUNT, &capture_count, FALSE) + + pattern_info(PCRE2_INFO_FIRSTBITMAP, &start_bits, FALSE) + + pattern_info(PCRE2_INFO_FIRSTCODEUNIT, &first_cunit, FALSE) + + pattern_info(PCRE2_INFO_FIRSTCODETYPE, &first_ctype, FALSE) + + pattern_info(PCRE2_INFO_HASBACKSLASHC, &hasbackslashc, FALSE) + + pattern_info(PCRE2_INFO_HASCRORLF, &hascrorlf, FALSE) + + pattern_info(PCRE2_INFO_JCHANGED, &jchanged, FALSE) + + pattern_info(PCRE2_INFO_LASTCODEUNIT, &last_cunit, FALSE) + + pattern_info(PCRE2_INFO_LASTCODETYPE, &last_ctype, FALSE) + + pattern_info(PCRE2_INFO_MATCHEMPTY, &match_empty, FALSE) + + pattern_info(PCRE2_INFO_MINLENGTH, &minlength, FALSE) + + pattern_info(PCRE2_INFO_NAMECOUNT, &namecount, FALSE) + + pattern_info(PCRE2_INFO_NAMEENTRYSIZE, &nameentrysize, FALSE) + + pattern_info(PCRE2_INFO_NAMETABLE, &nametable, FALSE) + + pattern_info(PCRE2_INFO_NEWLINE, &newline_convention, FALSE) + != 0) + return PR_ABEND; + + fprintf(outfile, "Capture group count = %d\n", capture_count); + + if (backrefmax > 0) + fprintf(outfile, "Max back reference = %d\n", backrefmax); + + if (maxlookbehind > 0) + fprintf(outfile, "Max lookbehind = %d\n", maxlookbehind); + + if (heap_limit_set) + fprintf(outfile, "Heap limit = %u\n", heap_limit); + + if (match_limit_set) + fprintf(outfile, "Match limit = %u\n", match_limit); + + if (depth_limit_set) + fprintf(outfile, "Depth limit = %u\n", depth_limit); + + if (namecount > 0) + { + fprintf(outfile, "Named capture groups:\n"); + for (; namecount > 0; namecount--) + { + size_t length = pcre2_strlen(nametable + IMM2_SIZE); + fprintf(outfile, " "); + + /* In UTF mode the name may be a UTF string containing non-ASCII + letters and digits. We must output it as a UTF-8 string. In non-UTF mode, + use the normal string printing functions, which use escapes for all + non-ASCII characters. */ + + if (utf) + { +#if PCRE2_CODE_UNIT_WIDTH == 32 + PCRE2_SPTR nameptr = nametable + IMM2_SIZE; + while (*nameptr != 0) + { + uint8_t u8buff[6]; + int len = ord_to_utf8(*nameptr++, u8buff); + fprintf(outfile, "%.*s", len, u8buff); + } +#endif +#if PCRE2_CODE_UNIT_WIDTH == 16 + PCRE2_SPTR nameptr = nametable + IMM2_SIZE; + PCRE2_SPTR nameptr_end = nameptr + pcre2_strlen(nameptr); + while (*nameptr != 0) + { + int len; + uint8_t u8buff[6]; + uint32_t c; + int ord_rc = utf16_to_ord(nameptr, nameptr_end, &c); + if (ord_rc > 0) nameptr += ord_rc; + else c = *nameptr++; + len = ord_to_utf8(c, u8buff); + fprintf(outfile, "%.*s", len, u8buff); + } +#endif +#if PCRE2_CODE_UNIT_WIDTH == 8 + fprintf(outfile, "%s", nametable + IMM2_SIZE); +#endif + } + else /* Not UTF mode */ + { + pchars(clr_none, nametable + IMM2_SIZE, length, FALSE, outfile); + } + + while (length++ < nameentrysize - IMM2_SIZE) putc(' ', outfile); + + fprintf(outfile, "%3d\n", GET2(nametable, 0)); + + nametable = nametable + nameentrysize; + } + } + + if (hascrorlf) fprintf(outfile, "Contains explicit CR or LF match\n"); + if (hasbackslashc) fprintf(outfile, "Contains \\C\n"); + if (match_empty) fprintf(outfile, "May match empty string\n"); + + pattern_info(PCRE2_INFO_ARGOPTIONS, &compile_options, FALSE); + pattern_info(PCRE2_INFO_ALLOPTIONS, &overall_options, FALSE); + pattern_info(PCRE2_INFO_EXTRAOPTIONS, &extra_options, FALSE); + + /* Remove UTF/UCP if they were there only because of forbid_utf. This saves + cluttering up the verification output of non-UTF test files. */ + + if ((pat_patctl.options & PCRE2_NEVER_UTF) == 0) + { + compile_options &= ~PCRE2_NEVER_UTF; + overall_options &= ~PCRE2_NEVER_UTF; + } + + if ((pat_patctl.options & PCRE2_NEVER_UCP) == 0) + { + compile_options &= ~PCRE2_NEVER_UCP; + overall_options &= ~PCRE2_NEVER_UCP; + } + + if ((compile_options|overall_options) != 0) + { + if (compile_options == overall_options) + show_compile_options(clr_none, compile_options, "Options:", "\n"); + else + { + show_compile_options(clr_none, compile_options, "Compile options:", "\n"); + show_compile_options(clr_none, overall_options, "Overall options:", "\n"); + } + } + + if (extra_options != 0) + show_compile_extra_options(clr_none, extra_options, "Extra options:", "\n"); + + if (compiled_code->optimization_flags != PCRE2_OPTIMIZATION_ALL) + show_optimize_flags(clr_none, compiled_code->optimization_flags, "Optimizations: ", "\n"); + + if (jchanged) fprintf(outfile, "Duplicate name status changes\n"); + + if ((pat_patctl.control2 & CTL2_BSR_SET) != 0 || + (compiled_code->flags & PCRE2_BSR_SET) != 0) + fprintf(outfile, "\\R matches %s\n", (bsr_convention == PCRE2_BSR_UNICODE)? + "any Unicode newline" : "CR, LF, or CRLF"); + + if ((compiled_code->flags & PCRE2_NL_SET) != 0) + { + switch (newline_convention) + { + case PCRE2_NEWLINE_CR: + fprintf(outfile, "Forced newline is CR\n"); + break; + + case PCRE2_NEWLINE_LF: + fprintf(outfile, "Forced newline is LF\n"); + break; + + case PCRE2_NEWLINE_CRLF: + fprintf(outfile, "Forced newline is CRLF\n"); + break; + + case PCRE2_NEWLINE_ANYCRLF: + fprintf(outfile, "Forced newline is CR, LF, or CRLF\n"); + break; + + case PCRE2_NEWLINE_ANY: + fprintf(outfile, "Forced newline is any Unicode newline\n"); + break; + + case PCRE2_NEWLINE_NUL: + fprintf(outfile, "Forced newline is NUL\n"); + break; + + default: + break; + } + } + + if (first_ctype == 2) + { + fprintf(outfile, "First code unit at start or follows newline\n"); + } + else if (first_ctype == 1) + { + const char *caseless = + ((compiled_code->flags & PCRE2_FIRSTCASELESS) == 0)? + "" : " (caseless)"; + if (first_cunit != 0xff && PRINTABLE(first_cunit)) + fprintf(outfile, "First code unit = \'%c\'%s\n", CHAR_OUTPUT(first_cunit), + caseless); + else + { + fprintf(outfile, "First code unit = "); + if (first_cunit == 0xff) + fprintf(outfile, "\\xff"); + else + pchar(first_cunit, FALSE, outfile); + fprintf(outfile, "%s\n", caseless); + } + } + else if (start_bits != NULL) + { + int input; + int c = 24; + fprintf(outfile, "Starting code units:"); + for (input = 0; input < 256; input++) + { + int i = CHAR_INPUT_HEX(input); + if ((start_bits[i/8] & (1u << (i&7))) != 0) + { + if (c > 75) + { + fprintf(outfile, "\n "); + c = 2; + } + if (PRINTABLE(i) && i != CHAR_SPACE) + { + fprintf(outfile, " %c", CHAR_OUTPUT(i)); + c += 2; + } + else + { + fprintf(outfile, " \\x%02x", CHAR_OUTPUT_HEX(i)); + c += 5; + } + } + } + fprintf(outfile, "\n"); + } + + if (last_ctype != 0) + { + const char *caseless = + ((compiled_code->flags & PCRE2_LASTCASELESS) == 0)? + "" : " (caseless)"; + if (PRINTABLE(last_cunit)) + fprintf(outfile, "Last code unit = \'%c\'%s\n", CHAR_OUTPUT(last_cunit), + caseless); + else + { + fprintf(outfile, "Last code unit = "); + pchar(last_cunit, FALSE, outfile); + fprintf(outfile, "%s\n", caseless); + } + } + + if ((compiled_code->optimization_flags & PCRE2_OPTIM_START_OPTIMIZE) != 0) + fprintf(outfile, "Subject length lower bound = %d\n", minlength); + + if (pat_patctl.jit != 0 && (pat_patctl.control & CTL_JITVERIFY) != 0) + { +#ifdef SUPPORT_JIT + if (compiled_code->executable_jit != NULL) + fprintf(outfile, "JIT compilation was successful\n"); + else + { + cfprintf(clr_api_error, outfile, "JIT compilation was not successful"); + if (jitrc != 0 && !print_error_message(jitrc, " (", ")")) + return PR_ABEND; + fprintf(outfile, "\n"); + } +#else + cfprintf(clr_api_error, outfile, "JIT support is not available in this version of PCRE2\n"); +#endif + } + } + +rc = pcre2_callout_enumerate(compiled_code, + ((pat_patctl.control & CTL_CALLOUT_INFO) != 0)? callout_enumerate_function : + /* Exercise the callout enumeration code with a dummy callback to make sure + it works. */ + callout_enumerate_function_void, NULL); +if (rc != 0) + { + cfprintf(clr_api_error, outfile, "Callout enumerate failed: error %d: ", rc); + if (rc < 0 && !print_error_message(rc, "", "\n")) + return PR_ABEND; + return PR_SKIP; + } + +return PR_OK; +} + + + +/************************************************* +* Handle serialization error * +*************************************************/ + +/* Print an error message after a serialization failure. + +Arguments: + rc the error code + msg an initial message for what failed + +Returns: FALSE if print_error_message() fails +*/ + +static BOOL +serial_error(int rc, const char *msg) +{ +cfprintf(clr_api_error, outfile, "%s failed: error %d: ", msg, rc); +return print_error_message(rc, "", "\n"); +} + + + +/************************************************* +* Process command line * +*************************************************/ + +/* This function is called for lines beginning with # and a character that is +not ! or whitespace, when encountered between tests, which means that there is +no compiled pattern (compiled_code is NULL). The line is in buffer. + +Arguments: none + +Returns: PR_OK continue processing next line + PR_SKIP skip to a blank line + PR_ABEND abort the pcre2test run +*/ + +static int +process_command(void) +{ +FILE *f; +PCRE2_SIZE serial_size; +size_t i; +int rc, cmd, yield; +uint16_t first_listed_newline; +const char *cmdname; +size_t cmdlen; +uint8_t *argptr, *serial; +BOOL if_inverted; + +yield = PR_OK; +cmd = CMD_UNKNOWN; +cmdlen = 0; + +for (i = 0; i < cmdlistcount; i++) + { + cmdname = cmdlist[i].name; + cmdlen = strlen(cmdname); + if (strncmp((char *)(buffer+1), cmdname, cmdlen) == 0 && + (buffer[cmdlen+1] == 0 || isspace(buffer[cmdlen+1]))) + { + cmd = cmdlist[i].value; + break; + } + } + +if (preprocess_only && cmd != CMD_IF && cmd != CMD_ENDIF) + return PR_OK; + +argptr = buffer + cmdlen + 1; + +if (restrict_for_perl_test && cmd != CMD_PATTERN && cmd != CMD_SUBJECT && + cmd != CMD_IF && cmd != CMD_ENDIF) + { + cfprintf(clr_test_error, outfile, "** #%s is not allowed after #perltest\n", cmdname); + return PR_ABEND; + } + +switch(cmd) + { + case CMD_UNKNOWN: + cfprintf(clr_test_error, outfile, "** Unknown command: %s", buffer); + break; + + case CMD_FORBID_UTF: + forbid_utf = PCRE2_NEVER_UTF|PCRE2_NEVER_UCP; + break; + + case CMD_PERLTEST: + restrict_for_perl_test = TRUE; + break; + + /* Set default pattern modifiers */ + + case CMD_PATTERN: + (void)decode_modifiers(argptr, CTX_DEFPAT, &def_patctl, NULL); + if (def_patctl.jit == 0 && (def_patctl.control & CTL_JITVERIFY) != 0) + def_patctl.jit = JIT_DEFAULT; + break; + + /* Set default subject modifiers */ + + case CMD_SUBJECT: + (void)decode_modifiers(argptr, CTX_DEFDAT, NULL, &def_datctl); + break; + + /* Check the default newline, and if not one of those listed, set up the + first one to be forced. An empty list unsets. */ + + case CMD_NEWLINE_DEFAULT: + local_newline_default = 0; /* Unset */ + first_listed_newline = 0; + for (;;) + { + while (isspace(*argptr)) argptr++; + if (*argptr == 0) break; + for (uint16_t j = 1; j < sizeof(newlines)/sizeof(char *); j++) + { + size_t nlen = strlen(newlines[j]); + if (strncmpic(argptr, (const uint8_t *)newlines[j], nlen) == 0 && + isspace(argptr[nlen])) + { + if (j == NEWLINE_DEFAULT) return PR_OK; /* Default is valid */ + if (first_listed_newline == 0) first_listed_newline = j; + } + } + while (*argptr != 0 && !isspace(*argptr)) argptr++; + } + local_newline_default = first_listed_newline; + break; + + /* Pop or copy a compiled pattern off the stack. Modifiers that do not affect + the compiled pattern (e.g. to give information) are permitted. The default + pattern modifiers are ignored. */ + + case CMD_POP: + case CMD_POPCOPY: + if (patstacknext <= 0) + { + cfprintf(clr_test_error, outfile, "** Can't pop off an empty stack\n"); + return PR_SKIP; + } + patctl_zero(&pat_patctl); /* Completely unset */ + if (!decode_modifiers(argptr, CTX_POPPAT, &pat_patctl, NULL)) + return PR_SKIP; + + if (cmd == CMD_POP) + { + compiled_code = patstack[--patstacknext]; + } + else + { + compiled_code = pcre2_code_copy(patstack[patstacknext - 1]); + } + + if (pat_patctl.jit != 0) + { + jitrc = pcre2_jit_compile(compiled_code, pat_patctl.jit); + } + + rc = show_pattern_info(); + if (rc != PR_OK) return rc; + break; + + /* Save the stack of compiled patterns to a file, then empty the stack. */ + + case CMD_SAVE: + if (patstacknext <= 0) + { + cfprintf(clr_test_error, outfile, "** No stacked patterns to save\n"); + return PR_OK; + } + + rc = open_file(argptr+1, BINARY_OUTPUT_MODE, &f, "#save"); + if (rc != PR_OK) return rc; + + rc = pcre2_serialize_encode((const pcre2_code **)patstack, patstacknext, + &serial, &serial_size, general_context); + if (rc < 0) + { + fclose(f); + if (!serial_error(rc, "Serialization")) return PR_ABEND; + break; + } + + /* Write the length at the start of the file to make it straightforward to + get the right memory when re-loading. This saves having to read the file size + in different operating systems. To allow for different endianness (even + though reloading with the opposite endianness does not work), write the + length byte-by-byte. */ + + for (i = 0; i < 4; i++) fputc((serial_size >> (i*8)) & 255, f); + if (fwrite(serial, 1, serial_size, f) != serial_size) + { + cfprintf(clr_test_error, outfile, "** Wrong return from fwrite()\n"); + fclose(f); + return PR_ABEND; + } + + fclose(f); + pcre2_serialize_free(serial); + while(patstacknext > 0) + { + compiled_code = patstack[--patstacknext]; + pcre2_code_free(compiled_code); + } + compiled_code = NULL; + break; + + /* Load a set of compiled patterns from a file onto the stack */ + + case CMD_LOAD: + rc = open_file(argptr+1, BINARY_INPUT_MODE, &f, "#load"); + if (rc != PR_OK) return rc; + + serial_size = 0; + for (i = 0; i < 4; i++) serial_size |= fgetc(f) << (i*8); + + serial = malloc(serial_size); + if (serial == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed to get memory (size %" SIZ_FORM ") for #load\n", + serial_size); + fclose(f); + return PR_ABEND; + } + + i = fread(serial, 1, serial_size, f); + fclose(f); + + if (i != serial_size) + { + cfprintf(clr_test_error, outfile, "** Wrong return from fread()\n"); + yield = PR_ABEND; + } + else + { + rc = pcre2_serialize_get_number_of_codes(serial); + if (rc < 0) + { + if (!serial_error(rc, "Get number of codes")) yield = PR_ABEND; + } + else + { + if (rc + patstacknext > PATSTACKSIZE) + { + cfprintf(clr_test_error, outfile, "** Not enough space on pattern stack for %d pattern%s\n", + rc, (rc == 1)? "" : "s"); + rc = PATSTACKSIZE - patstacknext; + cfprintf(clr_test_error, outfile, "** Decoding %d pattern%s\n", rc, + (rc == 1)? "" : "s"); + } + rc = pcre2_serialize_decode(patstack + patstacknext, rc, serial, + general_context); + if (rc < 0) + { + if (!serial_error(rc, "Deserialization")) yield = PR_ABEND; + } + else patstacknext += rc; + } + } + + free(serial); + break; + + /* Load a set of binary tables into tables3. */ + + case CMD_LOADTABLES: + rc = open_file(argptr+1, BINARY_INPUT_MODE, &f, "#loadtables"); + if (rc != PR_OK) return rc; + + if (tables3 == NULL) + { + int r; + r = pcre2_config(PCRE2_CONFIG_TABLES_LENGTH, &loadtables_length); + if (r >= 0) tables3 = malloc(loadtables_length); + } + + if (tables3 == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed: malloc/config for #loadtables\n"); + yield = PR_ABEND; + } + else if (fread(tables3, 1, loadtables_length, f) != loadtables_length) + { + cfprintf(clr_test_error, outfile, "** Wrong return from fread()\n"); + yield = PR_ABEND; + } + + fclose(f); + break; + + case CMD_IF: + if (inside_if) + { + cfprintf(clr_test_error, outfile, "** Nested #if not supported\n"); + return PR_ABEND; + } + + while (isspace(*argptr)) argptr++; + if_inverted = FALSE; + if (*argptr == '!') + { + argptr++; + if_inverted = TRUE; + } + while (isspace(*argptr)) argptr++; + for (i = 0; i < COPTLISTCOUNT; i++) + { + size_t optlen = strlen(coptlist[i].name); + const uint8_t *argptr_trail; + if (coptlist[i].type != CONF_FIX) + continue; + if (strncmp((const char*)argptr, coptlist[i].name, optlen) != 0) + continue; + argptr_trail = argptr + optlen; + while (isspace(*argptr_trail)) argptr_trail++; + if (*argptr_trail == 0 || *argptr_trail == '\n') + break; + } + if (i == COPTLISTCOUNT) + { + cfprintf(clr_test_error, outfile, "** Unknown condition: %s\n", buffer); + return PR_ABEND; + } + + /* Condition FALSE - skip this line and everything until #endif. */ + if ((coptlist[i].value != 0) == if_inverted) + yield = PR_ENDIF; + + inside_if = TRUE; + break; + + case CMD_ENDIF: + if (!inside_if) + { + cfprintf(clr_test_error, outfile, "** Unexpected #endif\n"); + return PR_ABEND; + } + inside_if = FALSE; + break; + } + +return yield; +} + + + +/************************************************* +* Process pattern line * +*************************************************/ + +/* This function is called when the input buffer contains the start of a +pattern. The first character is known to be a valid delimiter. The pattern is +read, modifiers are interpreted, and a suitable local context is set up for +this test. The pattern is then compiled. + +Arguments: none + +Returns: PR_OK continue processing next line + PR_SKIP skip to a blank line + PR_ABEND abort the pcre2test run +*/ + +static int +process_pattern(void) +{ +BOOL utf; +uint32_t k; +uint8_t *p = buffer; +unsigned int delimiter = *p++; +int rc, errorcode; +pcre2_compile_context *use_pat_context; +PCRE2_SPTR use_pbuffer; +uint32_t use_forbid_utf = forbid_utf; +PCRE2_SIZE patlen, full_patlen; +PCRE2_SIZE valgrind_access_length; +PCRE2_SIZE erroroffset; + +/* The perltest.sh script supports only / as a delimiter. */ + +if (restrict_for_perl_test && delimiter != '/') + { + cfprintf(clr_test_error, outfile, "** The only allowed delimiter after #perltest is '/'\n"); + return PR_ABEND; + } + +/* Initialize the context and pattern/data controls for this test from the +defaults. */ + +memcpy(pat_context, default_pat_context, sizeof(pcre2_compile_context)); +memcpy(&pat_patctl, &def_patctl, sizeof(patctl)); + +/* Find the end of the pattern, reading more lines if necessary. */ + +for(;;) + { + while (*p != 0) + { + if (*p == '\\' && p[1] != 0) p++; + else if (*p == delimiter) break; + p++; + } + if (*p != 0) break; + if ((p = extend_inputline(infile, p, " > ")) == NULL) + { + cfprintf(clr_test_error, outfile, "** Unexpected EOF\n"); + return PR_ABEND; + } + if (!INTERACTIVE(infile)) cfprintf(clr_input, outfile, "%s", (char *)p); + } + +/* If the first character after the delimiter is backslash, make the pattern +end with backslash. This is purely to provide a way of testing for the error +message when a pattern ends with backslash. */ + +if (p[1] == '\\') *p++ = '\\'; + +/* Terminate the pattern at the delimiter, and compute the length. */ + +*p++ = 0; +patlen = p - buffer - 2; + +/* Look for modifiers and options after the final delimiter. */ + +if (!decode_modifiers(p, CTX_PAT, &pat_patctl, NULL)) return PR_SKIP; + +/* Note that the match_invalid_utf option also sets utf when passed to +pcre2_compile(). */ + +utf = (pat_patctl.options & (PCRE2_UTF|PCRE2_MATCH_INVALID_UTF)) != 0; + +/* The utf8_input modifier is not allowed in 8-bit mode, and is mutually +exclusive with the utf modifier. */ + +if ((pat_patctl.control & CTL_UTF8_INPUT) != 0) + { +#if PCRE2_CODE_UNIT_WIDTH == 8 + cfprintf(clr_test_error, outfile, "** The utf8_input modifier is not allowed in 8-bit mode\n"); + return PR_SKIP; +#else + if (utf) + { + cfprintf(clr_test_error, outfile, "** The utf and utf8_input modifiers are mutually exclusive\n"); + return PR_SKIP; + } +#endif + } + +/* The convert and posix modifiers are mutually exclusive. */ + +if (pat_patctl.convert_type != CONVERT_UNSET && + (pat_patctl.control & CTL_POSIX) != 0) + { + cfprintf(clr_test_error, outfile, "** The convert and posix modifiers are mutually exclusive\n"); + return PR_SKIP; + } + +/* Check for mutually exclusive control modifiers. At present, these are all in +the first control word. */ + +for (k = 0; k < sizeof(exclusive_pat_controls)/sizeof(uint32_t); k++) + { + uint32_t c = pat_patctl.control & exclusive_pat_controls[k]; + if (c != 0 && c != (c & (~c+1))) + { + show_controls(clr_test_error, c, 0, "** Not allowed together:"); + fprintf(outfile, "\n"); + return PR_SKIP; + } + } + +/* Assume full JIT compile for jitverify and/or jitfast if nothing else was +specified. */ + +if (pat_patctl.jit == 0 && + (pat_patctl.control & (CTL_JITVERIFY|CTL_JITFAST)) != 0) + pat_patctl.jit = JIT_DEFAULT; + +/* Now copy the pattern to pbuffer8 for use in 8-bit testing. Convert from hex +if requested (literal strings in quotes may be present within the hexadecimal +pairs). The result must necessarily be fewer characters so will always fit in +pbuffer8. */ + +if ((pat_patctl.control & CTL_HEXPAT) != 0) + { + uint8_t *pp, *pt; + uint32_t c, d; + + pt = pbuffer8; + for (pp = buffer + 1; *pp != 0; pp++) + { + if (isspace(*pp)) continue; + c = *pp++; + + /* Handle a literal substring */ + + if (c == '\'' || c == '"') + { + uint8_t *pq = pp; + for (;; pp++) + { + d = *pp; + if (d == 0) + { + cfprintf(clr_test_error, outfile, "** Missing closing quote in hex pattern: " + "opening quote is at offset %" PTR_FORM ".\n", pq - buffer - 2); + return PR_SKIP; + } + if (d == c) break; + *pt++ = d; + } + } + + /* Expect a hex pair */ + + else + { + if (!isxdigit(c)) + { + cfprintf(clr_test_error, outfile, "** Unexpected non-hex-digit '%c' at offset %" + PTR_FORM " in hex pattern: quote missing?\n", c, pp - buffer - 2); + return PR_SKIP; + } + if (*pp == 0) + { + cfprintf(clr_test_error, outfile, "** Odd number of digits in hex pattern\n"); + return PR_SKIP; + } + d = *pp; + if (!isxdigit(d)) + { + cfprintf(clr_test_error, outfile, "** Unexpected non-hex-digit '%c' at offset %" + PTR_FORM " in hex pattern: quote missing?\n", d, pp - buffer - 1); + return PR_SKIP; + } + c = toupper(c); + d = toupper(d); + c = isdigit(c)? (c - '0') : (c - 'A' + 10); + d = isdigit(d)? (d - '0') : (d - 'A' + 10); + *pt++ = CHAR_OUTPUT(CHAR_INPUT_HEX((c << 4) + d)); + } + } + *pt = 0; + patlen = pt - pbuffer8; + } + +/* If not a hex string, process for repetition expansion if requested. */ + +else if ((pat_patctl.control & CTL_EXPAND) != 0) + { + uint8_t *pp, *pt; + + pt = pbuffer8; + for (pp = buffer + 1; *pp != 0; pp++) + { + uint8_t *pc = pp; + uint32_t count = 1; + size_t length = 1; + + /* Check for replication syntax; if not found, the defaults just set will + prevail and one character will be copied. */ + + if (pp[0] == '\\' && pp[1] == '[') + { + uint8_t *pe; + for (pe = pp + 2; *pe != 0; pe++) + { + if (pe[0] == ']' && pe[1] == '{') + { + size_t clen = pe - pc - 2; + uint32_t i = 0; + unsigned long uli; + char *endptr; + + pe += 2; + uli = strtoul((const char *)pe, &endptr, 10); + if (U32OVERFLOW(uli)) + { + cfprintf(clr_test_error, outfile, "** Pattern repeat count too large\n"); + return PR_SKIP; + } + + i = (uint32_t)uli; + pe = (uint8_t *)endptr; + if (*pe == '}') + { + if (i == 0) + { + cfprintf(clr_test_error, outfile, "** Zero repeat not allowed\n"); + return PR_SKIP; + } + pc += 2; + count = i; + length = clen; + pp = pe; + break; + } + } + } + } + + /* Add to output. If the buffer is too small expand it. The function for + expanding buffers always keeps buffer and pbuffer8 in step as far as their + size goes. */ + + while (pt + count * length > pbuffer8 + pbuffer8_size) + { + size_t pc_offset = pc - buffer; + size_t pp_offset = pp - buffer; + size_t pt_offset = pt - pbuffer8; + expand_input_buffers(); + pc = buffer + pc_offset; + pp = buffer + pp_offset; + pt = pbuffer8 + pt_offset; + } + + for (; count > 0; count--) + { + memcpy(pt, pc, length); + pt += length; + } + } + + *pt = 0; + patlen = pt - pbuffer8; + + if ((pat_patctl.control & CTL_INFO) != 0) + fprintf(outfile, "Expanded: %s\n", pbuffer8); + } + +/* Neither hex nor expanded, just copy the input verbatim. */ + +else + { + strncpy((char *)pbuffer8, (char *)(buffer+1), patlen + 1); + } + +/* Sort out character tables */ + +if (pat_patctl.locale[0] != MOD_STR_UNSET) + { + if (pat_patctl.tables_id != 0) + { + cfprintf(clr_test_error, outfile, "** 'Locale' and 'tables' must not both be set\n"); + return PR_SKIP; + } + if (setlocale(LC_CTYPE, (const char *)pat_patctl.locale+1) == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed to set locale \"%s\"\n", pat_patctl.locale+1); + return PR_SKIP; + } + if (strcmp((const char *)pat_patctl.locale+1, (const char *)locale_name) != 0) + { + strncpy((char *)locale_name, (char *)pat_patctl.locale + 1, sizeof(locale_name)); + locale_name[sizeof(locale_name) - 1] = '\0'; + if (locale_tables != NULL) + { + pcre2_maketables_free(general_context, locale_tables); + } + locale_tables = pcre2_maketables(general_context); + } + use_tables = locale_tables; + } + +else switch (pat_patctl.tables_id) + { + case 0: use_tables = NULL; break; + case 1: use_tables = tables1; break; + case 2: use_tables = tables2; break; + + case 3: + if (tables3 == NULL) + { + cfprintf(clr_test_error, outfile, "** 'Tables = 3' is invalid: binary tables have not " + "been loaded\n"); + return PR_SKIP; + } + use_tables = tables3; + break; + + default: + cfprintf(clr_test_error, outfile, "** 'Tables' must specify 0, 1, 2, or 3.\n"); + return PR_SKIP; + } + +pcre2_set_character_tables(pat_context, use_tables); + +/* Set up for the stackguard test. */ + +if (pat_patctl.stackguard_test != 0) + { + pcre2_set_compile_recursion_guard(pat_context, stack_guard, NULL); + } + +/* Handle compiling via the POSIX interface, which doesn't support the +timing, showing, or debugging options, nor the ability to pass over +local character tables. Neither does it have 16-bit or 32-bit support. */ + +if ((pat_patctl.control & CTL_POSIX) != 0) + { +#if PCRE2_CODE_UNIT_WIDTH != 8 + cfprintf(clr_test_error, outfile, "** The POSIX interface is available only in 8-bit mode\n"); + return PR_SKIP; + +#else + int cflags = 0; + const char *msg = "** Ignored with POSIX interface:"; + + /* Check for features that the POSIX interface does not support. */ + + if (pat_patctl.locale[0] != MOD_STR_UNSET) prmsg(&msg, "locale"); + if (pat_patctl.replacement[0] != MOD_STR_UNSET) prmsg(&msg, "replace"); + if (pat_patctl.tables_id != 0) prmsg(&msg, "tables"); + if (pat_patctl.stackguard_test != 0) prmsg(&msg, "stackguard"); + if (timeit > 0) prmsg(&msg, "timing"); + if (pat_patctl.jit != 0) prmsg(&msg, "JIT"); + + if ((pat_patctl.options & ~POSIX_SUPPORTED_COMPILE_OPTIONS) != 0) + { + show_compile_options( + clr_test_error, + pat_patctl.options & (uint32_t)(~POSIX_SUPPORTED_COMPILE_OPTIONS), + msg, ""); + msg = ""; + } + + if ((pat_context->extra_options & + (uint32_t)(~POSIX_SUPPORTED_COMPILE_EXTRA_OPTIONS)) != 0) + { + show_compile_extra_options( + clr_test_error, + pat_context->extra_options & + (uint32_t)(~POSIX_SUPPORTED_COMPILE_EXTRA_OPTIONS), + msg, ""); + msg = ""; + } + + if ((pat_patctl.control & (uint32_t)(~POSIX_SUPPORTED_COMPILE_CONTROLS)) != 0 || + (pat_patctl.control2 & (uint32_t)(~POSIX_SUPPORTED_COMPILE_CONTROLS2)) != 0) + { + show_controls( + clr_test_error, + pat_patctl.control & (uint32_t)(~POSIX_SUPPORTED_COMPILE_CONTROLS), + pat_patctl.control2 & (uint32_t)(~POSIX_SUPPORTED_COMPILE_CONTROLS2), + msg); + msg = ""; + + /* Remove ignored options so as not to get a repeated message for those + that are actually subject controls. */ + + pat_patctl.control &= (uint32_t)(POSIX_SUPPORTED_COMPILE_CONTROLS); + pat_patctl.control2 &= (uint32_t)(POSIX_SUPPORTED_COMPILE_CONTROLS2); + } + + if (local_newline_default != 0) prmsg(&msg, "#newline_default"); + if (pat_context->max_pattern_length != PCRE2_UNSET) + prmsg(&msg, "max_pattern_length"); + if (pat_context->max_pattern_compiled_length != PCRE2_UNSET) + prmsg(&msg, "max_pattern_compiled_length"); + if (pat_context->parens_nest_limit != PARENS_NEST_DEFAULT) + prmsg(&msg, "parens_nest_limit"); + + if (msg[0] == 0) fprintf(outfile, "\n"); + + /* Translate PCRE2 options to POSIX options and then compile. */ + + if (utf) cflags |= REG_UTF; + if ((pat_patctl.control & CTL_POSIX_NOSUB) != 0) cflags |= REG_NOSUB; + if ((pat_patctl.options & PCRE2_UCP) != 0) cflags |= REG_UCP; + if ((pat_patctl.options & PCRE2_CASELESS) != 0) cflags |= REG_ICASE; + if ((pat_patctl.options & PCRE2_LITERAL) != 0) cflags |= REG_NOSPEC; + if ((pat_patctl.options & PCRE2_MULTILINE) != 0) cflags |= REG_NEWLINE; + if ((pat_patctl.options & PCRE2_DOTALL) != 0) cflags |= REG_DOTALL; + if ((pat_patctl.options & PCRE2_UNGREEDY) != 0) cflags |= REG_UNGREEDY; + + if ((pat_patctl.control & (CTL_HEXPAT|CTL_USE_LENGTH)) != 0) + { + preg.re_endp = (char *)pbuffer8 + patlen; + cflags |= REG_PEND; + } + +#if defined(EBCDIC) && !EBCDIC_IO + ascii_to_ebcdic_str(pbuffer8, patlen); +#endif + + rc = regcomp(&preg, (char *)pbuffer8, cflags); + + /* Compiling failed */ + + if (rc != 0) + { + char *regbuffer; + size_t bsize, usize, strsize; + + preg.re_pcre2_code = NULL; /* In case something was left in there */ + preg.re_match_data = NULL; + + bsize = (pat_patctl.regerror_buffsize >= 0 && + (unsigned)pat_patctl.regerror_buffsize <= pbuffer8_size)? + (unsigned)pat_patctl.regerror_buffsize : pbuffer8_size; + regbuffer = (char *)pbuffer8 + (pbuffer8_size - bsize); + usize = regerror(rc, &preg, regbuffer, bsize); + strsize = ((usize > bsize)? bsize : usize) - 1; + + cfprintf(clr_api_error, outfile, "Failed: POSIX code %d: ", rc); + if (bsize > 0) pchars(clr_api_error, (PCRE2_SPTR8)regbuffer, strsize, utf, outfile); + fputs("\n", outfile); + if (usize > bsize) + { + cfprintf(clr_test_error, outfile, "** regerror() message truncated\n"); + } + if (bsize > 0 && strlen(regbuffer) != strsize) + { + cfprintf(clr_test_error, outfile, "** regerror() strlen incorrect\n"); + return PR_ABEND; + } + return PR_SKIP; + } + + /* Compiling succeeded. Check that the values in the preg block are sensible. + It can happen that pcre2test is accidentally linked with a different POSIX + library which succeeds, but of course puts different things into preg. In + this situation, calling regfree() may cause a segfault (or invalid free() in + valgrind), so ensure that preg.re_pcre2_code is NULL, which suppresses the + calling of regfree() on exit. */ + + if (preg.re_pcre2_code == NULL || + ((pcre2_real_code_8 *)preg.re_pcre2_code)->magic_number != MAGIC_NUMBER || + ((pcre2_real_code_8 *)preg.re_pcre2_code)->top_bracket != preg.re_nsub || + preg.re_match_data == NULL || + preg.re_cflags != cflags) + { + cfprintf(clr_test_error, outfile, + "** The regcomp() function returned zero (success), but the values set\n" + "** in the preg block are not valid for PCRE2. Check that pcre2test is\n" + "** linked with PCRE2's pcre2posix module (-lpcre2-posix) and not with\n" + "** some other POSIX regex library.\n**\n"); + preg.re_pcre2_code = NULL; + return PR_ABEND; + } + + return PR_OK; +#endif /* PCRE2_CODE_UNIT_WIDTH != 8 */ + } + +/* Handle compiling via the native interface. Controls that act later are +ignored with "push". Replacements are locked out. */ + +if ((pat_patctl.control & (CTL_PUSH|CTL_PUSHCOPY|CTL_PUSHTABLESCOPY)) != 0) + { + if (pat_patctl.replacement[0] != MOD_STR_UNSET) + { + cfprintf(clr_test_error, outfile, "** Replacement text is not supported with 'push'.\n"); + return PR_OK; + } + if ((pat_patctl.control & ~PUSH_SUPPORTED_COMPILE_CONTROLS) != 0 || + (pat_patctl.control2 & ~PUSH_SUPPORTED_COMPILE_CONTROLS2) != 0) + { + show_controls(clr_test_error, pat_patctl.control & ~PUSH_SUPPORTED_COMPILE_CONTROLS, + pat_patctl.control2 & ~PUSH_SUPPORTED_COMPILE_CONTROLS2, + "** Ignored when compiled pattern is stacked with 'push':"); + fprintf(outfile, "\n"); + } + if ((pat_patctl.control & PUSH_COMPILE_ONLY_CONTROLS) != 0 || + (pat_patctl.control2 & PUSH_COMPILE_ONLY_CONTROLS2) != 0) + { + show_controls(clr_test_error, pat_patctl.control & PUSH_COMPILE_ONLY_CONTROLS, + pat_patctl.control2 & PUSH_COMPILE_ONLY_CONTROLS2, + "** Applies only to compile when pattern is stacked with 'push':"); + fprintf(outfile, "\n"); + } + } + +/* Convert the input in non-8-bit modes. */ + +errorcode = 0; + +#if defined(EBCDIC) && !EBCDIC_IO +ascii_to_ebcdic_str(pbuffer8, patlen); +#endif + +#if PCRE2_CODE_UNIT_WIDTH != 8 +errorcode = G(to,PCRE2_CODE_UNIT_WIDTH)(pbuffer8, utf, &patlen); +switch(errorcode) + { + case -1: + cfprintf(clr_test_error, outfile, "** Failed: invalid UTF-8 string cannot be " + "converted to " STR(PCRE2_CODE_UNIT_WIDTH) "-bit string\n"); + return PR_SKIP; + + case -2: + cfprintf(clr_test_error, outfile, "** Failed: character value greater than 0x10ffff " + "cannot be converted to UTF\n"); + return PR_SKIP; + + case -3: + cfprintf(clr_test_error, outfile, "** Failed: character value greater than 0xffff " + "cannot be converted to 16-bit in non-UTF mode\n"); + return PR_SKIP; + + default: + break; + } +#endif + +/* When valgrind is supported, detect accesses to the 8-bit buffer now that we +have finished with it. */ + +#if defined SUPPORT_VALGRIND && PCRE2_CODE_UNIT_WIDTH != 8 +VALGRIND_MAKE_MEM_UNDEFINED(pbuffer8, pbuffer8_size); +#endif + +/* The pattern is now in pbuffer[8|16|32], with the length in code units in +patlen. If it is to be converted, copy the result back afterwards so that it +ends up back in the usual place. */ + +if (pat_patctl.convert_type != CONVERT_UNSET) + { + int convert_return = PR_OK; + uint32_t convert_options = pat_patctl.convert_type; + PCRE2_UCHAR *converted_pattern; + PCRE2_SIZE converted_length = JUNK_OFFSET; + BOOL zero_terminate; + + if (pat_patctl.convert_length != CONVERT_UNSET) + { + converted_length = pat_patctl.convert_length; + converted_pattern = malloc(converted_length? CU2BYTES(converted_length) : 1); + if (converted_pattern == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed: malloc failed for converted pattern\n"); + return PR_ABEND; + } + } + else converted_pattern = NULL; /* Let the library allocate */ + + if (utf) convert_options |= PCRE2_CONVERT_UTF; + if ((pat_patctl.options & PCRE2_NO_UTF_CHECK) != 0) + convert_options |= PCRE2_CONVERT_NO_UTF_CHECK; + + memcpy(con_context, default_con_context, sizeof(pcre2_convert_context)); + + if (pat_patctl.convert_glob_escape != 0) + { + uint32_t escape = (pat_patctl.convert_glob_escape == '0')? 0 : + pat_patctl.convert_glob_escape; + rc = pcre2_set_glob_escape(con_context, CHAR_INPUT(escape)); + if (rc != 0) + { + cfprintf(clr_test_error, outfile, "** Invalid glob escape '%c'\n", + pat_patctl.convert_glob_escape); + convert_return = PR_SKIP; + goto CONVERT_FINISH; + } + } + + if (pat_patctl.convert_glob_separator != 0) + { + uint32_t separator = pat_patctl.convert_glob_separator; + rc = pcre2_set_glob_separator(con_context, CHAR_INPUT(separator)); + if (rc != 0) + { + cfprintf(clr_test_error, outfile, "** Invalid glob separator '%c'\n", + pat_patctl.convert_glob_separator); + convert_return = PR_SKIP; + goto CONVERT_FINISH; + } + } + + /* Set up the input buffer in the same way as for pcre2_compile() below. */ + + zero_terminate = (pat_patctl.control & (CTL_HEXPAT|CTL_USE_LENGTH)) == 0; + +#ifdef SUPPORT_VALGRIND + VALGRIND_MAKE_MEM_NOACCESS(pbuffer + CU2BYTES(patlen + zero_terminate), + pbuffer_size - CU2BYTES(patlen + zero_terminate)); +#endif + + if (zero_terminate) patlen = PCRE2_ZERO_TERMINATED; + use_pbuffer = ((pat_patctl.control2 & CTL2_NULL_PATTERN) == 0)? pbuffer : NULL; + + rc = pcre2_pattern_convert(use_pbuffer, patlen, convert_options, + &converted_pattern, &converted_length, con_context); + +#ifdef SUPPORT_VALGRIND + VALGRIND_MAKE_MEM_UNDEFINED(pbuffer, pbuffer_size); +#endif + + if (rc != 0) + { + cfprintf(clr_api_error, outfile, "** Pattern conversion error at offset %" SIZ_FORM ": ", + converted_length); + convert_return = print_error_message(rc, "", "\n")? PR_SKIP:PR_ABEND; + } + + /* Output the converted pattern, then copy it. */ + + else + { + pchars(clr_none, converted_pattern, converted_length, utf, outfile); + fprintf(outfile, "\n"); + + if (CU2BYTES(converted_length + 1) > pbuffer_size) + { + // TODO This seems... unfortunate? There must be some patterns that can + // expand when converted from glob to regex, but we aren't allowing for + // that here. Presumably we should expand the buffer rather than moan. + cfprintf(clr_test_error, outfile, "** Pattern conversion is too long for the buffer\n"); + convert_return = PR_SKIP; + } + else + { + memcpy(pbuffer, converted_pattern, CU2BYTES(converted_length + 1)); + patlen = converted_length; + } + } + + /* Free the converted pattern. */ + + CONVERT_FINISH: + if (pat_patctl.convert_length != CONVERT_UNSET) + free(converted_pattern); + else + pcre2_converted_pattern_free(converted_pattern); + + /* Return if conversion was unsuccessful. */ + + if (convert_return != PR_OK) return convert_return; + } + +/* By default we pass a zero-terminated pattern, but a length is passed if +"use_length" was specified or this is a hex pattern (which might contain binary +zeros). When valgrind is supported, arrange for the unused part of the buffer +to be marked as no-access. */ + +full_patlen = patlen; +valgrind_access_length = patlen; +if ((pat_patctl.control & (CTL_HEXPAT|CTL_USE_LENGTH)) == 0) + { + patlen = PCRE2_ZERO_TERMINATED; + valgrind_access_length += 1; /* For the terminating zero */ + } + +#ifdef SUPPORT_VALGRIND +VALGRIND_MAKE_MEM_NOACCESS(pbuffer + valgrind_access_length, + pbuffer_size - CU2BYTES(valgrind_access_length)); +#else /* Valgrind not supported */ +(void)valgrind_access_length; /* Avoid compiler warning */ +#endif + +/* If #newline_default has been used and the library was not compiled with an +appropriate default newline setting, local_newline_default will be non-zero. We +use this if there is no explicit newline modifier. */ + +if ((pat_patctl.control2 & CTL2_NL_SET) == 0 && local_newline_default != 0) + { + pcre2_set_newline(pat_context, local_newline_default); + } + +/* The null_context modifier is used to test calling pcre2_compile() with a +NULL context. */ + +use_pat_context = ((pat_patctl.control & CTL_NULLCONTEXT) != 0)? + NULL : pat_context; + +/* If PCRE2_LITERAL is set, set use_forbid_utf zero because PCRE2_NEVER_UTF +and PCRE2_NEVER_UCP are invalid with it. */ + +if ((pat_patctl.options & PCRE2_LITERAL) != 0) use_forbid_utf = 0; + +/* Set use_pbuffer to the input buffer or NULL as requested. */ + +use_pbuffer = ((pat_patctl.control2 & CTL2_NULL_PATTERN) == 0)? pbuffer : NULL; + +/* Compile many times when timing. */ + +if (timeit > 0) + { + int i; + clock_t time_taken = 0; + for (i = 0; i < timeit; i++) + { + clock_t start_time = clock(); + compiled_code = pcre2_compile(use_pbuffer, patlen, + pat_patctl.options|use_forbid_utf, &errorcode, &erroroffset, + use_pat_context); + time_taken += clock() - start_time; + if (compiled_code != NULL) + pcre2_code_free(compiled_code); + } + total_compile_time += time_taken; + cfprintf(clr_profiling, outfile, "Compile time %8.4f microseconds\n", + ((1000000 / CLOCKS_PER_SEC) * (double)time_taken) / timeit); + } + +/* A final compile that is used "for real". */ + +mallocs_called = 0; +compiled_code = pcre2_compile(use_pbuffer, patlen, + pat_patctl.options|use_forbid_utf, &errorcode, &erroroffset, use_pat_context); + +/* For malloc testing, we repeat the compilation. */ + +if (malloc_testing) + { + for (int i = 0, target_mallocs = mallocs_called; i <= target_mallocs; i++) + { + if (compiled_code != NULL) + pcre2_code_free(compiled_code); + + errorcode = 0; + erroroffset = 0; + mallocs_until_failure = i; + compiled_code = pcre2_compile(use_pbuffer, patlen, + pat_patctl.options|use_forbid_utf, &errorcode, &erroroffset, use_pat_context); + mallocs_until_failure = INT_MAX; + + if (i < target_mallocs && + !(compiled_code == NULL && errorcode == PCRE2_ERROR_HEAP_FAILED)) + { + cfprintf(clr_test_error, outfile, "** malloc() compile test did not fail as expected (%d)\n", + errorcode); + return PR_ABEND; + } + } + } + +/* If valgrind is supported, mark the pbuffer as accessible again. We leave the +pattern in the test-mode's buffer defined because it may be read from a callout +during matching. */ + +#ifdef SUPPORT_VALGRIND +VALGRIND_MAKE_MEM_UNDEFINED(pbuffer + valgrind_access_length, + pbuffer_size - CU2BYTES(valgrind_access_length)); +#endif + +/* Call the JIT compiler if requested. When timing, or testing malloc failures, +we must free and recompile the pattern each time because that is the only way to +free the JIT compiled code. We know that compilation will always succeed. */ + +if (compiled_code != NULL && pat_patctl.jit != 0) + { + if (timeit > 0) + { + int i; + clock_t time_taken = 0; + + for (i = 0; i < timeit; i++) + { + clock_t start_time = clock(); + jitrc = pcre2_jit_compile(compiled_code, pat_patctl.jit); + time_taken += clock() - start_time; + + pcre2_code_free(compiled_code); + compiled_code = pcre2_compile(use_pbuffer, patlen, + pat_patctl.options|use_forbid_utf, &errorcode, &erroroffset, + use_pat_context); + if (compiled_code == NULL) + { + cfprintf(clr_test_error, outfile, "** Unexpected - pattern compilation not successful\n"); + return PR_ABEND; + } + + if (jitrc != 0) + { + cfprintf(clr_api_error, outfile, "JIT compilation was not successful"); + if (!print_error_message(jitrc, " (", ")\n")) return PR_ABEND; + break; + } + } + total_jit_compile_time += time_taken; + if (jitrc == 0) + cfprintf(clr_profiling, outfile, "JIT compile %8.4f microseconds\n", + ((1000000 / CLOCKS_PER_SEC) * (double)time_taken) / timeit); + } + + mallocs_called = 0; + jitrc = pcre2_jit_compile(compiled_code, pat_patctl.jit); + + /* For malloc testing, we repeat the compilation. */ + + if (malloc_testing) + { + for (int i = 0, target_mallocs = mallocs_called; i <= target_mallocs; i++) + { + pcre2_code_free(compiled_code); + compiled_code = pcre2_compile(use_pbuffer, patlen, + pat_patctl.options|use_forbid_utf, &errorcode, &erroroffset, + use_pat_context); + if (compiled_code == NULL) + { + cfprintf(clr_test_error, outfile, "** Unexpected - pattern compilation not successful\n"); + return PR_ABEND; + } + + mallocs_until_failure = i; + jitrc = pcre2_jit_compile(compiled_code, pat_patctl.jit); + mallocs_until_failure = INT_MAX; + + if (i < target_mallocs && jitrc != PCRE2_ERROR_NOMEMORY) + { + cfprintf(clr_test_error, outfile, "** malloc() JIT compile test did not fail as expected (%d)\n", + jitrc); + return PR_ABEND; + } + } + } + + /* Check whether JIT compilation failed; but continue with an error message + if not. */ + + if (jitrc != 0 && (pat_patctl.control & CTL_JITVERIFY) != 0) + { + cfprintf(clr_api_error, outfile, "JIT compilation was not successful"); + if (!print_error_message(jitrc, " (", ")\n")) return PR_ABEND; + } + } + +/* Compilation failed; go back for another re, skipping to blank line +if non-interactive. */ + +if (compiled_code == NULL) + { + int direction = error_direction(errorcode, erroroffset); + + cfprintf(clr_api_error, outfile, "Failed: error %d at offset %d: ", errorcode, + (int)erroroffset); + if (!print_error_message(errorcode, "", "\n")) return PR_ABEND; + + /* It's important that the erroroffset doesn't slice halfway through a UTF-8 + or UTF-16 character. We can verify this by checking that the input left of the + erroroffset is valid. Note that if the input is invalid (which is exercised in + some tests) then the offset will be positioned with the valid part to the left + of erroroffset. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 || PCRE2_CODE_UNIT_WIDTH == 16 + if (utf) + { + uint32_t cc; + int n = 1; + for (PCRE2_UCHAR *q = pbuffer, *q_end = q + erroroffset; q < q_end && n > 0; q += n) + n = utf_to_ord(q, q_end, &cc); + if (n <= 0) + { + cfprintf(clr_test_error, outfile, "** Erroroffset %d splits a UTF character\n", (int)erroroffset); + return PR_ABEND; + } + } +#endif + + /* Print the surrounding context around the erroroffset. */ + + if (direction < 0) + { + cfprintf(clr_test_error, outfile, "** Error code %d not implemented in error_direction().\n", errorcode); + cfprintf(clr_test_error, outfile, " error_direction() should usually return '1' for newly-added errors,\n"); + cfprintf(clr_test_error, outfile, " and the offset should be just to the right of the bad character.\n"); + return PR_ABEND; + } + + else if (direction != 0) + { + cfprintf(clr_api_error, outfile, " here: "); + if (erroroffset > 0) + { + ptrunc(clr_input, pbuffer, full_patlen, erroroffset, TRUE, utf, outfile); + fprintf(outfile, " "); + } + cfprintf(clr_api_error, outfile, (direction == 1)? "|<--|" : (direction == 2)? "|-->|" : "|<-->|"); + if (erroroffset < full_patlen) + { + fprintf(outfile, " "); + ptrunc(clr_input, pbuffer, full_patlen, erroroffset, FALSE, utf, outfile); + } + fprintf(outfile, "\n"); + } + + else if (erroroffset != 0) + { + cfprintf(clr_test_error, outfile, "** Unexpected non-zero erroroffset %d for error code %d\n", + (int)erroroffset, errorcode); + return PR_ABEND; + } + + return PR_SKIP; + } + +/* If forbid_utf is non-zero, we are running a non-UTF test. UTF and UCP are +locked out at compile time, but we must also check for occurrences of \P, \p, +and \X, which are only supported when Unicode is supported. */ + +if (forbid_utf != 0) + { + if ((compiled_code->flags & PCRE2_HASBKPORX) != 0) + { + cfprintf(clr_test_error, outfile, "** \\P, \\p, and \\X are not allowed after the " + "#forbid_utf command\n"); + return PR_SKIP; + } + } + +/* Remember the maximum lookbehind, for partial matching. */ + +if (pattern_info(PCRE2_INFO_MAXLOOKBEHIND, &maxlookbehind, FALSE) != 0) + return PR_ABEND; + +/* Remember the number of captures. */ + +if (pattern_info(PCRE2_INFO_CAPTURECOUNT, &maxcapcount, FALSE) < 0) + return PR_ABEND; + +/* If an explicit newline modifier was given, set the information flag in the +pattern so that it is preserved over push/pop. */ + +if ((pat_patctl.control2 & CTL2_NL_SET) != 0) + { + compiled_code->flags |= PCRE2_NL_SET; + } + +/* Output code size and other information if requested. */ + +rc = show_pattern_info(); +if (rc != PR_OK) return rc; + +/* The "push" control requests that the compiled pattern be remembered on a +stack. This is mainly for testing the serialization functionality. */ + +if ((pat_patctl.control & CTL_PUSH) != 0) + { + if (patstacknext >= PATSTACKSIZE) + { + cfprintf(clr_test_error, outfile, "** Too many pushed patterns (max %d)\n", PATSTACKSIZE); + return PR_ABEND; + } + patstack[patstacknext++] = compiled_code; + compiled_code = NULL; + } + +/* The "pushcopy" and "pushtablescopy" controls are similar, but push a +copy of the pattern, the latter with a copy of its character tables. This tests +the pcre2_code_copy() and pcre2_code_copy_with_tables() functions. */ + +if ((pat_patctl.control & (CTL_PUSHCOPY|CTL_PUSHTABLESCOPY)) != 0) + { + if (patstacknext >= PATSTACKSIZE) + { + cfprintf(clr_test_error, outfile, "** Too many pushed patterns (max %d)\n", PATSTACKSIZE); + return PR_ABEND; + } + if ((pat_patctl.control & CTL_PUSHCOPY) != 0) + { + patstack[patstacknext++] = pcre2_code_copy(compiled_code); + } + else + { + patstack[patstacknext++] = pcre2_code_copy_with_tables(compiled_code); + } + } + +return PR_OK; +} + + + +/* Helper to test for an active pattern. */ + +static BOOL +have_active_pattern(void) +{ +return compiled_code != NULL; +} + + +/* Helper to free (and null-out) the active pattern. Safe to call even if there +is no active pattern. */ + +static void +free_active_pattern(void) +{ +pcre2_code_free(compiled_code); +compiled_code = NULL; +} + + + +/************************************************* +* Check heap, match or depth limit * +*************************************************/ + +/* This is used for DFA, normal, and JIT fast matching. For DFA matching it +should only be called with the third argument set to PCRE2_ERROR_DEPTHLIMIT. + +Arguments: + pp the subject string + ulen length of subject or PCRE2_ZERO_TERMINATED + errnumber defines which limit to test + msg string to include in final message + +Returns: the return from the final match function call +*/ + +static int +check_match_limit(PCRE2_SPTR pp, PCRE2_SIZE ulen, int errnumber, const char *msg) +{ +int capcount; +uint32_t min = 0; +uint32_t mid = 64; +uint32_t max = UINT32_MAX; +FILE *saved_outfile = outfile; + +pcre2_set_match_limit(dat_context, max); +pcre2_set_depth_limit(dat_context, max); +pcre2_set_heap_limit(dat_context, max); + +for (;;) + { + uint32_t stack_start = 0; + + /* If we are checking the heap limit, free any frames vector that is cached + in the match_data so we always start without one. */ + + if (errnumber == PCRE2_ERROR_HEAPLIMIT) + { + pcre2_set_heap_limit(dat_context, mid); + + match_data->memctl.free(match_data->heapframes, + match_data->memctl.memory_data); + match_data->heapframes = NULL; + match_data->heapframes_size = 0; + } + + /* No need to mess with the frames vector for match or depth limits. */ + + else if (errnumber == PCRE2_ERROR_MATCHLIMIT) + { + pcre2_set_match_limit(dat_context, mid); + } + else + { + pcre2_set_depth_limit(dat_context, mid); + } + + /* Do the appropriate match */ + + reset_callout_state(); + outfile = NULL; /* Suppress callout output during the repeated search */ + + if ((dat_datctl.control & CTL_DFA) != 0) + { + stack_start = DFA_START_RWS_SIZE/1024; + if (dfa_workspace == NULL) + dfa_workspace = (int *)malloc(DFA_WS_DIMENSION*sizeof(int)); + if (dfa_matched++ == 0) + dfa_workspace[0] = -1; /* To catch bad restart */ + capcount = pcre2_dfa_match(compiled_code, pp, ulen, dat_datctl.offset, + dat_datctl.options, match_data, + dat_context, dfa_workspace, DFA_WS_DIMENSION); + } + + else if ((pat_patctl.control & CTL_JITFAST) != 0) + capcount = pcre2_jit_match(compiled_code, pp, ulen, dat_datctl.offset, + dat_datctl.options, match_data, dat_context); + + else + { + capcount = pcre2_match(compiled_code, pp, ulen, dat_datctl.offset, + dat_datctl.options, match_data, dat_context); + } + + outfile = saved_outfile; + + if (capcount == errnumber) + { + if ((mid & 0x80000000u) != 0) + { + cfprintf(clr_test_error, outfile, "** Can't find minimum %s limit: check pattern for " + "restriction\n", msg); + break; + } + + min = mid; + mid = (mid == max - 1)? max : (max != UINT32_MAX)? (min + max)/2 : mid*2; + } + else if (capcount >= 0 || + capcount == PCRE2_ERROR_NOMATCH || + capcount == PCRE2_ERROR_PARTIAL) + { + /* If we've not hit the error with a heap limit less than the size of the + initial stack frame vector (for pcre2_match()) or the initial stack + workspace vector (for pcre2_dfa_match()), the heap is not being used, so + the minimum limit is zero; there's no need to go on. The other limits are + always greater than zero. */ + + if (errnumber == PCRE2_ERROR_HEAPLIMIT && mid < stack_start) + { + fprintf(outfile, "Minimum %s limit = 0\n", msg); + break; + } + if (mid == min + 1) + { + fprintf(outfile, "Minimum %s limit = %d\n", msg, mid); + break; + } + max = mid; + mid = (min + max)/2; + } + else break; /* Some other error */ + } + +return capcount; +} + + + +/************************************************* +* Substitute callout function * +*************************************************/ + +/* Called from pcre2_substitute() when the substitute_callout modifier is set. +Print out the data that is passed back. + +Arguments: + scb pointer to substitute callout block + data_ptr callout data + +Returns: nothing +*/ + +static int +substitute_callout_function(pcre2_substitute_callout_block *scb, + void *data_ptr) +{ +int yield = 0; +BOOL utf = (compiled_code->overall_options & PCRE2_UTF) != 0; +(void)data_ptr; /* Not used */ + +if (outfile == NULL) goto YIELD; + +fprintf(outfile, "%2d(%d) Old %" SIZ_FORM " %" SIZ_FORM " \"", + scb->subscount, scb->oveccount, + scb->ovector[0], scb->ovector[1]); + +pchars(clr_none, scb->input + scb->ovector[0], scb->ovector[1] - scb->ovector[0], + utf, outfile); + +fprintf(outfile, "\" New %" SIZ_FORM " %" SIZ_FORM " \"", + scb->output_offsets[0], scb->output_offsets[1]); + +pchars(clr_none, scb->output + scb->output_offsets[0], + scb->output_offsets[1] - scb->output_offsets[0], utf, outfile); + +YIELD: + +if (scb->subscount == dat_datctl.substitute_stop) + { + yield = -1; + if (outfile != NULL) fprintf(outfile, " STOPPED"); + } +else if (scb->subscount == dat_datctl.substitute_skip) + { + yield = +1; + if (outfile != NULL) fprintf(outfile, " SKIPPED"); + } + +if (outfile != NULL) fprintf(outfile, "\"\n"); +return yield; +} + + + +/************************************************* +* Substitute case callout function * +*************************************************/ + +/* Called from pcre2_substitute() when the substitute_case_callout +modifier is set. The substitute callout block is not identical for all code unit +widths, so we have to duplicate the function for each supported width. + +Arguments: + input the input character + input_len the length of the input + output the output buffer + output_cap the output buffer capacity + to_case the case conversion type + data_ptr callout data (unused) + +Returns: the number of code units of the output +*/ + +static PCRE2_SIZE +substitute_case_callout_function( + PCRE2_SPTR input, PCRE2_SIZE input_len, + PCRE2_UCHAR *output, PCRE2_SIZE output_cap, + int to_case, void *data_ptr) +{ +PCRE2_UCHAR buf[16]; +PCRE2_SPTR input_copy; +PCRE2_SIZE written = 0; + +(void)data_ptr; /* Not used */ + +if (input_len > sizeof(buf)/sizeof(*buf)) + { + PCRE2_UCHAR *input_buf = malloc(CU2BYTES(input_len)); + if (input_buf == NULL) return ~(PCRE2_SIZE)0; + memcpy(input_buf, input, CU2BYTES(input_len)); + input_copy = input_buf; + } +else + { + memcpy(buf, input, CU2BYTES(input_len)); + input_copy = buf; + } + +for (PCRE2_SIZE i = 0; i < input_len; ) + { + int num_in = i + 1 < input_len ? 2 : 1; + uint32_t c1 = input_copy[i]; + uint32_t c2 = i + 1 < input_len ? input_copy[i + 1] : 0; + int num_read; + int num_write; + + if (!case_transform(to_case, num_in, &num_read, &num_write, &c1, &c2)) + { + written = ~(PCRE2_SIZE)0; + goto END; + } + + i += num_read; + if (to_case == PCRE2_SUBSTITUTE_CASE_TITLE_FIRST) + to_case = PCRE2_SUBSTITUTE_CASE_LOWER; + + if (written + num_write > output_cap) + { + written += num_write; + } + else + { + if (num_write > 0) output[written++] = c1; + if (num_write > 1) output[written++] = c2; + } + } + +END: +if (input_copy != buf) free((PCRE2_UCHAR *)input_copy); + +/* Let's be maximally cruel. The case callout is allowed to leave the output +buffer in any state at all if it overflows, so let's use random garbage. */ +if (written > output_cap) + memset(output, time(NULL) & 1 ? 0xcd : 0xdc, + CU2BYTES(output_cap)); + +return written; +} + + + +/************************************************* +* Callout function * +*************************************************/ + +/* Called from a PCRE2 library as a result of the (?C) item. We print out where +we are in the match (unless suppressed). Yield zero unless more callouts than +the fail count, or the callout data is not zero. The only differences in the +callout block for different code unit widths are that the pointers to the +subject, the most recent MARK, and a callout argument string point to strings +of the appropriate width. Casts can be used to deal with this. + +Arguments: + cb a pointer to a callout block + callout_data_ptr the provided callout data + +Returns: 0 or 1 or an error, as determined by settings +*/ + +static int +callout_function(pcre2_callout_block *cb, void *callout_data_ptr) +{ +FILE *f, *fdefault; +uint32_t i, pre_start, post_start, subject_length; +PCRE2_SIZE current_position; +BOOL utf = (compiled_code->overall_options & PCRE2_UTF) != 0; +BOOL callout_capture = (dat_datctl.control & CTL_CALLOUT_CAPTURE) != 0; +BOOL callout_where = (dat_datctl.control2 & CTL2_CALLOUT_NO_WHERE) == 0; + +if (outfile == NULL) goto YIELD; + +/* The FILE f is used for echoing the subject string if it is non-NULL. This +happens only once in simple cases, but we want to repeat after any additional +output caused by CALLOUT_EXTRA. */ + +fdefault = (!first_callout && !callout_capture && cb->callout_string == NULL)? + NULL : outfile; + +if ((dat_datctl.control2 & CTL2_CALLOUT_EXTRA) != 0) + { + f = outfile; + switch (cb->callout_flags) + { + case PCRE2_CALLOUT_BACKTRACK: + fprintf(f, "Backtrack\n"); + break; + + case PCRE2_CALLOUT_STARTMATCH|PCRE2_CALLOUT_BACKTRACK: + fprintf(f, "Backtrack\nNo other matching paths\n"); + PCRE2_FALLTHROUGH /* Fall through */ + + case PCRE2_CALLOUT_STARTMATCH: + fprintf(f, "New match attempt\n"); + break; + + default: + f = fdefault; + break; + } + } +else f = fdefault; + +/* For a callout with a string argument, show the string first because there +isn't a tidy way to fit it in the rest of the data. */ + +if (cb->callout_string != NULL) + { + uint32_t delimiter = cb->callout_string[-1]; + fprintf(outfile, "Callout (%" SIZ_FORM "): %c", + cb->callout_string_offset, CHAR_OUTPUT(delimiter)); + pchars(clr_none, cb->callout_string, cb->callout_string_length, utf, outfile); + for (i = 0; callout_start_delims[i] != 0; i++) + if (delimiter == callout_start_delims[i]) + { + delimiter = callout_end_delims[i]; + break; + } + fprintf(outfile, "%c", CHAR_OUTPUT(delimiter)); + if (!callout_capture) fprintf(outfile, "\n"); + } + +/* Show captured strings if required */ + +if (callout_capture) + { + if (cb->callout_string == NULL) + fprintf(outfile, "Callout %d:", cb->callout_number); + fprintf(outfile, " last capture = %d\n", cb->capture_last); + for (i = 2; i < cb->capture_top * 2; i += 2) + { + fprintf(outfile, "%2d: ", i/2); + if (cb->offset_vector[i] == PCRE2_UNSET) + fprintf(outfile, ""); + else + { + pchars(clr_none, cb->subject + cb->offset_vector[i], + cb->offset_vector[i+1] - cb->offset_vector[i], utf, f); + } + fprintf(outfile, "\n"); + } + } + +/* Unless suppressed, re-print the subject in canonical form (with escapes for +non-printing characters), the first time, or if giving full details. On +subsequent calls in the same match, we use pchars() just to find the printed +lengths of the substrings. */ + +if (callout_where) + { + if (f != NULL) fprintf(f, "--->"); + + /* The subject before the match start. */ + + pre_start = pchars(clr_none, cb->subject, cb->start_match, utf, f); + + /* If a lookbehind is involved, the current position may be earlier than the + match start. If so, use the match start instead. */ + + current_position = (cb->current_position >= cb->start_match)? + cb->current_position : cb->start_match; + + /* The subject between the match start and the current position. */ + + post_start = pchars(clr_none, cb->subject + cb->start_match, + current_position - cb->start_match, utf, f); + + /* Print from the current position to the end. */ + + pchars(clr_none, cb->subject + current_position, cb->subject_length - current_position, + utf, f); + + /* Calculate the total subject printed length (no print). */ + + subject_length = pchars(clr_none, cb->subject, cb->subject_length, utf, NULL); + + if (f != NULL) fprintf(f, "\n"); + + /* For automatic callouts, show the pattern offset. Otherwise, for a + numerical callout whose number has not already been shown with captured + strings, show the number here. A callout with a string argument has been + displayed above. */ + + if (cb->callout_number == 255) + { + fprintf(outfile, "%+3d ", (int)cb->pattern_position); + if (cb->pattern_position > 99) fprintf(outfile, "\n "); + } + else + { + if (callout_capture || cb->callout_string != NULL) fprintf(outfile, " "); + else fprintf(outfile, "%3d ", cb->callout_number); + } + + /* Now show position indicators */ + + for (i = 0; i < pre_start; i++) fprintf(outfile, " "); + fprintf(outfile, "^"); + + if (post_start > 0) + { + for (i = 0; i < post_start - 1; i++) fprintf(outfile, " "); + fprintf(outfile, "^"); + } + + for (i = 0; i < subject_length - pre_start - post_start + 4; i++) + fprintf(outfile, " "); + + if (cb->next_item_length != 0) + { + pchars(clr_none, pbuffer + cb->pattern_position, cb->next_item_length, utf, outfile); + } + else + fprintf(outfile, "End of pattern"); + + fprintf(outfile, "\n"); + } + +/* Show any mark info */ + +if (cb->mark != last_callout_mark) + { + if (cb->mark == NULL) + fprintf(outfile, "Latest Mark: \n"); + else + { + fprintf(outfile, "Latest Mark: "); + pchars(clr_none, cb->mark - 1, -1, utf, outfile); + putc('\n', outfile); + } + } + +YIELD: + +/* Keep count */ + +first_callout = FALSE; +last_callout_mark = cb->mark; +callout_count++; + +/* Show callout data if that determines the return code */ + +if (callout_data_ptr != NULL) + { + int callout_data = *((int32_t *)callout_data_ptr); + if (callout_data != 0) + { + if (outfile != NULL) fprintf(outfile, "Callout data = %d\n", callout_data); + return callout_data; + } + } + +/* Otherwise, the callout_error and callout_fail settings provide the return +code. */ + +if (cb->callout_number == dat_datctl.cerror[0] && + callout_count >= dat_datctl.cerror[1]) + return PCRE2_ERROR_CALLOUT; + +if (cb->callout_number == dat_datctl.cfail[0] && + callout_count >= dat_datctl.cfail[1]) + return 1; + +return 0; +} + + + +/************************************************* +* Handle *MARK and copy/get tests * +*************************************************/ + +/* This function is called after complete and partial matches. It runs the +tests for substring extraction. + +Arguments: + utf TRUE for utf + capcount return from pcre2_match() + +Returns: FALSE if print_error_message() fails +*/ + +static BOOL +copy_and_get(BOOL utf, int capcount) +{ +int i; +uint8_t *nptr; + +/* Test copy strings by number */ + +for (i = 0; i < MAXCPYGET && dat_datctl.copy_numbers[i] >= 0; i++) + { + int rc, rc2; + PCRE2_SIZE length, length2; + PCRE2_UCHAR copybuffer[256]; + uint32_t n = (uint32_t)(dat_datctl.copy_numbers[i]); + length = sizeof(copybuffer)/sizeof(*copybuffer); + rc = pcre2_substring_copy_bynumber(match_data, n, copybuffer, &length); + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "Copy substring %d failed (%d): ", n, rc); + if (!print_error_message(rc, "", "\n")) return FALSE; + } + else + { + fprintf(outfile, "%2dC ", n); + pchars(clr_none, copybuffer, length, utf, outfile); + fprintf(outfile, " (%" SIZ_FORM ")\n", length); + } + rc2 = pcre2_substring_length_bynumber(match_data, n, &length2); + if (rc2 < 0) + { + cfprintf(clr_api_error, outfile, "Get substring %d length failed (%d): ", n, rc2); + if (!print_error_message(rc2, "", "\n")) return FALSE; + } + else if (rc >= 0 && length2 != length) + { + cfprintf(clr_test_error, outfile, "** Mismatched substring lengths: %" + SIZ_FORM " %" SIZ_FORM "\n", length, length2); + } + } + +/* Test copy strings by name */ + +nptr = dat_datctl.copy_names; +for (;;) + { + int rc, rc2; + int groupnumber; + PCRE2_SIZE length, length2; + PCRE2_UCHAR copybuffer[256]; + size_t namelen = strlen((const char *)nptr); +#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 + PCRE2_SIZE cnl = namelen; +#endif + if (namelen == 0) break; + +#if PCRE2_CODE_UNIT_WIDTH == 8 + strcpy((char *)pbuffer8, (char *)nptr); +#endif +#if defined(EBCDIC) && !EBCDIC_IO + ascii_to_ebcdic_str(pbuffer8, namelen); +#endif +#if PCRE2_CODE_UNIT_WIDTH == 16 + (void)to16(nptr, utf, &cnl); +#endif +#if PCRE2_CODE_UNIT_WIDTH == 32 + (void)to32(nptr, utf, &cnl); +#endif + + groupnumber = pcre2_substring_number_from_name(compiled_code, pbuffer); + if (groupnumber < 0 && groupnumber != PCRE2_ERROR_NOUNIQUESUBSTRING) + cfprintf(clr_api_error, outfile, "Number not found for group \"%s\"\n", nptr); + + length = sizeof(copybuffer)/sizeof(*copybuffer); + rc = pcre2_substring_copy_byname(match_data, pbuffer, copybuffer, &length); + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "Copy substring \"%s\" failed (%d): ", nptr, rc); + if (!print_error_message(rc, "", "\n")) return FALSE; + } + else + { + fprintf(outfile, " C "); + pchars(clr_none, copybuffer, length, utf, outfile); + fprintf(outfile, " (%" SIZ_FORM ") %s", length, nptr); + if (groupnumber >= 0) fprintf(outfile, " (group %d)\n", groupnumber); + else fprintf(outfile, " (non-unique)\n"); + } + rc2 = pcre2_substring_length_byname(match_data, pbuffer, &length2); + if (rc2 < 0) + { + cfprintf(clr_api_error, outfile, "Get substring \"%s\" length failed (%d): ", nptr, rc2); + if (!print_error_message(rc2, "", "\n")) return FALSE; + } + else if (rc >= 0 && length2 != length) + { + cfprintf(clr_test_error, outfile, "** Mismatched substring lengths: %" + SIZ_FORM " %" SIZ_FORM "\n", length, length2); + } + nptr += namelen + 1; + } + +/* Test get strings by number */ + +for (i = 0; i < MAXCPYGET && dat_datctl.get_numbers[i] >= 0; i++) + { + int rc; + PCRE2_SIZE length; + PCRE2_UCHAR *gotbuffer; + uint32_t n = (uint32_t)(dat_datctl.get_numbers[i]); + rc = pcre2_substring_get_bynumber(match_data, n, &gotbuffer, &length); + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "Get substring %d failed (%d): ", n, rc); + if (!print_error_message(rc, "", "\n")) return FALSE; + } + else + { + fprintf(outfile, "%2dG ", n); + pchars(clr_none, gotbuffer, length, utf, outfile); + fprintf(outfile, " (%" SIZ_FORM ")\n", length); + pcre2_substring_free(gotbuffer); + } + } + +/* Test get strings by name */ + +nptr = dat_datctl.get_names; +for (;;) + { + PCRE2_SIZE length; + PCRE2_UCHAR *gotbuffer; + int rc; + int groupnumber; + size_t namelen = strlen((const char *)nptr); +#if PCRE2_CODE_UNIT_WIDTH == 16 || PCRE2_CODE_UNIT_WIDTH == 32 + PCRE2_SIZE cnl = namelen; +#endif + if (namelen == 0) break; + +#if PCRE2_CODE_UNIT_WIDTH == 8 + strcpy((char *)pbuffer8, (char *)nptr); +#endif +#if defined(EBCDIC) && !EBCDIC_IO + ascii_to_ebcdic_str(pbuffer8, namelen); +#endif +#if PCRE2_CODE_UNIT_WIDTH == 16 + (void)to16(nptr, utf, &cnl); +#endif +#if PCRE2_CODE_UNIT_WIDTH == 32 + (void)to32(nptr, utf, &cnl); +#endif + + groupnumber = pcre2_substring_number_from_name(compiled_code, pbuffer); + if (groupnumber < 0 && groupnumber != PCRE2_ERROR_NOUNIQUESUBSTRING) + cfprintf(clr_api_error, outfile, "Number not found for group \"%s\"\n", nptr); + + rc = pcre2_substring_get_byname(match_data, pbuffer, &gotbuffer, &length); + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "Get substring \"%s\" failed (%d): ", nptr, rc); + if (!print_error_message(rc, "", "\n")) return FALSE; + } + else + { + fprintf(outfile, " G "); + pchars(clr_none, gotbuffer, length, utf, outfile); + fprintf(outfile, " (%" SIZ_FORM ") %s", length, nptr); + if (groupnumber >= 0) fprintf(outfile, " (group %d)\n", groupnumber); + else fprintf(outfile, " (non-unique)\n"); + pcre2_substring_free(gotbuffer); + } + nptr += namelen + 1; + } + +/* Test getting the complete list of captured strings. */ + +if ((dat_datctl.control & CTL_GETALL) != 0) + { + int rc; + PCRE2_UCHAR **stringlist; + PCRE2_SIZE *lengths; + rc = pcre2_substring_list_get(match_data, &stringlist, &lengths); + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "get substring list failed (%d): ", rc); + if (!print_error_message(rc, "", "\n")) return FALSE; + } + else + { + for (i = 0; i < capcount; i++) + { + fprintf(outfile, "%2dL ", i); + pchars(clr_none, stringlist[i], lengths[i], utf, outfile); + putc('\n', outfile); + } + if (stringlist[i] != NULL) + cfprintf(clr_test_error, outfile, "** string list not terminated by NULL\n"); + pcre2_substring_list_free(stringlist); + } + } + +return TRUE; +} + + + +/************************************************* +* Copy a substitution string * +*************************************************/ + +/* Copy one of the string arguments to pcre2_substitute() from its uint8_t +test input to the appropriate width buffer. +*/ + +static void +copy_substitute_string(BOOL utf, uint8_t *input, PCRE2_SIZE inlen, + PCRE2_UCHAR *output, PCRE2_SIZE *outlen) +{ +uint32_t c; +uint8_t *input_end = input + inlen; +PCRE2_UCHAR *output_start = output; +PCRE2_SIZE erroroffset; +BOOL badutf = FALSE; + +/* When copying the replacement string to a buffer of the appropriate width, no +escape processing is done. + +In UTF mode, check for an invalid UTF-8 input string, and if it is invalid, just +copy its code units without UTF interpretation. This provides a means of +checking that an invalid string is detected. Otherwise, UTF-8 can be used to +include wide characters in a replacement. */ + +if (utf) badutf = valid_utf(input, inlen, &erroroffset); + +/* Not UTF or invalid UTF-8: just copy the code units. */ + +if (!utf || badutf) + { + while (input < input_end) + { + c = *input++; +#if defined(EBCDIC) && !EBCDIC_IO + c = ascii_to_ebcdic(c); +#endif + *output++ = c; + } + } + +/* Valid UTF-8 replacement string */ + +else while (input < input_end) + { + c = *input++; + if (HASUTF8EXTRALEN(c)) { GETUTF8INC(c, input); } + +#if PCRE2_CODE_UNIT_WIDTH == 8 + output += ord_to_utf8(c, output); + +#elif PCRE2_CODE_UNIT_WIDTH == 16 + if (c >= 0x10000u) + { + c-= 0x10000u; + *output++ = 0xd800 | (c >> 10); + *output++ = 0xdc00 | (c & 0x3ff); + } + else *output++ = c; + +#elif PCRE2_CODE_UNIT_WIDTH == 32 + *output++ = c; +#endif + } + +*output = 0; +*outlen = output - output_start; +} + + + +/************************************************* +* Process a data line * +*************************************************/ + +/* The line is in buffer; it will not be empty. + +Arguments: none + +Returns: PR_OK continue processing next line + PR_SKIP skip to a blank line + PR_ABEND abort the pcre2test run +*/ + +static int +process_data(void) +{ +PCRE2_SIZE ulen, arg_ulen; +uint32_t gmatched; +uint32_t c, k; +uint32_t g_notempty = 0; +uint8_t *p; /* Position within buffer (raw input line) */ +size_t len; +size_t needlen; /* Bytes, for sizing dbuffer */ +pcre2_match_context *use_dat_context; +BOOL utf; +BOOL subject_literal; + +PCRE2_SIZE *ovector; +PCRE2_SPTR ovecsave[2] = { NULL, NULL }; +uint32_t oveccount; + +PCRE2_UCHAR *q = NULL; /* Typed pointer within dbuffer */ +PCRE2_UCHAR *start_rep; /* Position within dbuffer; stashed value of q */ +PCRE2_UCHAR *pp; /* Subject pointer within dbuffer */ + +subject_literal = (pat_patctl.control2 & CTL2_SUBJECT_LITERAL) != 0; + +/* Copy the default context and data control blocks to the active ones. Then +copy from the pattern the controls that can be set in either the pattern or the +data. This allows them to be overridden in the data line. We do not do this for +options because those that are common apply separately to compiling and +matching. */ + +memcpy(dat_context, default_dat_context, sizeof(pcre2_match_context)); +memcpy(&dat_datctl, &def_datctl, sizeof(datctl)); +dat_datctl.control |= (pat_patctl.control & CTL_ALLPD); +dat_datctl.control2 |= (pat_patctl.control2 & CTL2_ALLPD); +dat_datctl.replacement[0] = pat_patctl.replacement[0]; +if (pat_patctl.replacement[0] != MOD_STR_UNSET) + memcpy(dat_datctl.replacement + 1, pat_patctl.replacement + 1, + pat_patctl.replacement[0] + 1); +if (dat_datctl.jitstack == 0) dat_datctl.jitstack = pat_patctl.jitstack; + +if (dat_datctl.substitute_skip == 0) + dat_datctl.substitute_skip = pat_patctl.substitute_skip; +if (dat_datctl.substitute_stop == 0) + dat_datctl.substitute_stop = pat_patctl.substitute_stop; + +/* Initialize for scanning the data line. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 +utf = ((((pat_patctl.control & CTL_POSIX) != 0)? + ((pcre2_real_code *)preg.re_pcre2_code)->overall_options : + compiled_code->overall_options) & PCRE2_UTF) != 0; +#else +utf = (compiled_code->overall_options & PCRE2_UTF) != 0; +#endif + +start_rep = NULL; +len = strlen((const char *)buffer); +while (len > 0 && isspace(buffer[len-1])) len--; +buffer[len] = 0; +p = buffer; +while (isspace(*p)) + { + p++; + len--; + } + +/* Check that the data is well-formed UTF-8 if we're in UTF mode. To create +invalid input to pcre2_match(), you must use \x?? or \x{} sequences. */ + +if (utf) + { + uint8_t *ptmp; + uint32_t cc; + int n = 1; + uint8_t *ptmp_end = p + len; + + for (ptmp = p; n > 0 && *ptmp; ptmp += n) + n = utf8_to_ord(ptmp, ptmp_end, &cc); + if (n <= 0) + { + cfprintf(clr_test_error, outfile, "** Failed: invalid UTF-8 string cannot be used as input " + "in UTF mode\n"); + return PR_OK; + } + } + +#ifdef SUPPORT_VALGRIND +/* Mark the dbuffer as addressable but undefined again. */ +if (dbuffer != NULL) + { + VALGRIND_MAKE_MEM_UNDEFINED(dbuffer, dbuffer_size); + } +#endif + +/* Allocate a buffer to hold the data line; len+1 is an upper bound on +the number of code units that will be needed (though the buffer may have to be +extended if replication is involved). */ + +needlen = CU2BYTES(len+1); +if (dbuffer == NULL || needlen >= dbuffer_size) + { + while (needlen >= dbuffer_size) + { + if (dbuffer_size < SIZE_MAX/2) dbuffer_size *= 2; + else dbuffer_size = needlen + 1; + } + dbuffer = (uint8_t *)realloc(dbuffer, dbuffer_size); + if (dbuffer == NULL) + { + cfprintf(clr_test_error, stderr, "pcre2test: realloc(%" SIZ_FORM ") failed\n", dbuffer_size); + exit(1); + } + } +q = (PCRE2_UCHAR *)dbuffer; + +/* Scan the data line, interpreting data escapes, and put the result into a +buffer of the appropriate width. In UTF mode, input is always UTF-8; otherwise, +in 16- and 32-bit modes, it can be forced to UTF-8 by the utf8_input modifier. +*/ + +while ((c = *p++) != 0) + { + int i = 0; + size_t replen; /* Bytes, for sizing dbuffer */ + enum force_encoding encoding = FORCE_NONE; + + /* ] may mark the end of a replicated sequence */ + + if (c == ']' && start_rep != NULL) + { + long li; + char *endptr; + + if (*p++ != '{') + { + cfprintf(clr_test_error, outfile, "** Expected '{' after \\[....]\n"); + return PR_OK; + } + + li = strtol((const char *)p, &endptr, 10); + if (S32OVERFLOW(li)) + { + cfprintf(clr_test_error, outfile, "** Repeat count too large\n"); + return PR_OK; + } + i = (int)li; + + p = (uint8_t *)endptr; + if (*p++ != '}') + { + cfprintf(clr_test_error, outfile, "** Expected '}' after \\[...]{...\n"); + return PR_OK; + } + + if (i-- <= 0) + { + cfprintf(clr_test_error, outfile, "** Zero or negative repeat not allowed\n"); + return PR_OK; + } + + replen = (uint8_t *)q - (uint8_t *)start_rep; + if (i > 0 && replen > (SIZE_MAX - needlen) / i) + { + cfprintf(clr_test_error, outfile, "** Expanded content too large\n"); + return PR_OK; + } + needlen += replen * i; + + if (needlen >= dbuffer_size) + { + size_t qoffset = (uint8_t *)q - dbuffer; + size_t rep_offset = (uint8_t *)start_rep - dbuffer; + while (needlen >= dbuffer_size) + { + if (dbuffer_size < SIZE_MAX/2) dbuffer_size *= 2; + else dbuffer_size = needlen + 1; + } + dbuffer = (uint8_t *)realloc(dbuffer, dbuffer_size); + if (dbuffer == NULL) + { + cfprintf(clr_test_error, stderr, "pcre2test: realloc(%" SIZ_FORM ") failed\n", + dbuffer_size); + exit(1); + } + q = (PCRE2_UCHAR *)(dbuffer + qoffset); + start_rep = (PCRE2_UCHAR *)(dbuffer + rep_offset); + } + + while (i-- > 0) + { + memcpy(q, start_rep, replen); + q += BYTES2CU(replen); + } + + start_rep = NULL; + continue; + } + + /* Handle a non-escaped character. In non-UTF 32-bit mode with utf8_input + set, do the fudge for setting the top bit. */ + + if (c != '\\' || subject_literal) + { + uint32_t topbit = 0; +#if PCRE2_CODE_UNIT_WIDTH == 32 + if (c == 0xff && *p != 0) + { + topbit = 0x80000000; + c = *p++; + } +#endif + if ((utf || (pat_patctl.control & CTL_UTF8_INPUT) != 0) && + HASUTF8EXTRALEN(c)) + { + GETUTF8INC(c, p); + } + c |= topbit; + } + + /* Handle backslash escapes */ + + else switch ((c = *p++)) + { + case '\\': break; + case 'a': c = '\a'; break; + case 'b': c = '\b'; break; +#if defined(EBCDIC) && !EBCDIC_IO + /* \e is the odd one out since it's not defined in the C standard, + precisely because of EBCDIC (apparently EBCDIC 'ESC' character isn't + an exact match to Latin-1 'ESC', hence '\e' isn't necessarily + supported by EBCDIC compilers). */ + case 'e': c = '\x1b'; break; +#else + case 'e': c = CHAR_ESC; break; +#endif + case 'f': c = '\f'; break; + case 'n': c = '\n'; break; + case 'r': c = '\r'; break; + case 't': c = '\t'; break; + case 'v': c = '\v'; break; + + case '0': case '1': case '2': case '3': + case '4': case '5': case '6': case '7': + c -= '0'; + while (i++ < 2 && *p >= '0' && *p < '8') + c = c * 8 + (*p++ - '0'); + c = CHAR_OUTPUT(CHAR_INPUT_HEX(c)); + + encoding = (utf && c > 255)? FORCE_UTF : FORCE_RAW; + break; + + case 'o': + if (*p == '{') + { + uint8_t *pt = p; + c = 0; + for (pt++; isdigit(*pt) && *pt < '8'; ++i, pt++) + { + if (c >= 0x20000000u) + { + cfprintf(clr_test_error, outfile, "** \\o{ escape too large\n"); + return PR_OK; + } + else c = c * 8 + (*pt - '0'); + } + c = CHAR_OUTPUT(CHAR_INPUT_HEX(c)); + if (i == 0 || *pt != '}') + { + cfprintf(clr_test_error, outfile, "** Malformed \\o{ escape\n"); + return PR_OK; + } + else p = pt + 1; + } + break; + + case 'x': + c = 0; + if (*p == '{') + { + uint8_t *pt = p; + + /* We used to have "while (isxdigit(*(++pt)))" here, but it fails + when isxdigit() is a macro that refers to its argument more than + once. This is banned by the C Standard, but apparently happens in at + least one macOS environment. */ + + for (pt++; isxdigit(*pt); pt++) + { + if (++i == 9) + { + cfprintf(clr_test_error, outfile, "** Too many hex digits in \\x{...} item; " + "using only the first eight.\n"); + while (isxdigit(*pt)) pt++; + break; + } + else c = c * 16 + (tolower(*pt) - (isdigit(*pt)? '0' : 'a' - 10)); + } + c = CHAR_OUTPUT(CHAR_INPUT_HEX(c)); + if (i == 0 || *pt != '}') + { + cfprintf(clr_test_error, outfile, "** Malformed \\x{ escape\n"); + return PR_OK; + } + else p = pt + 1; + } + else + { + /* \x without {} always defines just one byte in 8-bit mode. This + allows UTF-8 characters to be constructed byte by byte, and also allows + invalid UTF-8 sequences to be made. Just copy the byte in UTF-8 mode. + Otherwise, pass it down as data. */ + + while (i++ < 2 && isxdigit(*p)) + { + c = c * 16 + (tolower(*p) - (isdigit(*p)? '0' : 'a' - 10)); + p++; + } + c = CHAR_OUTPUT(CHAR_INPUT_HEX(c)); +#if PCRE2_CODE_UNIT_WIDTH == 8 + if (utf) encoding = FORCE_RAW; +#endif + } + break; + + case 'N': +#ifndef EBCDIC + if (memcmp(p, "{U+", 3) == 0 && isxdigit(p[3])) + { + char *endptr; + unsigned long uli; + + p += 3; + errno = 0; + uli = strtoul((const char *)p, &endptr, 16); + if (errno == 0 && *endptr == '}' && uli <= UINT32_MAX) + { + c = (uint32_t)uli; + p = (uint8_t *)endptr + 1; + encoding = FORCE_UTF; + break; + } + } +#endif + cfprintf(clr_test_error, outfile, "** Malformed \\N{U+ escape\n"); + return PR_OK; + + case 0: /* \ followed by EOF allows for an empty line */ + p--; + continue; + + case '=': /* \= terminates the data, starts modifiers */ + goto ENDSTRING; + + case '[': /* \[ introduces a replicated character sequence */ + if (start_rep != NULL) + { + cfprintf(clr_test_error, outfile, "** Nested replication is not supported\n"); + return PR_OK; + } + start_rep = q; + continue; + + default: + if (isalnum(c)) + { + cfprintf(clr_test_error, outfile, "** Unrecognized escape sequence \"\\%c\"\n", c); + return PR_OK; + } + } + + /* We now have a character value in c that may be greater than 255. + Depending of how we got it, the encoding enum could be set to tell + us how to encode it, otherwise follow the utf modifier. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 + if (encoding == FORCE_RAW || !(utf || encoding == FORCE_UTF)) + { + if (c > 0xffu) + { + cfprintf(clr_test_error, outfile, "** Character \\x{%x} is greater than 255 " + "and UTF-8 mode is not enabled.\n", c); + cfprintf(clr_test_error, outfile, "** Truncation will probably give the wrong " + "result.\n"); + } + *q++ = (uint8_t)c; + } + else + { + if (c > 0x7fffffff) + { + cfprintf(clr_test_error, outfile, "** Character \\N{U+%x} is greater than 0x7fffffff " + "and therefore cannot be encoded as UTF-8\n", c); + return PR_OK; + } + else if (encoding == FORCE_UTF && c > MAX_UTF_CODE_POINT) + cfprintf(clr_test_error, outfile, "** Warning: character \\N{U+%x} is greater than " + "0x%x and should not be encoded as UTF-8\n", + c, MAX_UTF_CODE_POINT); + q += ord_to_utf8(c, q); + } +#endif +#if PCRE2_CODE_UNIT_WIDTH == 16 + /* Unlike the 8-bit code, there are no forced raw suggestions for the + 16-bit mode, so assume raw unless utf is preferred */ + + if (!(encoding == FORCE_UTF || utf)) + { + if (c > 0xffffu) + { + cfprintf(clr_test_error, outfile, "** Character \\x{%x} is greater than 0xffff " + "and UTF-16 mode is not enabled.\n", c); + cfprintf(clr_test_error, outfile, "** Truncation will probably give the wrong " + "result.\n"); + } + *q++ = (uint16_t)c; + } + else + { + if (c > MAX_UTF_CODE_POINT) + { + cfprintf(clr_test_error, outfile, "** Failed: character \\N{U+%x} is greater than " + "0x%x and therefore cannot be encoded as UTF-16\n", + c, MAX_UTF_CODE_POINT); + return PR_OK; + } + else if (c >= 0x10000u) + { + c -= 0x10000u; + *q++ = 0xd800 | (c >> 10); + *q++ = 0xdc00 | (c & 0x3ff); + } + else + { + if (encoding == FORCE_UTF && 0xe000u > c && c >= 0xd800u) + cfprintf(clr_test_error, outfile, "** Warning: character \\N{U+%x} is a surrogate " + "and should not be encoded as UTF-16\n", c); + *q++ = c; + } + } +#endif +#if PCRE2_CODE_UNIT_WIDTH == 32 + if (encoding == FORCE_UTF && c > MAX_UTF_CODE_POINT) + cfprintf(clr_test_error, outfile, "** Warning: character \\N{U+%x} is greater than " + "0x%x and should not be encoded as UTF-32\n", + c, MAX_UTF_CODE_POINT); + *q++ = c; +#endif + } + +ENDSTRING: +*q = 0; +len = (uint8_t *)q - dbuffer; /* Length in bytes */ +ulen = BYTES2CU(len); /* Length in code units */ +arg_ulen = ulen; /* Value to use in match arg */ + +/* If the string was terminated by \= we must now interpret modifiers. */ + +if (p[-1] != 0 && !decode_modifiers(p, CTX_DAT, NULL, &dat_datctl)) + return PR_OK; + +/* Setting substitute_{skip,fail} implies a substitute callout. */ + +if (dat_datctl.substitute_skip != 0 || dat_datctl.substitute_stop != 0) + dat_datctl.control2 |= CTL2_SUBSTITUTE_CALLOUT; + +/* Check for mutually exclusive modifiers. At present, these are all in the +first control word. */ + +for (k = 0; k < sizeof(exclusive_dat_controls)/sizeof(uint32_t); k++) + { + c = dat_datctl.control & exclusive_dat_controls[k]; + if (c != 0 && c != (c & (~c+1))) + { + show_controls(clr_test_error, c, 0, "** Not allowed together:"); + fprintf(outfile, "\n"); + return PR_OK; + } + } + +if (dat_datctl.replacement[0] != MOD_STR_UNSET) + { + if ((dat_datctl.control2 & CTL2_SUBSTITUTE_CALLOUT) != 0 && + (dat_datctl.control & CTL_NULLCONTEXT) != 0) + { + cfprintf(clr_test_error, outfile, "** Replacement callouts are not supported with null_context.\n"); + return PR_OK; + } + + if ((dat_datctl.control2 & CTL2_SUBSTITUTE_CASE_CALLOUT) != 0 && + (dat_datctl.control & CTL_NULLCONTEXT) != 0) + { + cfprintf(clr_test_error, outfile, "** Replacement case callouts are not supported with null_context.\n"); + return PR_OK; + } + + if ((dat_datctl.control & CTL_ALLCAPTURES) != 0) + cfprintf(clr_test_error, outfile, "** Ignored with replacement text: allcaptures\n"); + + if (dat_datctl.substitute_subject[0] != MOD_STR_UNSET && + (dat_datctl.control2 & CTL2_SUBSTITUTE_MATCHED) == 0) + { + cfprintf(clr_test_error, outfile, "** substitute_subject requires substitute_matched.\n"); + return PR_OK; + } + } + +else + { + if (dat_datctl.substitute_subject[0] != MOD_STR_UNSET) + { + cfprintf(clr_test_error, outfile, "** substitute_subject requires replacement text.\n"); + return PR_OK; + } + } + +/* Warn for modifiers that are ignored for DFA. */ + +if ((dat_datctl.control & CTL_DFA) != 0) + { + if ((dat_datctl.control & CTL_ALLCAPTURES) != 0) + cfprintf(clr_test_error, outfile, "** Ignored for DFA matching: allcaptures\n"); + if ((dat_datctl.control2 & CTL2_HEAPFRAMES_SIZE) != 0) + cfprintf(clr_test_error, outfile, "** Ignored for DFA matching: heapframes_size\n"); + } + +/* We now have the subject in dbuffer, with len containing the byte length, and +ulen containing the code unit length, with a copy in arg_ulen for use in match +function arguments (this gets changed to PCRE2_ZERO_TERMINATED when the +zero_terminate modifier is present). + +Move the data to the end of the buffer so that a read over the end can be +caught by valgrind or other means. If we have explicit valgrind support, mark +the unused start of the buffer unaddressable. If we are using the POSIX +interface, or testing zero-termination, we must include the terminating zero in +the usable data. */ + +c = ((pat_patctl.control & CTL_POSIX) != 0 || + (dat_datctl.control & CTL_ZERO_TERMINATE) != 0)? CU2BYTES(1) : 0; +pp = memmove(dbuffer + dbuffer_size - (len + c), dbuffer, len + c); +#ifdef SUPPORT_VALGRIND +VALGRIND_MAKE_MEM_NOACCESS(dbuffer, dbuffer_size - (len + c)); +#endif + +#if defined(EBCDIC) && !EBCDIC_IO +ascii_to_ebcdic_str(pp, len); +#endif + +/* Now pp points to the subject string, but if null_subject was specified, set +it to NULL to test PCRE2's behaviour. */ + +if ((dat_datctl.control2 & CTL2_NULL_SUBJECT) != 0) pp = NULL; + +/* POSIX matching is only possible in 8-bit mode, and it does not support +timing or other fancy features. Some were checked at compile time, but we need +to check the match-time settings here. */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 +if ((pat_patctl.control & CTL_POSIX) != 0) + { + int rc; + int eflags = 0; + regmatch_t *pmatch = NULL; + regmatch_t startend_buf; + const char *msg = "** Ignored with POSIX interface:"; + + if (dat_datctl.cerror[0] != CFORE_UNSET || dat_datctl.cerror[1] != CFORE_UNSET) + prmsg(&msg, "callout_error"); + if (dat_datctl.cfail[0] != CFORE_UNSET || dat_datctl.cfail[1] != CFORE_UNSET) + prmsg(&msg, "callout_fail"); + if (dat_datctl.copy_numbers[0] >= 0 || dat_datctl.copy_names[0] != 0) + prmsg(&msg, "copy"); + if (dat_datctl.get_numbers[0] >= 0 || dat_datctl.get_names[0] != 0) + prmsg(&msg, "get"); + if (dat_datctl.jitstack != 0) prmsg(&msg, "jitstack"); + if (dat_datctl.offset != 0) prmsg(&msg, "offset"); + + if ((dat_datctl.options & ~POSIX_SUPPORTED_MATCH_OPTIONS) != 0) + { + cfprintf(clr_test_error, outfile, "%s", msg); + show_match_options(clr_test_error, dat_datctl.options & ~POSIX_SUPPORTED_MATCH_OPTIONS); + msg = ""; + } + + if ((dat_datctl.control & ~POSIX_SUPPORTED_MATCH_CONTROLS) != 0 || + (dat_datctl.control2 & ~POSIX_SUPPORTED_MATCH_CONTROLS2) != 0) + { + show_controls(clr_test_error, dat_datctl.control & ~POSIX_SUPPORTED_MATCH_CONTROLS, + dat_datctl.control2 & ~POSIX_SUPPORTED_MATCH_CONTROLS2, msg); + msg = ""; + } + + if (msg[0] == 0) fprintf(outfile, "\n"); + + if (dat_datctl.oveccount > 0) + { + pmatch = (regmatch_t *)malloc(sizeof(regmatch_t) * dat_datctl.oveccount); + if (pmatch == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed to get memory for recording matching " + "information (size set = %du)\n", dat_datctl.oveccount); + return PR_ABEND; + } + } + + if (dat_datctl.startend[0] != CFORE_UNSET) + { + if (pmatch == NULL) pmatch = &startend_buf; + pmatch[0].rm_so = (regoff_t)dat_datctl.startend[0]; + pmatch[0].rm_eo = (dat_datctl.startend[1] != 0)? + (regoff_t)dat_datctl.startend[1] : (regoff_t)len; + eflags |= REG_STARTEND; + } + + if ((dat_datctl.options & PCRE2_NOTBOL) != 0) eflags |= REG_NOTBOL; + if ((dat_datctl.options & PCRE2_NOTEOL) != 0) eflags |= REG_NOTEOL; + if ((dat_datctl.options & PCRE2_NOTEMPTY) != 0) eflags |= REG_NOTEMPTY; + + rc = regexec(&preg, (const char *)pp, dat_datctl.oveccount, pmatch, eflags); + if (rc != 0) + { + size_t usize = regerror(rc, &preg, (char *)pbuffer8, pbuffer8_size); + cfprintf(clr_api_error, outfile, "No match: POSIX code %d: ", rc); + pchars(clr_api_error, (PCRE2_SPTR8)pbuffer8, usize - 1, utf, outfile); + fputs("\n", outfile); + } + else if ((pat_patctl.control & CTL_POSIX_NOSUB) != 0) + fprintf(outfile, "Matched with REG_NOSUB\n"); + else if (dat_datctl.oveccount == 0) + fprintf(outfile, "Matched without capture\n"); + else + { + size_t i, j; + size_t last_printed = (size_t)dat_datctl.oveccount; + for (i = 0; i < (size_t)dat_datctl.oveccount; i++) + { + if (pmatch[i].rm_so >= 0) + { + PCRE2_SIZE start = pmatch[i].rm_so; + PCRE2_SIZE end = pmatch[i].rm_eo; + for (j = last_printed + 1; j < i; j++) + fprintf(outfile, "%2d: \n", (int)j); + last_printed = i; + if (start > end) + { + start = pmatch[i].rm_eo; + end = pmatch[i].rm_so; + cfprintf(clr_api_error, outfile, "Start of matched string is beyond its end - " + "displaying from end to start.\n"); + } + fprintf(outfile, "%2d: ", (int)i); + pchars(clr_none, pp + start, end - start, utf, outfile); + fprintf(outfile, "\n"); + + if ((i == 0 && (dat_datctl.control & CTL_AFTERTEXT) != 0) || + (dat_datctl.control & CTL_ALLAFTERTEXT) != 0) + { + fprintf(outfile, "%2d+ ", (int)i); + /* Note: don't use the start/end variables here because we want to + show the text from what is reported as the end. */ + pchars(clr_none, pp + pmatch[i].rm_eo, len - pmatch[i].rm_eo, utf, outfile); + fprintf(outfile, "\n"); + } + } + } + } + if (pmatch != &startend_buf) free(pmatch); + return PR_OK; + } +#endif /* PCRE2_CODE_UNIT_WIDTH == 8 */ + + /* Handle matching via the native interface. Check for consistency of +modifiers. */ + +if (dat_datctl.startend[0] != CFORE_UNSET) + cfprintf(clr_test_error, outfile, "** \\=posix_startend ignored for non-POSIX matching\n"); + +/* ALLUSEDTEXT is not supported with JIT, but JIT is not used with DFA +matching, even if the JIT compiler was used. */ + +if ((dat_datctl.control & (CTL_ALLUSEDTEXT|CTL_DFA)) == CTL_ALLUSEDTEXT && + compiled_code->executable_jit != NULL) + { + cfprintf(clr_test_error, outfile, "** Showing all consulted text is not supported by JIT: ignored\n"); + dat_datctl.control &= ~CTL_ALLUSEDTEXT; + } + +/* Handle passing the subject as zero-terminated. */ + +if ((dat_datctl.control & CTL_ZERO_TERMINATE) != 0) + arg_ulen = PCRE2_ZERO_TERMINATED; + +/* The nullcontext modifier is used to test calling pcre2_[jit_]match() with a +NULL context. */ + +use_dat_context = ((dat_datctl.control & CTL_NULLCONTEXT) != 0)? + NULL : dat_context; + +/* Enable display of malloc/free if wanted. We can do this only if either the +pattern or the subject is processed with a context. */ + +show_memory = (dat_datctl.control & CTL_MEMORY) != 0; + +if (show_memory && + (pat_patctl.control & dat_datctl.control & CTL_NULLCONTEXT) != 0) + cfprintf(clr_test_error, outfile, "** \\=memory requires either a pattern or a subject " + "context: ignored\n"); + +/* Create and assign a JIT stack if requested. */ + +if (dat_datctl.jitstack != 0) + { + if (dat_datctl.jitstack != jit_stack_size) + { + pcre2_jit_stack_free(jit_stack); + jit_stack = pcre2_jit_stack_create(1, dat_datctl.jitstack * 1024, NULL); + jit_stack_size = dat_datctl.jitstack; + } + pcre2_jit_stack_assign(dat_context, jit_callback, jit_stack); + } + +/* Or de-assign */ + +else if (jit_stack != NULL) + { + pcre2_jit_stack_assign(dat_context, NULL, NULL); + pcre2_jit_stack_free(jit_stack); + jit_stack = NULL; + jit_stack_size = 0; + } + +/* When no JIT stack is assigned, we must ensure that there is a JIT callback +if we want to verify that JIT was actually used. */ + +if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_stack == NULL) + { + pcre2_jit_stack_assign(dat_context, jit_callback, NULL); + } + +/* Set up the match callout. The pattern remains in pbuffer8/16/32 after +compilation, for use by the callout. */ + +if ((dat_datctl.control & CTL_CALLOUT_NONE) == 0) + { + pcre2_set_callout(dat_context, callout_function, + (void *)(&dat_datctl.callout_data)); + } +else + { + pcre2_set_callout(dat_context, NULL, NULL); /* No callout */ + } + +/* Adjust match_data according to size of offsets required. A size of zero +causes a new match data block to be obtained that exactly fits the pattern. */ + +if (dat_datctl.oveccount == 0) + { + pcre2_match_data_free(match_data); + match_data = pcre2_match_data_create_from_pattern(compiled_code, + general_context); + max_oveccount = pcre2_get_ovector_count(match_data); + } +else if (dat_datctl.oveccount <= max_oveccount) + { + match_data->oveccount = dat_datctl.oveccount; + } +else + { + max_oveccount = dat_datctl.oveccount; + pcre2_match_data_free(match_data); + match_data = pcre2_match_data_create(max_oveccount, general_context); + } + +if (match_data == NULL) + { + cfprintf(clr_test_error, outfile, "** Failed to get memory for recording matching " + "information (size requested: %d)\n", dat_datctl.oveccount); + max_oveccount = 0; + return PR_ABEND; + } + +ovector = match_data->ovector; +oveccount = pcre2_get_ovector_count(match_data); + +/* Helper to clear any cached heap frames from the match_data. */ + +#define CLEAR_HEAP_FRAMES() \ + do { \ + void *heapframes = (void *)(match_data->heapframes); \ + void *memory_data = match_data->memctl.memory_data; \ + match_data->memctl.free(heapframes, memory_data); \ + match_data->heapframes = NULL; \ + match_data->heapframes_size = 0; \ + } \ + while (0) + +/* Replacement processing is ignored for DFA matching. Allow this for +replacements with PCRE2_SUBSTITUTE_MATCHED, even though it won't work, in order +to exercise the error condition. */ + +if (dat_datctl.replacement[0] != MOD_STR_UNSET && + (dat_datctl.control & CTL_DFA) != 0 && + (dat_datctl.control2 & CTL2_SUBSTITUTE_MATCHED) == 0) + { + cfprintf(clr_test_error, outfile, "** Ignored for DFA matching: replace\n"); + dat_datctl.replacement[0] = MOD_STR_UNSET; + } + +/* If a replacement string is provided, call pcre2_substitute() instead of or +after one of the matching functions. First we have to convert the replacement +string to the appropriate width. */ + +if (dat_datctl.replacement[0] != MOD_STR_UNSET) + { + int rc; + uint8_t *pr, *prend; + PCRE2_UCHAR sbuffer[SUBSTITUTE_SUBJECT_MODSIZE]; /* Staging, not seen by pcre2_substitute() */ + PCRE2_UCHAR *rbptr; + PCRE2_UCHAR *sbptr; + uint32_t xoptions; + uint32_t emoption; /* External match option */ + PCRE2_SIZE j, rlen, full_rlen, nsize, nsize_input, slen; + pcre2_match_data *smatch_data; + + /* Fill the ovector with junk to detect elements that do not get set + when they should be (relevant only when "allvector" is specified). */ + + for (j = 0; j < 2*oveccount; j++) ovector[j] = JUNK_OFFSET; + + if (timeitm) + cfprintf(clr_test_error, outfile, "** Timing is not supported with replace: ignored\n"); + + if ((dat_datctl.control & CTL_ALTGLOBAL) != 0) + cfprintf(clr_test_error, outfile, "** Altglobal is not supported with replace: ignored\n"); + + /* Check for a test that does substitution after an initial external match. + If this is set, we run the external match, but leave the interpretation of + its output to pcre2_substitute(). */ + + emoption = ((dat_datctl.control2 & CTL2_SUBSTITUTE_MATCHED) == 0)? 0 : + PCRE2_SUBSTITUTE_MATCHED; + + if (emoption != 0) + { + reset_callout_state(); + if ((dat_datctl.control & CTL_DFA) != 0) + { + if (dfa_workspace == NULL) + dfa_workspace = (int *)malloc(DFA_WS_DIMENSION*sizeof(int)); + dfa_workspace[0] = -1; + (void)pcre2_dfa_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options, match_data, + use_dat_context, dfa_workspace, DFA_WS_DIMENSION); + } + else if ((pat_patctl.control & CTL_JITFAST) != 0) + { + (void)pcre2_jit_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options, match_data, use_dat_context); + } + else + { + (void)pcre2_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options, match_data, use_dat_context); + } + } + + xoptions = emoption | + (((dat_datctl.control & CTL_GLOBAL) == 0)? 0 : + PCRE2_SUBSTITUTE_GLOBAL) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_EXTENDED) == 0)? 0 : + PCRE2_SUBSTITUTE_EXTENDED) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_LITERAL) == 0)? 0 : + PCRE2_SUBSTITUTE_LITERAL) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_OVERFLOW_LENGTH) == 0)? 0 : + PCRE2_SUBSTITUTE_OVERFLOW_LENGTH) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_REPLACEMENT_ONLY) == 0)? 0 : + PCRE2_SUBSTITUTE_REPLACEMENT_ONLY) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_UNKNOWN_UNSET) == 0)? 0 : + PCRE2_SUBSTITUTE_UNKNOWN_UNSET) | + (((dat_datctl.control2 & CTL2_SUBSTITUTE_UNSET_EMPTY) == 0)? 0 : + PCRE2_SUBSTITUTE_UNSET_EMPTY); + + pr = dat_datctl.replacement+1; + prend = pr + dat_datctl.replacement[0]; + + /* If the replacement starts with '[]' we interpret that as length + value for the replacement buffer. */ + + nsize = rep_out_buffer_size; + if (pr < prend && *pr == '[') + { + PCRE2_SIZE n = 0; + ++pr; + for (; pr < prend && (c = *pr) >= '0' && c <= '9'; ++pr) + n = n * 10 + (c - '0'); + if (pr >= prend || *pr != ']') + { + cfprintf(clr_test_error, outfile, "** Bad buffer size in replacement string\n"); + return PR_OK; + } + ++pr; + if (n > nsize) + { + cfprintf(clr_test_error, outfile, "** Replacement buffer setting (%" SIZ_FORM ") is too " + "large (max %" SIZ_FORM ")\n", n, nsize); + return PR_OK; + } + nsize = n; + } + +#ifdef SUPPORT_VALGRIND + VALGRIND_MAKE_MEM_UNDEFINED(rep_out_buffer, CU2BYTES(nsize)); + VALGRIND_MAKE_MEM_NOACCESS(rep_out_buffer + nsize, + CU2BYTES(rep_out_buffer_size - nsize)); +#endif + + /* Now copy the rest of the replacement string to the buffer. */ + +#ifdef SUPPORT_VALGRIND + VALGRIND_MAKE_MEM_UNDEFINED(rep_in_buffer, CU2BYTES(rep_in_buffer_size)); +#endif + + copy_substitute_string(utf, pr, prend-pr, rep_in_buffer, &rlen); + +#ifdef SUPPORT_VALGRIND + c = ((dat_datctl.control & CTL_ZERO_TERMINATE) != 0)? 1 : 0; + VALGRIND_MAKE_MEM_NOACCESS(rep_in_buffer + rlen + c, + CU2BYTES(rep_in_buffer_size - rlen + c)); +#endif + + full_rlen = rlen; + if ((dat_datctl.control & CTL_ZERO_TERMINATE) != 0) + rlen = PCRE2_ZERO_TERMINATED; + rbptr = ((dat_datctl.control2 & CTL2_NULL_REPLACEMENT) == 0)? rep_in_buffer : NULL; + + /* If the substitute_subject modifier is set, then we will modify the + subject in between the call to pcre2_match and pcre2_substitute. */ + + sbptr = pp; + slen = arg_ulen; + + if (dat_datctl.substitute_subject[0] != MOD_STR_UNSET) + { + copy_substitute_string(utf, dat_datctl.substitute_subject+1, + dat_datctl.substitute_subject[0], sbuffer, &slen); + + /* The buffer pointed to by pp has exactly the correct length (butted up + against the end of the memory allocation) so it would be possible but + awkward to extend the subject. However, since pcre2_substitute() won't allow + changing the length of the subject, and also early-exits if the subject + pointer changes, we can test all the branches just by supporting shrinking + the subject. */ + if (slen > ulen) + { + cfprintf(clr_test_error, outfile, "** substitute_subject is longer than match subject buffer\n"); + return PR_OK; + } + + /* In the null-subject case, there's no need to copy. */ + if (pp != NULL) + { + memcpy(pp, sbuffer, CU2BYTES(slen)); + if (slen < ulen) ((PCRE2_UCHAR *)pp)[slen] = 0; + + /* If we shrank the subject, adjust the Valgrind readable area. */ +#ifdef SUPPORT_VALGRIND + c = ((dat_datctl.control & CTL_ZERO_TERMINATE) != 0)? 1 : 0; + VALGRIND_MAKE_MEM_NOACCESS((uint8_t *)pp + CU2BYTES(slen+c), + (dbuffer + dbuffer_size) - ((uint8_t *)pp + CU2BYTES(slen+c))); +#endif + } + + if ((dat_datctl.control & CTL_ZERO_TERMINATE) != 0) + slen = PCRE2_ZERO_TERMINATED; + } + + /* Set up the required callouts and context, and call pcre2_substitute(). */ + + smatch_data = ((CTL2_NULL_SUBSTITUTE_MATCH_DATA & dat_datctl.control2) == 0)? + match_data : NULL; + + if ((dat_datctl.control2 & CTL2_SUBSTITUTE_CALLOUT) != 0) + { + pcre2_set_substitute_callout(dat_context, substitute_callout_function, NULL); + } + else + { + pcre2_set_substitute_callout(dat_context, NULL, NULL); /* No callout */ + } + + if ((dat_datctl.control2 & CTL2_SUBSTITUTE_CASE_CALLOUT) != 0) + { + pcre2_set_substitute_case_callout(dat_context, substitute_case_callout_function, NULL); + } + else + { + pcre2_set_substitute_case_callout(dat_context, NULL, NULL); /* No callout */ + } + + if (malloc_testing) CLEAR_HEAP_FRAMES(); + reset_callout_state(); + nsize_input = nsize; + rc = pcre2_substitute(compiled_code, sbptr, slen, dat_datctl.offset, + dat_datctl.options|xoptions, smatch_data, use_dat_context, + rbptr, rlen, rep_out_buffer, &nsize); + + /* For malloc testing, we repeat the substitution. */ + + if (malloc_testing && (dat_datctl.control2 & CTL2_SUBSTITUTE_CALLOUT) == 0) + { + for (int i = 0, target_mallocs = mallocs_called; i <= target_mallocs; i++) + { + FILE *saved_outfile = outfile; + CLEAR_HEAP_FRAMES(); + reset_callout_state(); + mallocs_until_failure = i; + outfile = NULL; /* Suppress callout output during the malloc repetitions */ + nsize = nsize_input; + rc = pcre2_substitute(compiled_code, sbptr, slen, dat_datctl.offset, + dat_datctl.options|xoptions, smatch_data, use_dat_context, + rbptr, rlen, rep_out_buffer, &nsize); + mallocs_until_failure = INT_MAX; + outfile = saved_outfile; + + if (i < target_mallocs && rc != PCRE2_ERROR_NOMEMORY) + { + cfprintf(clr_test_error, outfile, "** malloc() Substitution test did not fail as expected (%d)\n", + rc); + return PR_ABEND; + } + } + } + + if (rc < 0) + { + cfprintf(clr_api_error, outfile, "Failed: error %d", rc); + if (rc != PCRE2_ERROR_NOMEMORY && nsize != PCRE2_UNSET) + cfprintf(clr_api_error, outfile, " at offset %ld in replacement", (long int)nsize); + cfprintf(clr_api_error, outfile, ": "); + if (!print_error_message(rc, "", "")) return PR_ABEND; + if (rc == PCRE2_ERROR_NOMEMORY && + (xoptions & PCRE2_SUBSTITUTE_OVERFLOW_LENGTH) != 0) + cfprintf(clr_api_error, outfile, ": %ld code units are needed", (long int)nsize); + + if (rc != PCRE2_ERROR_NOMEMORY && nsize != PCRE2_UNSET) + { + cfprintf(clr_api_error, outfile, "\n here: "); + if (nsize > 0) + { + ptrunc(clr_input, rbptr, full_rlen, nsize, TRUE, utf, outfile); + fprintf(outfile, " "); + } + cfprintf(clr_api_error, outfile, "|<--|"); + if (nsize < full_rlen) + { + fprintf(outfile, " "); + ptrunc(clr_input, rbptr, full_rlen, nsize, FALSE, utf, outfile); + } + } + } + else + { + cfprintf(clr_api_error, outfile, "%2d: ", rc); + pchars(clr_api_error, rep_out_buffer, nsize, utf, outfile); + } + + fprintf(outfile, "\n"); + show_memory = FALSE; + + /* Show final ovector contents and resulting heapframe size if requested. */ + + if ((dat_datctl.control2 & CTL2_ALLVECTOR) != 0) + show_ovector(ovector, oveccount); + + if ((dat_datctl.control2 & CTL2_HEAPFRAMES_SIZE) != 0 && + (dat_datctl.control & CTL_DFA) == 0) + show_heapframes_size(); + + return PR_OK; + } /* End of substitution handling */ + +/* When a replacement string is not provided, run a loop for global matching +with one of the basic matching functions. */ + +for (gmatched = 0;; gmatched++) + { + PCRE2_SIZE j; + int capcount; + + /* Fill the ovector with junk to detect elements that do not get set + when they should be. */ + + for (j = 0; j < 2*oveccount; j++) ovector[j] = JUNK_OFFSET; + + /* When matching is via pcre2_match(), we will detect the use of JIT via the + stack callback function. */ + + jit_was_used = (pat_patctl.control & CTL_JITFAST) != 0; + + /* Do timing if required. */ + + if (timeitm > 0) + { + int i; + clock_t start_time, time_taken; + FILE *saved_outfile = outfile; + + outfile = NULL; /* Suppress callout output during the timing repetitions */ + + if ((dat_datctl.control & CTL_DFA) != 0) + { + if ((dat_datctl.options & PCRE2_DFA_RESTART) != 0) + { + outfile = saved_outfile; + cfprintf(clr_test_error, outfile, "** Timing DFA restarts is not supported\n"); + return PR_ABEND; + } + if (dfa_workspace == NULL) + dfa_workspace = (int *)malloc(DFA_WS_DIMENSION*sizeof(int)); + start_time = clock(); + for (i = 0; i < timeitm; i++) + { + (void)pcre2_dfa_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options | g_notempty, match_data, + use_dat_context, dfa_workspace, DFA_WS_DIMENSION); + } + } + + else if ((pat_patctl.control & CTL_JITFAST) != 0) + { + start_time = clock(); + for (i = 0; i < timeitm; i++) + { + (void)pcre2_jit_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options | g_notempty, match_data, + use_dat_context); + } + } + + else + { + start_time = clock(); + for (i = 0; i < timeitm; i++) + { + (void)pcre2_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options | g_notempty, match_data, + use_dat_context); + } + } + total_match_time += (time_taken = clock() - start_time); + + outfile = saved_outfile; + cfprintf(clr_profiling, outfile, "Match time %7.4f microseconds\n", + ((1000000 / CLOCKS_PER_SEC) * (double)time_taken) / timeitm); + } + + /* Find the heap, match and depth limits if requested. The depth and heap + limits are not relevant for JIT. The return from check_match_limit() is the + return from the final call to pcre2_match() or pcre2_dfa_match(). */ + + if ((dat_datctl.control & (CTL_FINDLIMITS|CTL_FINDLIMITS_NOHEAP)) != 0) + { + if ((dat_datctl.control & CTL_FINDLIMITS_NOHEAP) == 0 && + (compiled_code->executable_jit == NULL || + (dat_datctl.options & PCRE2_NO_JIT) != 0)) + { + (void)check_match_limit(pp, arg_ulen, PCRE2_ERROR_HEAPLIMIT, "heap"); + } + + capcount = check_match_limit(pp, arg_ulen, PCRE2_ERROR_MATCHLIMIT, + "match"); + + if (compiled_code->executable_jit == NULL || + (dat_datctl.options & PCRE2_NO_JIT) != 0 || + (dat_datctl.control & CTL_DFA) != 0) + { + capcount = check_match_limit(pp, arg_ulen, PCRE2_ERROR_DEPTHLIMIT, + "depth"); + } + + if (capcount == 0) + { + cfprintf(clr_api_error, outfile, "Matched, but offsets vector is too small to show all matches\n"); + capcount = dat_datctl.oveccount; + } + } + + /* Otherwise just run a single match. */ + + else + { + /* Run a single DFA or NFA match. */ + + if (malloc_testing) CLEAR_HEAP_FRAMES(); + reset_callout_state(); + if ((dat_datctl.control & CTL_DFA) != 0) + { + if (dfa_workspace == NULL) + dfa_workspace = (int *)malloc(DFA_WS_DIMENSION*sizeof(int)); + if (dfa_matched++ == 0) + dfa_workspace[0] = -1; /* To catch bad restart */ + capcount = pcre2_dfa_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options | g_notempty, match_data, + use_dat_context, dfa_workspace, DFA_WS_DIMENSION); + if (capcount == 0) + { + cfprintf(clr_api_error, outfile, "Matched, but offsets vector is too small to show all matches\n"); + capcount = dat_datctl.oveccount; + } + } + else + { + if ((pat_patctl.control & CTL_JITFAST) != 0) + capcount = pcre2_jit_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options | g_notempty, match_data, use_dat_context); + else + capcount = pcre2_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options | g_notempty, match_data, use_dat_context); + if (capcount == 0) + { + cfprintf(clr_api_error, outfile, "Matched, but too many substrings\n"); + capcount = dat_datctl.oveccount; + } + } + + /* For malloc testing, we repeat the matching. */ + + if (malloc_testing && (dat_datctl.control & CTL_CALLOUT_NONE) != 0) + { + for (int i = 0, target_mallocs = mallocs_called; i <= target_mallocs; i++) + { + FILE *saved_outfile = outfile; + + CLEAR_HEAP_FRAMES(); + reset_callout_state(); + + mallocs_until_failure = i; + outfile = NULL; /* Suppress callout output during the malloc repetitions */ + + if ((dat_datctl.control & CTL_DFA) != 0) + { + if (dfa_matched++ == 0) + dfa_workspace[0] = -1; /* To catch bad restart */ + capcount = pcre2_dfa_match(compiled_code, pp, arg_ulen, + dat_datctl.offset, dat_datctl.options | g_notempty, match_data, + use_dat_context, dfa_workspace, DFA_WS_DIMENSION); + } + else + { + if ((pat_patctl.control & CTL_JITFAST) != 0) + capcount = pcre2_jit_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options | g_notempty, match_data, use_dat_context); + else + capcount = pcre2_match(compiled_code, pp, arg_ulen, dat_datctl.offset, + dat_datctl.options | g_notempty, match_data, use_dat_context); + } + + mallocs_until_failure = INT_MAX; + outfile = saved_outfile; + + if (capcount == 0) + capcount = dat_datctl.oveccount; + + if (i < target_mallocs && capcount != PCRE2_ERROR_NOMEMORY) + { + cfprintf(clr_test_error, outfile, "** malloc() match test did not fail as expected (%d)\n", + capcount); + return PR_ABEND; + } + } + } + } + + /* Verify that it's safe to call pcre2_next_match with rc < 0. */ + + if (capcount < 0 && (dat_datctl.control & CTL_ANYGLOB) != 0) + { + BOOL rc_nextmatch; + PCRE2_SIZE tmp_offset = 0xcd; + uint32_t tmp_options = 0xcd; + rc_nextmatch = pcre2_next_match(match_data, &tmp_offset, &tmp_options); + if (rc_nextmatch || tmp_offset != 0xcd || tmp_options != 0xcd) + { + cfprintf(clr_test_error, outfile, "** unexpected pcre2_next_match() for rc < 0\n"); + return PR_ABEND; + } + } + + /* The result of the match is now in capcount. First handle a successful + match. If pp was forced to be NULL (to test NULL handling) it will have been + treated as an empty string if the length was zero. So, re-create that for + outputting, preserving the invariant that pp is a valid pointer to a region + of length len followed by a null. */ + + if (capcount >= 0) + { + if (pp == NULL) + { +#ifdef SUPPORT_VALGRIND + /* Mark the start of dbuffer addressable again. */ + VALGRIND_MAKE_MEM_UNDEFINED(dbuffer, CU2BYTES(1)); +#endif + pp = (PCRE2_UCHAR *)dbuffer; + *pp = 0; + } + + if ((unsigned)capcount > oveccount) /* Check for lunatic return value */ + { + cfprintf(clr_test_error, outfile, + "** PCRE2 error: returned count %d is too big for ovector count %d\n", + capcount, oveccount); + return PR_ABEND; + } + + /* If PCRE2_COPY_MATCHED_SUBJECT was set, check that things are as they + should be, but not for fast JIT, where it isn't supported. */ + + if ((dat_datctl.options & PCRE2_COPY_MATCHED_SUBJECT) != 0 && + (pat_patctl.control & CTL_JITFAST) == 0) + { + if ((match_data->flags & PCRE2_MD_COPIED_SUBJECT) == 0) + cfprintf(clr_test_error, outfile, + "** PCRE2 error: flag not set after copy_matched_subject\n"); + + if (match_data->subject == pp) + cfprintf(clr_test_error, outfile, + "** PCRE2 error: copy_matched_subject has not copied\n"); + + if (memcmp(match_data->subject, pp, ulen) != 0) + cfprintf(clr_test_error, outfile, + "** PCRE2 error: copy_matched_subject mismatch\n"); + } + + /* If this is not the first time round a global loop, check that the + returned string has advanced. + + There is one known case where this doesn't happen: when you have a + "badly-behaved" pattern which uses \K in a lookaround, and breaks the core + sanity rule that start_offset <= ovector[0] <= ovector[1]. An example would + be /(?<=\Ka)/g matching "aaa". + * first attempt, start_offset=0: ovector[0]=0, ovector[1]=1 + * second attempt, start_offset=1: ovector[0]=0, ovector[1]=1 + + You can see that even though we *always* ensure that start_offset advances, + this doesn't guarantee to avoid duplicate matches. + + The pcre2test behaviour is to return all the matches found, except in the + case where two adjacent matches are an exact duplicate. */ + + if (gmatched > 0 && + !(dat_datctl.offset <= ovector[0] && ovector[0] <= ovector[1]) && + pp + ovector[0] == ovecsave[0] && pp + ovector[1] == ovecsave[1]) + { + cfprintf(clr_api_error, outfile, "global repeat returned the same match as previous\n"); + goto NEXT_MATCH; + } + + /* Outside of this exceptional case, we check that either we have a + "badly-behaved" match (note that not all badly-behaved matches are caught + above, only *duplicate* ones); or else in the well-behaved case the match + must make progress. + + "Progress" is measured as ovector[1] strictly advancing, or, an empty match + after a non-empty match. */ + + if (gmatched > 0 && + (dat_datctl.offset <= ovector[0] && ovector[0] <= ovector[1]) && + !(pp + ovector[1] > ovecsave[1] || + (ovector[1] == ovector[0] && ovecsave[1] != ovecsave[0] && + pp + ovector[1] == ovecsave[1]))) + { + cfprintf(clr_test_error, outfile, + "** PCRE2 error: global repeat did not make progress\n"); + return PR_ABEND; + } + + ovecsave[0] = pp + ovector[0]; + ovecsave[1] = pp + ovector[1]; + + /* "allcaptures" requests showing of all captures in the pattern, to check + unset ones at the end. It may be set on the pattern or the data. Implement + by setting capcount to the maximum. This is not relevant for DFA matching, + so ignore it (warning given above). */ + + if ((dat_datctl.control & (CTL_ALLCAPTURES|CTL_DFA)) == CTL_ALLCAPTURES) + { + capcount = maxcapcount + 1; /* Allow for full match */ + if ((unsigned)capcount > oveccount) capcount = oveccount; + } + + /* "allvector" request showing the entire ovector. */ + + if ((dat_datctl.control2 & CTL2_ALLVECTOR) != 0) capcount = oveccount; + + /* Output the captured substrings. Note that, for the matched string, + the use of \K in an assertion can make the start later than the end. */ + + for (int i = 0; i < 2*capcount; i += 2) + { + PCRE2_SIZE lleft, lmiddle, lright; + PCRE2_SIZE start = ovector[i]; + PCRE2_SIZE end = ovector[i+1]; + + if (start > end) + { + start = ovector[i+1]; + end = ovector[i]; + cfprintf(clr_api_error, outfile, "Start of matched string is beyond its end - " + "displaying from end to start.\n"); + } + + fprintf(outfile, "%2d: ", i/2); + + /* Check for an unset group */ + + if (start == PCRE2_UNSET && end == PCRE2_UNSET) + { + fprintf(outfile, "\n"); + continue; + } + + /* Check for silly offsets, in particular, values that have not been + set when they should have been. However, if we are past the end of the + captures for this pattern ("allvector" causes this), or if we are DFA + matching, it isn't an error if the entry is unchanged. */ + + if (start > ulen || end > ulen) + { + if (((dat_datctl.control & CTL_DFA) != 0 || + i >= (int)(2*maxcapcount + 2)) && + start == JUNK_OFFSET && end == JUNK_OFFSET) + fprintf(outfile, "\n"); + else + cfprintf(clr_test_error, outfile, "** ERROR: bad value(s) for offset(s): 0x%lx 0x%lx\n", + (unsigned long int)start, (unsigned long int)end); + continue; + } + + /* When JIT is not being used, ALLUSEDTEXT may be set. (It if is set with + JIT, it is disabled above, with a comment.) When the match is done by the + interpreter, leftchar and rightchar are available, and if ALLUSEDTEXT is + set, and if the leftmost consulted character is before the start of the + match or the rightmost consulted character is past the end of the match, + we want to show all consulted characters for the main matched string, and + indicate which were lookarounds. */ + + if (i == 0) + { + BOOL showallused; + PCRE2_SIZE leftchar, rightchar; + + if ((dat_datctl.control & CTL_ALLUSEDTEXT) != 0) + { + leftchar = match_data->leftchar; + rightchar = match_data->rightchar; + showallused = i == 0 && (leftchar < start || rightchar > end); + } + else showallused = FALSE; + + if (showallused) + { + lleft = pchars(clr_none, pp + leftchar, start - leftchar, utf, outfile); + lmiddle = pchars(clr_none, pp + start, end - start, utf, outfile); + lright = pchars(clr_none, pp + end, rightchar - end, utf, outfile); + if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_was_used) + fprintf(outfile, " (JIT)"); + fprintf(outfile, "\n "); + for (j = 0; j < lleft; j++) fprintf(outfile, "<"); + for (j = 0; j < lmiddle; j++) fprintf(outfile, " "); + for (j = 0; j < lright; j++) fprintf(outfile, ">"); + } + + /* When a pattern contains \K, the start of match position may be + different to the start of the matched string. When this is the case, + show it when requested. */ + + else if ((dat_datctl.control & CTL_STARTCHAR) != 0) + { + PCRE2_SIZE startchar; + startchar = pcre2_get_startchar(match_data); + lleft = pchars(clr_none, pp + startchar, start - startchar, utf, outfile); + pchars(clr_none, pp+start, end - start, utf, outfile); + if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_was_used) + fprintf(outfile, " (JIT)"); + if (startchar != start) + { + fprintf(outfile, "\n "); + for (j = 0; j < lleft; j++) fprintf(outfile, "^"); + } + } + + /* Otherwise, just show the matched string. */ + + else + { + pchars(clr_none, pp + start, end - start, utf, outfile); + if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_was_used) + fprintf(outfile, " (JIT)"); + } + } + + /* Not the main matched string. Just show it unadorned. */ + + else + { + pchars(clr_none, pp + start, end - start, utf, outfile); + } + + fprintf(outfile, "\n"); + + /* Note: don't use the start/end variables here because we want to + show the text from what is reported as the end. */ + + if ((dat_datctl.control & CTL_ALLAFTERTEXT) != 0 || + (i == 0 && (dat_datctl.control & CTL_AFTERTEXT) != 0)) + { + fprintf(outfile, "%2d+ ", i/2); + pchars(clr_none, pp + ovector[i+1], ulen - ovector[i+1], utf, outfile); + fprintf(outfile, "\n"); + } + } + + /* Output (*MARK) data if requested */ + + if ((dat_datctl.control & CTL_MARK) != 0 && + match_data->mark != NULL) + { + fprintf(outfile, "MK: "); + pchars(clr_none, match_data->mark - 1, -1, utf, outfile); + fprintf(outfile, "\n"); + } + + /* Process copy/get strings */ + + if (!copy_and_get(utf, capcount)) return PR_ABEND; + + } /* End of handling a successful match */ + + /* There was a partial match. The value of ovector[0] is the bumpalong point, + that is, startchar, not any \K point that might have been passed. When JIT is + not in use, "allusedtext" may be set, in which case we indicate the leftmost + consulted character. */ + + else if (capcount == PCRE2_ERROR_PARTIAL) + { + PCRE2_SIZE leftchar; + int backlength; + int rubriclength = 0; + + if ((dat_datctl.control & CTL_ALLUSEDTEXT) != 0) + { + leftchar = match_data->leftchar; + } + else leftchar = ovector[0]; + + cfprintf(clr_api_error, outfile, "Partial match"); + if ((dat_datctl.control & CTL_MARK) != 0 && + match_data->mark != NULL) + { + fprintf(outfile, ", mark="); + rubriclength = pchars(clr_none, match_data->mark - 1, -1, utf, outfile); + rubriclength += 7; + } + fprintf(outfile, ": "); + rubriclength += 15; + + backlength = pchars(clr_input, pp + leftchar, ovector[0] - leftchar, utf, outfile); + pchars(clr_input, pp + ovector[0], ovector[1] - ovector[0], utf, outfile); + + if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_was_used) + fprintf(outfile, " (JIT)"); + fprintf(outfile, "\n"); + + if (backlength != 0) + { + for (int i = 0; i < rubriclength; i++) fprintf(outfile, " "); + for (int i = 0; i < backlength; i++) fprintf(outfile, "<"); + fprintf(outfile, "\n"); + } + + if (ulen != ovector[1]) + cfprintf(clr_test_error, outfile, "** ovector[1] is not equal to the subject length: " + "%ld != %ld\n", (unsigned long int)ovector[1], (unsigned long int)ulen); + + /* Process copy/get strings */ + + if (!copy_and_get(utf, 1)) return PR_ABEND; + + /* "allvector" outputs the entire vector */ + + if ((dat_datctl.control2 & CTL2_ALLVECTOR) != 0) + show_ovector(ovector, oveccount); + + break; /* Out of the /g loop */ + } /* End of handling partial match */ + + /* A "normal" match failure. There will be a negative error number in + capcount. */ + + else + { + switch(capcount) + { + case PCRE2_ERROR_NOMATCH: + if (gmatched == 0) + { + cfprintf(clr_api_error, outfile, "No match"); + if ((dat_datctl.control & CTL_MARK) != 0 && + match_data->mark != NULL) + { + fprintf(outfile, ", mark = "); + pchars(clr_none, match_data->mark - 1, -1, utf, outfile); + } + if ((pat_patctl.control & CTL_JITVERIFY) != 0 && jit_was_used) + fprintf(outfile, " (JIT)"); + fprintf(outfile, "\n"); + + /* "allvector" outputs the entire vector */ + + if ((dat_datctl.control2 & CTL2_ALLVECTOR) != 0) + show_ovector(ovector, oveccount); + } + break; + + case PCRE2_ERROR_BADUTFOFFSET: + cfprintf(clr_api_error, outfile, "Error %d (bad UTF-" STR(PCRE2_CODE_UNIT_WIDTH) + " offset)\n", capcount); + break; + + default: + cfprintf(clr_api_error, outfile, "Failed: error %d: ", capcount); + if (!print_error_message(capcount, "", "")) return PR_ABEND; + if (capcount <= PCRE2_ERROR_UTF8_ERR1 && + capcount >= PCRE2_ERROR_UTF32_ERR2) + { + PCRE2_SIZE startchar; + startchar = pcre2_get_startchar(match_data); + cfprintf(clr_api_error, outfile, " at offset %" SIZ_FORM, startchar); + } + fprintf(outfile, "\n"); + break; + } + + break; /* Out of the /g loop */ + } /* End of failed match handling */ + + /* Control reaches here after a match. If we are not doing a global search, + we are done. Otherwise, we adjust the parameters for the next match and + continue the matching loop. */ + + NEXT_MATCH: + + if ((dat_datctl.control & CTL_ANYGLOB) == 0) + break; + else + { + PCRE2_SIZE new_start_offset = (PCRE2_SIZE)-1; + BOOL rc_nextmatch; + + /* Use pcre2_next_match() to safely advance. This guarantees that the start + offset will advance, except after an empty match, in which case it sets + the PCRE2_NOTEMPTY_ATSTART flag to ensure the next match does not return a + duplicate. */ + + rc_nextmatch = pcre2_next_match(match_data, &new_start_offset, &g_notempty); + if (!rc_nextmatch) break; /* Out of the /g loop */ + + /* For a normal global (/g) iteration, update the start offset, leaving + other parameters alone. */ + + if ((dat_datctl.control & CTL_GLOBAL) != 0) + { + dat_datctl.offset = new_start_offset; + } + + /* For altglobal, just update the pointer and length. */ + + else + { + pp += new_start_offset; + len -= CU2BYTES(new_start_offset); + ulen -= new_start_offset; + if (arg_ulen != PCRE2_ZERO_TERMINATED) arg_ulen -= new_start_offset; + } + } + } /* End of global loop */ + +/* All matching is done; show the resulting heapframe size if requested. */ + +if ((dat_datctl.control2 & CTL2_HEAPFRAMES_SIZE) != 0 && + (dat_datctl.control & CTL_DFA) == 0) + show_heapframes_size(); + +show_memory = FALSE; +return PR_OK; +} + + + +/************************************************* +* Initialise the mode-dependent globals * +*************************************************/ + +/* Sets up the global variables used for the current test mode. */ + +static void +init_globals(void) +{ +general_context = pcre2_general_context_create(&my_malloc, &my_free, NULL); +general_context_copy = pcre2_general_context_copy(general_context); +default_pat_context = pcre2_compile_context_create(general_context); +pat_context = pcre2_compile_context_copy(default_pat_context); +default_dat_context = pcre2_match_context_create(general_context); +dat_context = pcre2_match_context_copy(default_dat_context); +default_con_context = pcre2_convert_context_create(general_context); +con_context = pcre2_convert_context_copy(default_con_context); +match_data = pcre2_match_data_create(max_oveccount, general_context); +rep_in_buffer = malloc(sizeof(PCRE2_UCHAR) * rep_in_buffer_size); +rep_out_buffer = malloc(sizeof(PCRE2_UCHAR) * rep_out_buffer_size); + +/* Set a default parentheses nest limit that is large enough to run the +standard tests (this also exercises the function). */ + +pcre2_set_parens_nest_limit(default_pat_context, PARENS_NEST_DEFAULT); +} + +/* Frees the global variables used for the current test mode. */ + +static void +free_globals(void) +{ +pcre2_maketables_free(general_context, locale_tables); +pcre2_match_data_free(match_data); +pcre2_code_free(compiled_code); + +while(patstacknext-- > 0) + { + compiled_code = patstack[patstacknext]; + pcre2_code_free(compiled_code); + } + +pcre2_jit_free_unused_memory(general_context); +if (jit_stack != NULL) + { + pcre2_jit_stack_free(jit_stack); + } + +pcre2_general_context_free(general_context); +pcre2_general_context_free(general_context_copy); +pcre2_compile_context_free(pat_context); +pcre2_compile_context_free(default_pat_context); +pcre2_match_context_free(dat_context); +pcre2_match_context_free(default_dat_context); +pcre2_convert_context_free(default_con_context); +pcre2_convert_context_free(con_context); +free(rep_in_buffer); +free(rep_out_buffer); +} + + + +/************************************************* +* Specific function tests * +*************************************************/ + +/* For tests exercising a mismatched bitmode, identify a suitable API. */ + +#if (defined(SUPPORT_PCRE2_8) + defined(SUPPORT_PCRE2_16) + \ + defined(SUPPORT_PCRE2_32)) >= 2 + +#if defined(SUPPORT_PCRE2_8) && PCRE2_CODE_UNIT_WIDTH != 8 +#define BITOTHER 8 +#elif defined(SUPPORT_PCRE2_16) && PCRE2_CODE_UNIT_WIDTH != 16 +#define BITOTHER 16 +#elif defined(SUPPORT_PCRE2_32) && PCRE2_CODE_UNIT_WIDTH != 32 +#define BITOTHER 32 +#else +#error "One other bit width must be supported" +#endif + +#endif + +/* These are tests of the public API functions in PCRE2, which wouldn't +otherwise be covered by pcre2test. This usually implies they are error cases, +or edge cases that are hard to hit in the standard flow of compile-match or +compile-substitute. + +I think of them as perhaps more like unit tests, although they are still testing +the public API, rather than internal modules. + +Inside pcre2test, which can be dynamically linked to lib-pcreX.so, we don't +have access to any non-exported functions. */ + +static void +unittest(void) +{ +int rc; +uint32_t uval; +PCRE2_SIZE sizeval; +PCRE2_UCHAR *sptrval; +const char *failure = NULL; +pcre2_general_context *test_gen_context = NULL, *test_gen_context_copy = NULL; +pcre2_compile_context *test_pat_context = NULL, *test_pat_context_copy = NULL; +pcre2_match_context *test_dat_context = NULL, *test_dat_context_copy = NULL; +pcre2_convert_context *test_con_context = NULL, *test_con_context_copy = NULL; +pcre2_match_data *test_match_data = NULL; +pcre2_code *test_compiled_code = NULL; +PCRE2_UCHAR pattern[] = { CHAR_A, CHAR_B, CHAR_C, 0 }; +PCRE2_UCHAR callout_int_pattern[] = { + CHAR_LEFT_PARENTHESIS, CHAR_QUESTION_MARK, CHAR_C, CHAR_RIGHT_PARENTHESIS, 0 }; +PCRE2_UCHAR callout_str_pattern[] = { + CHAR_LEFT_PARENTHESIS, CHAR_QUESTION_MARK, CHAR_C, CHAR_QUOTATION_MARK, + CHAR_Z, CHAR_QUOTATION_MARK, CHAR_RIGHT_PARENTHESIS, 0 }; +PCRE2_UCHAR capture_pattern[] = { + CHAR_A, CHAR_LEFT_PARENTHESIS, CHAR_QUESTION_MARK, CHAR_LESS_THAN_SIGN, + CHAR_N, CHAR_GREATER_THAN_SIGN, CHAR_DOT, CHAR_ASTERISK, + CHAR_RIGHT_PARENTHESIS, CHAR_Z, 0 }; +PCRE2_UCHAR subject_abcz[] = { + CHAR_A, CHAR_B, CHAR_C, CHAR_Z, 0 }; +PCRE2_UCHAR substitute_subject[6]; +PCRE2_UCHAR name_n[] = { CHAR_N, 0 }; +#ifdef BITOTHER +G(pcre2_code_,BITOTHER) *bitother_code = NULL; +G(PCRE2_,G(UCHAR,BITOTHER)) bitother_pattern[] = { CHAR_A, CHAR_B, CHAR_C, 0 }; +#endif +int errorcode; +PCRE2_SIZE erroroffset; +PCRE2_UCHAR errorbuffer[256]; +#if PCRE2_CODE_UNIT_WIDTH == 8 +char errorbuffer8[256]; +regex_t test_preg; +#endif +void *invalid_code = NULL; +const uint8_t *test_tables = NULL; +PCRE2_UCHAR copy_buf[64]; +PCRE2_UCHAR **stringlist; +PCRE2_SIZE *lengthslist; +PCRE2_UCHAR replace_buf[64]; +pcre2_code *subs_other_code = NULL; + +#if PCRE2_CODE_UNIT_WIDTH == 8 +memset(&test_preg, 0, sizeof(test_preg)); +#endif + +#if defined PCRE2_DEBUG && !defined NDEBUG +#define ASSERT(cond, msg) \ + do { \ + if (!(cond)) { failure = msg " at " __FILE__ ":" STR(__LINE__); goto EXIT; } \ + } while (0) +#else +#define ASSERT(cond, msg) \ + do { \ + if (!(cond)) { failure = msg; goto EXIT; } \ + } while (0) +#endif + +/* -------------------------- pcre2_config --------------------------------- */ + +rc = pcre2_config(PCRE2_CONFIG_BSR, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_COMPILED_WIDTHS, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_DEPTHLIMIT, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_EFFECTIVE_LINKSIZE, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_HEAPLIMIT, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_JIT, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_LINKSIZE, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_MATCHLIMIT, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_NEVER_BACKSLASH_C, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_NEWLINE, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_PARENSLIMIT, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_STACKRECURSE, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_TABLES_LENGTH, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_UNICODE, NULL); +ASSERT(rc == (int)sizeof(uint32_t), "pcre2_config(NULL)"); + +#ifdef SUPPORT_JIT +rc = pcre2_config(PCRE2_CONFIG_JITTARGET, NULL); +ASSERT(rc > 0, "pcre2_config(NULL)"); +#endif +rc = pcre2_config(PCRE2_CONFIG_UNICODE_VERSION, NULL); +ASSERT(rc > 4, "pcre2_config(NULL)"); +rc = pcre2_config(PCRE2_CONFIG_VERSION, NULL); +ASSERT(rc > 4, "pcre2_config(NULL)"); + +rc = pcre2_config(PCRE2_CONFIG_MATCHLIMIT, &uval); +ASSERT(rc == 0, "pcre2_config(PCRE2_CONFIG_MATCHLIMIT)"); + +rc = pcre2_config(999, NULL); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_config(bad option)"); + +rc = pcre2_config(999, &uval); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_config(bad option)"); + +rc = pcre2_config(PCRE2_CONFIG_STACKRECURSE, &uval); +ASSERT(rc == 0, "pcre2_config(PCRE2_CONFIG_STACKRECURSE)"); + +rc = pcre2_config(PCRE2_CONFIG_LINKSIZE, &uval); +ASSERT(rc == 0, "pcre2_config(PCRE2_CONFIG_LINKSIZE)"); + +/* ------------------------ Context functions ------------------------------ */ + +test_gen_context = pcre2_general_context_create(NULL, NULL, NULL); +ASSERT(test_gen_context != NULL, "pcre2_general_context_create(null)"); +pcre2_general_context_free(test_gen_context); + +mallocs_until_failure = 0; +test_gen_context = pcre2_general_context_create(&my_malloc, &my_free, NULL); +ASSERT(test_gen_context == NULL, "pcre2_general_context_create(malloc)"); + +mallocs_until_failure = 1; +test_gen_context = pcre2_general_context_create(&my_malloc, &my_free, NULL); +ASSERT(test_gen_context != NULL, "pcre2_general_context_create(malloc)"); + +test_pat_context = pcre2_compile_context_create(test_gen_context); +ASSERT(test_pat_context == NULL, "pcre2_compile_context_create()"); +test_dat_context = pcre2_match_context_create(test_gen_context); +ASSERT(test_dat_context == NULL, "pcre2_match_context_create()"); +test_con_context = pcre2_convert_context_create(test_gen_context); +ASSERT(test_con_context == NULL, "pcre2_convert_context_create()"); + +test_pat_context = pcre2_compile_context_create(NULL); +ASSERT(test_pat_context != NULL, "pcre2_compile_context_create(null)"); +pcre2_compile_context_free(test_pat_context); +test_dat_context = pcre2_match_context_create(NULL); +ASSERT(test_dat_context != NULL, "pcre2_match_context_create(null)"); +pcre2_match_context_free(test_dat_context); +test_con_context = pcre2_convert_context_create(NULL); +ASSERT(test_con_context != NULL, "pcre2_convert_context_create(null)"); +pcre2_convert_context_free(test_con_context); + +mallocs_until_failure = INT_MAX; +test_pat_context = pcre2_compile_context_create(test_gen_context); +ASSERT(test_pat_context != NULL, "pcre2_compile_context_create()"); +test_dat_context = pcre2_match_context_create(test_gen_context); +ASSERT(test_dat_context != NULL, "pcre2_match_context_create()"); +test_con_context = pcre2_convert_context_create(test_gen_context); +ASSERT(test_con_context != NULL, "pcre2_convert_context_create()"); + +mallocs_until_failure = 0; +test_gen_context_copy = pcre2_general_context_copy(test_gen_context); +ASSERT(test_gen_context_copy == NULL, "pcre2_general_context_copy()"); +test_pat_context_copy = pcre2_compile_context_copy(test_pat_context); +ASSERT(test_pat_context_copy == NULL, "pcre2_compile_context_copy()"); +test_dat_context_copy = pcre2_match_context_copy(test_dat_context); +ASSERT(test_dat_context_copy == NULL, "pcre2_match_context_copy()"); +test_con_context_copy = pcre2_convert_context_copy(test_con_context); +ASSERT(test_con_context_copy == NULL, "pcre2_convert_context_copy()"); + +mallocs_until_failure = INT_MAX; +test_gen_context_copy = pcre2_general_context_copy(test_gen_context); +ASSERT(test_gen_context_copy != NULL, "pcre2_general_context_copy()"); +test_pat_context_copy = pcre2_compile_context_copy(test_pat_context); +ASSERT(test_pat_context_copy != NULL, "pcre2_compile_context_copy()"); +test_dat_context_copy = pcre2_match_context_copy(test_dat_context); +ASSERT(test_dat_context_copy != NULL, "pcre2_match_context_copy()"); +test_con_context_copy = pcre2_convert_context_copy(test_con_context); +ASSERT(test_con_context_copy != NULL, "pcre2_convert_context_copy()"); + +rc = pcre2_set_compile_extra_options(test_pat_context, 0); +ASSERT(rc == 0, "pcre2_set_compile_extra_options()"); + +rc = pcre2_set_max_pattern_length(test_pat_context, 10); +ASSERT(rc == 0, "pcre2_set_max_pattern_length()"); + +rc = pcre2_set_max_pattern_compiled_length(test_pat_context, 256); +ASSERT(rc == 0, "pcre2_set_max_pattern_compiled_length()"); + +rc = pcre2_set_max_varlookbehind(test_pat_context, 0); +ASSERT(rc == 0, "pcre2_set_max_varlookbehind()"); + +rc = pcre2_set_offset_limit(test_dat_context, 0); +ASSERT(rc == 0, "pcre2_set_offset_limit()"); + +rc = pcre2_set_bsr(test_pat_context, 999); +ASSERT(rc == PCRE2_ERROR_BADDATA, "pcre2_set_bsr()"); + +rc = pcre2_set_newline(test_pat_context, 999); +ASSERT(rc == PCRE2_ERROR_BADDATA, "pcre2_set_newline()"); + +rc = pcre2_set_recursion_limit(test_dat_context, 10); +ASSERT(rc == 0, "pcre2_set_recursion_limit()"); + +rc = pcre2_set_recursion_memory_management(test_dat_context, NULL, NULL, NULL); +ASSERT(rc == 0, "pcre2_set_recursion_memory_management()"); + +rc = pcre2_set_optimize(NULL, PCRE2_OPTIMIZATION_NONE); +ASSERT(rc == PCRE2_ERROR_NULL, "pcre2_set_optimize(null)"); + +rc = pcre2_set_optimize(test_pat_context, PCRE2_AUTO_POSSESS - 1); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_set_optimize(bad option)"); + +rc = pcre2_set_optimize(test_pat_context, PCRE2_START_OPTIMIZE_OFF + 1); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_set_optimize(bad option)"); + +rc = pcre2_set_glob_escape(test_con_context, 0); +ASSERT(rc == 0, "pcre2_set_glob_escape(0)"); + +rc = pcre2_set_glob_escape(test_con_context, 1); +ASSERT(rc == PCRE2_ERROR_BADDATA, "pcre2_set_glob_escape(1)"); + +rc = pcre2_set_glob_escape(test_con_context, 256); +ASSERT(rc == PCRE2_ERROR_BADDATA, "pcre2_set_glob_escape(256)"); + +/* ----------------------- pcre2_compile ----------------------------------- */ + +test_compiled_code = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, + 0, NULL, &erroroffset, test_pat_context); +ASSERT(test_compiled_code == NULL, "test pattern compilation"); + +test_compiled_code = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, NULL, test_pat_context); +ASSERT(test_compiled_code == NULL && errorcode == PCRE2_ERROR_NULL_ERROROFFSET, "test pattern compilation"); + +test_compiled_code = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, test_pat_context); +ASSERT(test_compiled_code != NULL && errorcode == 100 && erroroffset == 0, "test pattern compilation"); + +#ifdef BITOTHER +bitother_code = G(pcre2_compile_,BITOTHER)(bitother_pattern, + PCRE2_ZERO_TERMINATED, 0, &errorcode, &erroroffset, NULL); +ASSERT(bitother_code != NULL, "bitmode mismatch compile"); +#endif + +/* ---------------------- Match data functions ----------------------------- */ + +mallocs_until_failure = 0; +test_match_data = pcre2_match_data_create(10, test_gen_context); +ASSERT(test_match_data == NULL, "pcre2_match_data_create()"); + +test_match_data = pcre2_match_data_create(10, NULL); +ASSERT(test_match_data != NULL, "pcre2_match_data_create()"); +ASSERT(pcre2_get_ovector_count(test_match_data) == 10, "pcre2_get_ovector_count()"); + +sizeval = pcre2_get_match_data_size(test_match_data); +ASSERT(sizeval >= 2, "pcre2_get_match_data_size()"); + +mallocs_until_failure = INT_MAX; + +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create(0, test_gen_context); +ASSERT(test_match_data != NULL, "pcre2_match_data_create()"); +ASSERT(pcre2_get_ovector_count(test_match_data) == 1, "pcre2_get_ovector_count()"); + +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create_from_pattern(NULL, NULL); +ASSERT(test_match_data == NULL, "pcre2_match_data_create_from_pattern(null)"); + +test_match_data = pcre2_match_data_create_from_pattern(test_compiled_code, NULL); +ASSERT(test_match_data != NULL, "pcre2_match_data_create_from_pattern()"); +ASSERT(pcre2_get_ovector_count(test_match_data) == 1, "pcre2_get_ovector_count()"); + +mallocs_until_failure = 0; +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create_from_pattern(test_compiled_code, + test_gen_context); +ASSERT(test_match_data == NULL, "pcre2_match_data_create_from_pattern()"); + +mallocs_until_failure = INT_MAX; +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create_from_pattern(test_compiled_code, + test_gen_context); +ASSERT(test_match_data != NULL, "pcre2_match_data_create_from_pattern()"); + +rc = pcre2_match(test_compiled_code, pattern, PCRE2_ZERO_TERMINATED, 0, + PCRE2_COPY_MATCHED_SUBJECT, test_match_data, NULL); +ASSERT(rc == 1, "pcre2_match()"); + +pcre2_match_data_free(test_match_data); +test_match_data = NULL; + +/* ----------------------- pcre2_pattern_info ------------------------------ */ + +rc = pcre2_pattern_info(NULL, PCRE2_INFO_NEWLINE, &uval); +ASSERT(rc == PCRE2_ERROR_NULL, "pcre2_pattern_info(null)"); + +rc = pcre2_pattern_info(test_compiled_code, 999, NULL); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_pattern_info(bad option)"); + +rc = pcre2_pattern_info(test_compiled_code, 999, &uval); +ASSERT(rc == PCRE2_ERROR_BADOPTION, "pcre2_pattern_info(bad option)"); + +invalid_code = malloc(1024); +ASSERT(invalid_code != NULL, "malloc()"); +memset(invalid_code, 0, 1024); +rc = pcre2_pattern_info(invalid_code, PCRE2_INFO_NEWLINE, &uval); +ASSERT(rc == PCRE2_ERROR_BADMAGIC, "pcre2_pattern_info(bad magic)"); + +#ifdef BITOTHER +rc = pcre2_pattern_info((pcre2_code *)bitother_code, PCRE2_INFO_NEWLINE, &uval); +ASSERT(rc == PCRE2_ERROR_BADMODE, "pcre2_pattern_info(bitmode mismatch)"); +#endif + +#ifdef SUPPORT_JIT +sizeval = 0xcdcdcdcd; +rc = pcre2_pattern_info(test_compiled_code, PCRE2_INFO_JITSIZE, &sizeval); +ASSERT(rc == 0 && sizeval == 0, "pcre2_pattern_info(JIT)"); + +if (pcre2_jit_compile(test_compiled_code, PCRE2_JIT_COMPLETE) == 0) + { + rc = pcre2_pattern_info(test_compiled_code, PCRE2_INFO_JITSIZE, &sizeval); + ASSERT(rc == 0 && sizeval > 0, "pcre2_pattern_info(JIT after compile)"); + } +#endif + +/* ----------------------- POSIX functions --------------------------------- */ + +#if PCRE2_CODE_UNIT_WIDTH == 8 + +#if defined(EBCDIC) && !EBCDIC_IO +#define BUFFER_OUTPUT ebcdic_to_ascii_str((uint8_t *)errorbuffer8, sizeof(errorbuffer8)); +#else +#define BUFFER_OUTPUT +#endif + +rc = pcre2_regcomp(&test_preg, "abc", 0); +ASSERT(rc == 0, "pcre2_regcomp()"); + +rc = pcre2_regexec(&test_preg, "zabcz", 0, NULL, 0); +ASSERT(rc == 0, "pcre2_regexec(0)"); + +rc = pcre2_regexec(&test_preg, "zabcz", 0, NULL, REG_STARTEND); +ASSERT(rc == REG_INVARG, "pcre2_regexec(REG_STARTEND)"); + +memset(errorbuffer8, 0, sizeof(errorbuffer8)); +rc = regerror(REG_ASSERT, NULL, errorbuffer8, sizeof(errorbuffer8)); +BUFFER_OUTPUT +ASSERT(rc > 0 && rc <= (int)sizeof(errorbuffer8) && rc == (int)strlen(errorbuffer8) + 1, "regerror()"); + +rc = regerror(REG_NOMATCH, NULL, errorbuffer8, sizeof(errorbuffer8)); +BUFFER_OUTPUT +ASSERT(rc > 0 && rc <= (int)sizeof(errorbuffer8) && rc == (int)strlen(errorbuffer8) + 1, "regerror()"); + +rc = regerror(REG_ASSERT-1, NULL, errorbuffer8, sizeof(errorbuffer8)); +BUFFER_OUTPUT +ASSERT(rc == (int)strlen("unknown error code")+1 && strcmp(errorbuffer8, "unknown error code") == 0, "regerror(bad error code)"); + +rc = regerror(REG_NOMATCH+1, NULL, errorbuffer8, sizeof(errorbuffer8)); +BUFFER_OUTPUT +ASSERT(rc == (int)strlen("unknown error code")+1 && strcmp(errorbuffer8, "unknown error code") == 0, "regerror(bad error code)"); + +#undef BUFFER_OUTPUT + +#endif + +/* -------------------- pcre2_get_error_message ---------------------------- */ + +#if defined(EBCDIC) && !EBCDIC_IO +#define BUFFER_OUTPUT ebcdic_to_ascii_str(errorbuffer, sizeof(errorbuffer)); +#else +#define BUFFER_OUTPUT +#endif + +rc = pcre2_get_error_message(PCRE2_ERROR_BADDATA, NULL, 0); +ASSERT(rc == PCRE2_ERROR_NOMEMORY, "pcre2_get_error_message(null)"); + +memset(errorbuffer, 0, sizeof(errorbuffer)); +rc = pcre2_get_error_message(PCRE2_ERROR_BADDATA, errorbuffer, 0); +BUFFER_OUTPUT +ASSERT(rc == PCRE2_ERROR_NOMEMORY, "pcre2_get_error_message(null)"); + +rc = pcre2_get_error_message(PCRE2_ERROR_BADDATA, errorbuffer, 4); +BUFFER_OUTPUT +ASSERT(rc == PCRE2_ERROR_NOMEMORY && pcre2_strcmp_c8(errorbuffer, "bad") == 0, "pcre2_get_error_message(null)"); + +rc = pcre2_get_error_message(PCRE2_ERROR_BADDATA, errorbuffer, 14); +BUFFER_OUTPUT +ASSERT(rc == PCRE2_ERROR_NOMEMORY && pcre2_strcmp_c8(errorbuffer, "bad data valu") == 0, "pcre2_get_error_message(null)"); + +rc = pcre2_get_error_message(PCRE2_ERROR_BADDATA, errorbuffer, 15); +BUFFER_OUTPUT +ASSERT(rc == 14 && pcre2_strcmp_c8(errorbuffer, "bad data value") == 0, "pcre2_get_error_message(null)"); + +#undef BUFFER_OUTPUT + +/* ----------------------- pcre2_maketables -------------------------------- */ + +test_tables = pcre2_maketables(NULL); +ASSERT(test_tables != NULL, "pcre2_maketables(null)"); +pcre2_maketables_free(NULL, test_tables); + +test_tables = pcre2_maketables(test_gen_context); +ASSERT(test_tables != NULL, "pcre2_maketables()"); +pcre2_maketables_free(test_gen_context, test_tables); + +mallocs_until_failure = 0; +test_tables = pcre2_maketables(test_gen_context); +ASSERT(test_tables == NULL, "pcre2_maketables()"); + +mallocs_until_failure = INT_MAX; + +/* -------------------- pcre2_callout_enumerate ---------------------------- */ + +rc = pcre2_callout_enumerate(NULL, callout_enumerate_function_void, NULL); +ASSERT(rc == PCRE2_ERROR_NULL, "pcre2_callout_enumerate(null)"); + +rc = pcre2_callout_enumerate(invalid_code, callout_enumerate_function_void, NULL); +ASSERT(rc == PCRE2_ERROR_BADMAGIC, "pcre2_callout_enumerate(invalid)"); + +#ifdef BITOTHER +rc = pcre2_callout_enumerate((pcre2_code *)bitother_code, callout_enumerate_function_void, NULL); +ASSERT(rc == PCRE2_ERROR_BADMODE, "pcre2_callout_enumerate(bitmode mismatch)"); +#endif + +pcre2_code_free(test_compiled_code); +test_compiled_code = pcre2_compile(callout_int_pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, NULL); +ASSERT(test_compiled_code != NULL, "test pattern compilation"); + +rc = pcre2_callout_enumerate(test_compiled_code, callout_enumerate_function_void, &errorcode); +ASSERT(rc == 0, "pcre2_callout_enumerate(void)"); + +errorcode = -12; +rc = pcre2_callout_enumerate(test_compiled_code, callout_enumerate_function_fail, &errorcode); +ASSERT(rc == -12, "pcre2_callout_enumerate(fail)"); + +pcre2_code_free(test_compiled_code); +test_compiled_code = pcre2_compile(callout_str_pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, NULL); +ASSERT(test_compiled_code != NULL, "test pattern compilation"); + +errorcode = -123; +rc = pcre2_callout_enumerate(test_compiled_code, callout_enumerate_function_fail, &errorcode); +ASSERT(rc == -123, "pcre2_callout_enumerate(fail)"); + +/* ---------------------- Substring functions ------------------------------ */ + +/* Must handle NULL without crashing. */ +pcre2_substring_free(NULL); +pcre2_substring_list_free(NULL); + +pcre2_code_free(test_compiled_code); +test_compiled_code = pcre2_compile(capture_pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, NULL); +ASSERT(test_compiled_code != NULL, "test pattern compilation"); + +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create_from_pattern( + test_compiled_code, test_gen_context); +ASSERT(test_match_data != NULL, "pcre2_match_data_create()"); + +rc = pcre2_match(test_compiled_code, subject_abcz, PCRE2_ZERO_TERMINATED, 0, + 0, test_match_data, NULL); +ASSERT(rc == 2, "pcre2_match()"); + +/* Test the functions with insufficient buffer size. It hardly seems worth +adding controls to the pcre2test input file format to exercise this case. */ + +sizeval = 2; +rc = pcre2_substring_copy_byname(test_match_data, name_n, copy_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMEMORY && sizeval == 2, "pcre2_substring_copy_byname(small buffer)"); +sizeval = 3; +rc = pcre2_substring_copy_byname(test_match_data, name_n, copy_buf, &sizeval); +ASSERT(rc == 0 && sizeval == 2, "pcre2_substring_copy_byname(small buffer)"); +sizeval = 4; +rc = pcre2_substring_copy_byname(test_match_data, name_n, copy_buf, &sizeval); +ASSERT(rc == 0 && sizeval == 2, "pcre2_substring_copy_byname(small buffer)"); + +sizeval = 2; +rc = pcre2_substring_copy_bynumber(test_match_data, 1, copy_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMEMORY && sizeval == 2, "pcre2_substring_copy_bynumber(small buffer)"); +sizeval = 3; +rc = pcre2_substring_copy_bynumber(test_match_data, 1, copy_buf, &sizeval); +ASSERT(rc == 0 && sizeval == 2, "pcre2_substring_copy_bynumber(small buffer)"); + +mallocs_until_failure = 0; + +sizeval = 0; +sptrval = NULL; +rc = pcre2_substring_get_byname(test_match_data, name_n, &sptrval, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMEMORY && sptrval == NULL, "pcre2_substring_get_byname(small buffer)"); + +sizeval = 0; +rc = pcre2_substring_get_bynumber(test_match_data, 1, &sptrval, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMEMORY && sptrval == NULL, "pcre2_substring_get_bynumber(small buffer)"); + +mallocs_until_failure = INT_MAX; + +/* Test some unusual conditions, for which again it doesn't seem worth adding +pcre2test controls. */ + +sizeval = 0; +rc = pcre2_substring_length_bynumber(test_match_data, 1, &sizeval); +ASSERT(rc == 0 && sizeval == 2, "pcre2_substring_length_bynumber()"); +rc = pcre2_substring_length_bynumber(test_match_data, 1, NULL); +ASSERT(rc == 0, "pcre2_substring_length_bynumber()"); + +sizeval = 0; +rc = pcre2_substring_length_byname(test_match_data, name_n, &sizeval); +ASSERT(rc == 0 && sizeval == 2, "pcre2_substring_length_byname()"); +rc = pcre2_substring_length_byname(test_match_data, name_n, NULL); +ASSERT(rc == 0, "pcre2_substring_length_byname()"); + +/* Test pcre2_substring_list_get() with some NULL inputs. */ + +rc = pcre2_substring_list_get(test_match_data, &stringlist, &lengthslist); +ASSERT(rc == 0 && stringlist != NULL && lengthslist != NULL, "pcre2_substring_list_get()"); +pcre2_substring_list_free(stringlist); + +stringlist = NULL; +rc = pcre2_substring_list_get(test_match_data, &stringlist, NULL); +ASSERT(rc == 0 && stringlist != NULL, "pcre2_substring_list_get()"); +pcre2_substring_list_free(stringlist); + +mallocs_until_failure = 0; + +stringlist = NULL; +rc = pcre2_substring_list_get(test_match_data, &stringlist, &lengthslist); +ASSERT(rc == PCRE2_ERROR_NOMEMORY && stringlist == NULL, "pcre2_substring_list_get()"); + +mallocs_until_failure = INT_MAX; + +/* Test after an unsuccessful match. */ + +rc = pcre2_match(test_compiled_code, subject_abcz, PCRE2_ZERO_TERMINATED, 2, + 0, test_match_data, NULL); +ASSERT(rc == PCRE2_ERROR_NOMATCH, "pcre2_match()"); + +sizeval = 4; +rc = pcre2_substring_copy_byname(test_match_data, name_n, copy_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMATCH, "pcre2_substring_copy_byname(no match)"); +rc = pcre2_substring_copy_bynumber(test_match_data, 1, copy_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMATCH, "pcre2_substring_copy_bynumber(no match)"); +rc = pcre2_substring_get_byname(test_match_data, name_n, &sptrval, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMATCH && sptrval == NULL, "pcre2_substring_get_byname(no match)"); +rc = pcre2_substring_get_bynumber(test_match_data, 1, &sptrval, &sizeval); +ASSERT(rc == PCRE2_ERROR_NOMATCH && sptrval == NULL, "pcre2_substring_get_bynumber(no match)"); + +/* ------------- pcre2_substitute with PCRE2_SUBSTITUTE_MATCHED ------------ */ + +/* There are some specific edge cases here that would be a pain to exercise via +the standard pcre2test modifiers. The documentation is clear that when you do +a match externally and pass it in with PCRE2_SUBSTITUTE_MATCHED, you must also +pass the same match options. Here we test what happens when you don't. */ + +pcre2_code_free(test_compiled_code); +test_compiled_code = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, NULL); +ASSERT(test_compiled_code != NULL, "test pattern compilation"); + +subs_other_code = pcre2_compile(pattern, PCRE2_ZERO_TERMINATED, + 0, &errorcode, &erroroffset, NULL); +ASSERT(subs_other_code != NULL, "test pattern compilation"); + +pcre2_match_data_free(test_match_data); +test_match_data = pcre2_match_data_create_from_pattern( + test_compiled_code, NULL); +ASSERT(test_match_data != NULL, "pcre2_match_data_create()"); + +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +rc = pcre2_match(test_compiled_code, substitute_subject, PCRE2_ZERO_TERMINATED, + 0, 0, test_match_data, NULL); +ASSERT(rc == 1, "pcre2_match()"); + +/* Baseline, should succeed */ +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(test_compiled_code, substitute_subject, + PCRE2_ZERO_TERMINATED, 0, PCRE2_SUBSTITUTE_MATCHED, test_match_data, NULL, + NULL, 0, replace_buf, &sizeval); +ASSERT(rc == 1, "pcre2_substitute(baseline)"); + +/* Move the subject pointer, but keep the contents and length the same */ +memcpy(substitute_subject+1, subject_abcz, sizeof(subject_abcz)); +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(test_compiled_code, substitute_subject+1, + PCRE2_ZERO_TERMINATED, 0, PCRE2_SUBSTITUTE_MATCHED, test_match_data, NULL, + NULL, 0, replace_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_DIFFSUBSSUBJECT, "pcre2_substitute(moved)"); + +/* Keep the subject pointer the same but extend its length */ +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +substitute_subject[4] = CHAR_Y; +substitute_subject[5] = 0; +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(test_compiled_code, substitute_subject, + PCRE2_ZERO_TERMINATED, 0, PCRE2_SUBSTITUTE_MATCHED, test_match_data, NULL, + NULL, 0, replace_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_DIFFSUBSSUBJECT, "pcre2_substitute(extended)"); + +/* Change the offset */ +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(test_compiled_code, substitute_subject, + PCRE2_ZERO_TERMINATED, 1, PCRE2_SUBSTITUTE_MATCHED, test_match_data, NULL, + NULL, 0, replace_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_DIFFSUBSOFFSET, "pcre2_substitute(offset)"); + +/* Change the options */ +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(test_compiled_code, substitute_subject, + PCRE2_ZERO_TERMINATED, 0, PCRE2_SUBSTITUTE_MATCHED | PCRE2_NOTEMPTY, + test_match_data, NULL, NULL, 0, replace_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_DIFFSUBSOPTIONS, "pcre2_substitute(options)"); + +/* Change the pattern */ +memcpy(substitute_subject, subject_abcz, sizeof(subject_abcz)); +sizeval = sizeof(replace_buf)/sizeof(*replace_buf); +rc = pcre2_substitute(subs_other_code, substitute_subject, + PCRE2_ZERO_TERMINATED, 0, PCRE2_SUBSTITUTE_MATCHED, test_match_data, NULL, + NULL, 0, replace_buf, &sizeval); +ASSERT(rc == PCRE2_ERROR_DIFFSUBSPATTERN, "pcre2_substitute(pattern)"); + +/* ------------------------------------------------------------------------- */ + +#undef ASSERT +EXIT: + +mallocs_until_failure = INT_MAX; + +#if PCRE2_CODE_UNIT_WIDTH == 8 +pcre2_regfree(&test_preg); +#endif + +if (test_compiled_code != NULL) pcre2_code_free(test_compiled_code); +#ifdef BITOTHER +if (bitother_code != NULL) G(pcre2_code_free_,BITOTHER)(bitother_code); +#endif +if (subs_other_code != NULL) pcre2_code_free(subs_other_code); + +if (test_match_data != NULL) pcre2_match_data_free(test_match_data); + +if (test_con_context_copy != NULL) pcre2_convert_context_free(test_con_context_copy); +if (test_dat_context_copy != NULL) pcre2_match_context_free(test_dat_context_copy); +if (test_pat_context_copy != NULL) pcre2_compile_context_free(test_pat_context_copy); +if (test_gen_context_copy != NULL) pcre2_general_context_free(test_gen_context_copy); +if (test_con_context != NULL) pcre2_convert_context_free(test_con_context); +if (test_dat_context != NULL) pcre2_match_context_free(test_dat_context); +if (test_pat_context != NULL) pcre2_compile_context_free(test_pat_context); +if (test_gen_context != NULL) pcre2_general_context_free(test_gen_context); + +free(invalid_code); + +if (failure != NULL) + { + cfprintf(clr_test_error, stderr, "pcre2test: Unit test error in %s\n", failure); + exit(1); + } +} + +#undef BITOTHER + + +/* -------------------- Undo the macro definitions --------------------------*/ + +#undef pbuffer +#undef pbuffer_size + +#undef utf_to_ord + +#undef compiled_code +#undef general_context +#undef general_context_copy +#undef pat_context +#undef default_pat_context +#undef con_context +#undef default_con_context +#undef dat_context +#undef default_dat_context +#undef match_data +#undef jit_stack +#undef jit_stack_size +#undef patstack +#undef patstacknext +#undef rep_in_buffer +#undef rep_in_buffer_size +#undef rep_out_buffer +#undef rep_out_buffer_size + +#undef jit_callback +#undef pcre2_strcmp_c8 +#undef pcre2_strlen +#undef pchars +#undef ptrunc +#undef config_str +#undef check_modifier +#undef decode_modifiers +#undef pattern_info +#undef show_memory_info +#undef show_framesize +#undef show_heapframes_size +#undef print_error_message_file +#undef print_error_message +#undef callout_enumerate_function +#undef callout_enumerate_function_void +#undef callout_enumerate_function_fail +#undef show_pattern_info +#undef serial_error +#undef process_command +#undef process_pattern +#undef have_active_pattern +#undef free_active_pattern +#undef check_match_limit +#undef substitute_callout_function +#undef substitute_case_callout_function +#undef callout_function +#undef copy_and_get +#undef copy_substitute_string +#undef process_data +#undef init_globals +#undef free_globals +#undef unittest + + + +/* End of pcre2test_inc.h */ diff --git a/libpcre/vms/configure.com b/libpcre/vms/configure.com index 831f38ff7..235647867 100644 --- a/libpcre/vms/configure.com +++ b/libpcre/vms/configure.com @@ -463,11 +463,7 @@ Boolean macros such as HAVE_STDLIB_H and SUPPORT_PCRE2_8 should either be defined (conventionally to 1) for TRUE, and not defined at all for FALSE. All such macros are listed as a commented #undef in config.h.generic. Macros such as MATCH_LIMIT, whose actual value is relevant, have defaults defined, but are -surrounded by #ifndef/#endif lines so that the value can be overridden by -D. - -PCRE2 uses memmove() if HAVE_MEMMOVE is defined; otherwise it uses bcopy() if -HAVE_BCOPY is defined. If your system has neither bcopy() nor memmove(), make -sure both macros are undefined; an emulation function will then be used. */ +surrounded by #ifndef/#endif lines so that the value can be overridden by -D. */ /* By default, the \R escape sequence matches any Unicode line ending character or sequence of characters. If BSR_ANYCRLF is defined (to any @@ -499,9 +495,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ #define HAVE_ASSERT_H 1 -/* Define to 1 if you have the 'bcopy' function. */ -#define HAVE_BCOPY 1 - /* Define this if your compiler provides __builtin_mul_overflow() */ #undef HAVE_BUILTIN_MUL_OVERFLOW @@ -529,9 +522,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the 'memfd_create' function. */ #undef HAVE_MEMFD_CREATE -/* Define to 1 if you have the 'memmove' function. */ -#define HAVE_MEMMOVE 1 - /* Define to 1 if you have the header file. */ #undef HAVE_MINIX_CONFIG_H @@ -568,9 +558,6 @@ sure both macros are undefined; an emulation function will then be used. */ /* Define to 1 if you have the header file. */ #define HAVE_STDLIB_H 1 -/* Define to 1 if you have the 'strerror' function. */ -#define HAVE_STRERROR 1 - /* Define to 1 if you have the header file. */ #define HAVE_STRINGS_H 1 @@ -905,7 +892,7 @@ sure both macros are undefined; an emulation function will then be used. */ #define PCRE2_EXPORT #define LINK_SIZE 2 #define MAX_NAME_COUNT 10000 -#define MAX_NAME_SIZE 32 +#define MAX_NAME_SIZE 128 #define MATCH_LIMIT 10000000 #define HEAP_LIMIT 20000000 #define NEWLINE_DEFAULT 2 @@ -1037,6 +1024,9 @@ PCRE2_CHKDINT.OBJ : PCRE2_CHKDINT.C PCRE2_COMPILE.OBJ : PCRE2_COMPILE.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) +PCRE2_COMPILE.OBJ : PCRE2_COMPILE_CGROUP.C + $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) + PCRE2_COMPILE.OBJ : PCRE2_COMPILE_CLASS.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) @@ -1070,12 +1060,6 @@ PCRE2_FUZZSUPPORT.OBJ : PCRE2_FUZZSUPPORT.C PCRE2_JIT_COMPILE.OBJ : PCRE2_JIT_COMPILE.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) -PCRE2_JIT_MATCH.OBJ : PCRE2_JIT_MATCH.C - $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) - -PCRE2_JIT_MISC.OBJ : PCRE2_JIT_MISC.C - $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) - PCRE2_JIT_TEST.OBJ : PCRE2_JIT_TEST.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) @@ -1088,6 +1072,9 @@ PCRE2_MATCH.OBJ : PCRE2_MATCH.C PCRE2_MATCH_DATA.OBJ : PCRE2_MATCH_DATA.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) +PCRE2_MATCH_NEXT.OBJ : PCRE2_MATCH_NEXT.C + $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) + PCRE2_NEWLINE.OBJ : PCRE2_NEWLINE.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) @@ -1097,9 +1084,6 @@ PCRE2_ORD2UTF.OBJ : PCRE2_ORD2UTF.C PCRE2_PATTERN_INFO.OBJ : PCRE2_PATTERN_INFO.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) -PCRE2_PRINTINT.OBJ : PCRE2_PRINTINT.C - $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) - PCRE2_SCRIPT_RUN.OBJ : PCRE2_SCRIPT_RUN.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) @@ -1124,9 +1108,6 @@ PCRE2_TABLES.OBJ : PCRE2_TABLES.C PCRE2_UCD.OBJ : PCRE2_UCD.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) -PCRE2_UCPTABLES.OBJ : PCRE2_UCPTABLES.C - $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) - PCRE2_VALID_UTF.OBJ : PCRE2_VALID_UTF.C $(CC) $(CFLAGS) $(MMS$SOURCE) /OBJ=$(MMS$TARGET) diff --git a/libssh2/Makefile.in b/libssh2/Makefile.in index 6860eac25..1d9ba9ba4 100644 --- a/libssh2/Makefile.in +++ b/libssh2/Makefile.in @@ -190,11 +190,10 @@ am__define_uniq_tagged_files = \ unique=`for i in $$list; do \ if test -f "$$i"; then echo $$i; else echo $(srcdir)/$$i; fi; \ done | $(am__uniquify_input)` -DIST_SUBDIRS = src +DIST_SUBDIRS = $(SUBDIRS) am__DIST_COMMON = $(srcdir)/Makefile.in $(srcdir)/libssh2.pc.in \ - COPYING ChangeLog NEWS README compile config.guess \ - config.rpath config.sub depcomp install-sh ltmain.sh missing \ - tap-driver.sh + COPYING ChangeLog README compile config.guess config.rpath \ + config.sub depcomp install-sh ltmain.sh missing tap-driver.sh DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) distdir = $(PACKAGE)-$(VERSION) top_distdir = $(distdir) diff --git a/libz/.cmake-format.yaml b/libz/.cmake-format.yaml new file mode 100644 index 000000000..9c554da15 --- /dev/null +++ b/libz/.cmake-format.yaml @@ -0,0 +1,245 @@ +_help_parse: Options affecting listfile parsing +parse: + _help_additional_commands: + - Specify structure for custom cmake functions + additional_commands: + foo: + flags: + - BAR + - BAZ + kwargs: + HEADERS: '*' + SOURCES: '*' + DEPENDS: '*' + _help_override_spec: + - Override configurations per-command where available + override_spec: {} + _help_vartags: + - Specify variable tags. + vartags: [] + _help_proptags: + - Specify property tags. + proptags: [] +_help_format: Options affecting formatting. +format: + _help_disable: + - Disable formatting entirely, making cmake-format a no-op + disable: false + _help_line_width: + - How wide to allow formatted cmake files + line_width: 80 + _help_tab_size: + - How many spaces to tab for indent + tab_size: 4 + _help_use_tabchars: + - If true, lines are indented using tab characters (utf-8 + - 0x09) instead of space characters (utf-8 0x20). + - In cases where the layout would require a fractional tab + - character, the behavior of the fractional indentation is + - governed by + use_tabchars: false + _help_fractional_tab_policy: + - If is True, then the value of this variable + - indicates how fractional indentions are handled during + - whitespace replacement. If set to 'use-space', fractional + - indentation is left as spaces (utf-8 0x20). If set to + - '`round-up` fractional indentation is replaced with a single' + - tab character (utf-8 0x09) effectively shifting the column + - to the next tabstop + fractional_tab_policy: use-space + _help_max_subgroups_hwrap: + - If an argument group contains more than this many sub-groups + - (parg or kwarg groups) then force it to a vertical layout. + max_subgroups_hwrap: 2 + _help_max_pargs_hwrap: + - If a positional argument group contains more than this many + - arguments, then force it to a vertical layout. + max_pargs_hwrap: 6 + _help_max_rows_cmdline: + - If a cmdline positional group consumes more than this many + - lines without nesting, then invalidate the layout (and nest) + max_rows_cmdline: 2 + _help_separate_ctrl_name_with_space: + - If true, separate flow control names from their parentheses + - with a space + separate_ctrl_name_with_space: false + _help_separate_fn_name_with_space: + - If true, separate function names from parentheses with a + - space + separate_fn_name_with_space: false + _help_dangle_parens: + - If a statement is wrapped to more than one line, than dangle + - the closing parenthesis on its own line. + dangle_parens: false + _help_dangle_align: + - If the trailing parenthesis must be 'dangled' on its on + - 'line, then align it to this reference: `prefix`: the start' + - 'of the statement, `prefix-indent`: the start of the' + - 'statement, plus one indentation level, `child`: align to' + - the column of the arguments + dangle_align: prefix + _help_min_prefix_chars: + - If the statement spelling length (including space and + - parenthesis) is smaller than this amount, then force reject + - nested layouts. + min_prefix_chars: 4 + _help_max_prefix_chars: + - If the statement spelling length (including space and + - parenthesis) is larger than the tab width by more than this + - amount, then force reject un-nested layouts. + max_prefix_chars: 10 + _help_max_lines_hwrap: + - If a candidate layout is wrapped horizontally but it exceeds + - this many lines, then reject the layout. + max_lines_hwrap: 2 + _help_line_ending: + - What style line endings to use in the output. + line_ending: unix + _help_command_case: + - Format command names consistently as 'lower' or 'upper' case + command_case: canonical + _help_keyword_case: + - Format keywords consistently as 'lower' or 'upper' case + keyword_case: unchanged + _help_always_wrap: + - A list of command names which should always be wrapped + always_wrap: [] + _help_enable_sort: + - If true, the argument lists which are known to be sortable + - will be sorted lexicographicall + enable_sort: true + _help_autosort: + - If true, the parsers may infer whether or not an argument + - list is sortable (without annotation). + autosort: false + _help_require_valid_layout: + - By default, if cmake-format cannot successfully fit + - everything into the desired linewidth it will apply the + - last, most aggressive attempt that it made. If this flag is + - True, however, cmake-format will print error, exit with non- + - zero status code, and write-out nothing + require_valid_layout: false + _help_layout_passes: + - A dictionary mapping layout nodes to a list of wrap + - decisions. See the documentation for more information. + layout_passes: {} +_help_markup: Options affecting comment reflow and formatting. +markup: + _help_bullet_char: + - What character to use for bulleted lists + bullet_char: '*' + _help_enum_char: + - What character to use as punctuation after numerals in an + - enumerated list + enum_char: . + _help_first_comment_is_literal: + - If comment markup is enabled, don't reflow the first comment + - block in each listfile. Use this to preserve formatting of + - your copyright/license statements. + first_comment_is_literal: false + _help_literal_comment_pattern: + - If comment markup is enabled, don't reflow any comment block + - which matches this (regex) pattern. Default is `None` + - (disabled). + literal_comment_pattern: null + _help_fence_pattern: + - Regular expression to match preformat fences in comments + - default= ``r'^\s*([`~]{3}[`~]*)(.*)$'`` + fence_pattern: ^\s*([`~]{3}[`~]*)(.*)$ + _help_ruler_pattern: + - Regular expression to match rulers in comments default= + - '``r''^\s*[^\w\s]{3}.*[^\w\s]{3}$''``' + ruler_pattern: ^\s*[^\w\s]{3}.*[^\w\s]{3}$ + _help_explicit_trailing_pattern: + - If a comment line matches starts with this pattern then it + - is explicitly a trailing comment for the preceding argument. + - Default is '#<' + explicit_trailing_pattern: '#<' + _help_hashruler_min_length: + - If a comment line starts with at least this many consecutive + - hash characters, then don't lstrip() them off. This allows + - for lazy hash rulers where the first hash char is not + - separated by space + hashruler_min_length: 10 + _help_canonicalize_hashrulers: + - If true, then insert a space between the first hash char and + - remaining hash chars in a hash ruler, and normalize its + - length to fill the column + canonicalize_hashrulers: true + _help_enable_markup: + - enable comment markup parsing and reflow + enable_markup: true +_help_lint: Options affecting the linter +lint: + _help_disabled_codes: + - a list of lint codes to disable + disabled_codes: [] + _help_function_pattern: + - regular expression pattern describing valid function names + function_pattern: '[0-9a-z_]+' + _help_macro_pattern: + - regular expression pattern describing valid macro names + macro_pattern: '[0-9A-Z_]+' + _help_global_var_pattern: + - regular expression pattern describing valid names for + - variables with global (cache) scope + global_var_pattern: '[A-Z][0-9A-Z_]+' + _help_internal_var_pattern: + - regular expression pattern describing valid names for + - variables with global scope (but internal semantic) + internal_var_pattern: _[A-Z][0-9A-Z_]+ + _help_local_var_pattern: + - regular expression pattern describing valid names for + - variables with local scope + local_var_pattern: '[a-z][a-z0-9_]+' + _help_private_var_pattern: + - regular expression pattern describing valid names for + - privatedirectory variables + private_var_pattern: _[0-9a-z_]+ + _help_public_var_pattern: + - regular expression pattern describing valid names for public + - directory variables + public_var_pattern: '[A-Z][0-9A-Z_]+' + _help_argument_var_pattern: + - regular expression pattern describing valid names for + - function/macro arguments and loop variables. + argument_var_pattern: '[a-z][a-z0-9_]+' + _help_keyword_pattern: + - regular expression pattern describing valid names for + - keywords used in functions or macros + keyword_pattern: '[A-Z][0-9A-Z_]+' + _help_max_conditionals_custom_parser: + - In the heuristic for C0201, how many conditionals to match + - within a loop in before considering the loop a parser. + max_conditionals_custom_parser: 2 + _help_min_statement_spacing: + - Require at least this many newlines between statements + min_statement_spacing: 1 + _help_max_statement_spacing: + - Require no more than this many newlines between statements + max_statement_spacing: 2 + max_returns: 6 + max_branches: 12 + max_arguments: 5 + max_localvars: 15 + max_statements: 50 +_help_encode: Options affecting file encoding +encode: + _help_emit_byteorder_mark: + - If true, emit the unicode byte-order mark (BOM) at the start + - of the file + emit_byteorder_mark: false + _help_input_encoding: + - Specify the encoding of the input file. Defaults to utf-8 + input_encoding: utf-8 + _help_output_encoding: + - Specify the encoding of the output file. Defaults to utf-8. + - Note that cmake only claims to support utf-8 so be careful + - when using anything else + output_encoding: utf-8 +_help_misc: Miscellaneous configurations options. +misc: + _help_per_command: + - A dictionary containing any per-command configuration + - overrides. Currently only `command_case` is supported. + per_command: {} diff --git a/libz/BUILD.bazel b/libz/BUILD.bazel new file mode 100644 index 000000000..9a294f2f2 --- /dev/null +++ b/libz/BUILD.bazel @@ -0,0 +1,134 @@ +# Copied from https://github.com/bazelbuild/bazel-central-registry/tree/main/modules/zlib/1.3.1.bcr.4/patches +# Adapted from https://github.com/protocolbuffers/protobuf/blob/master/third_party/zlib.BUILD + +# Copyright 2008 Google Inc. All rights reserved. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * 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. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived from +# this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS 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 COPYRIGHT +# OWNER 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. +# +# Code generated by the Protocol Buffer compiler is owned by the owner +# of the input file used when generating it. This code is not +# standalone and requires a support library to be linked with it. This +# support library is itself covered by the above license. + +load("@rules_cc//cc:defs.bzl", "cc_library") +load("@rules_license//rules:license.bzl", "license") + +package( + default_applicable_licenses = [":license"], +) + +license( + name = "license", + license_kinds = ["@rules_license//licenses/spdx:Zlib"], + license_text = "LICENSE", +) + +exports_files([ + "LICENSE", +]) + +_ZLIB_HEADERS = [ + "crc32.h", + "deflate.h", + "gzguts.h", + "inffast.h", + "inffixed.h", + "inflate.h", + "inftrees.h", + "trees.h", + "zconf.h", + "zlib.h", + "zutil.h", +] + +_ZLIB_PREFIXED_HEADERS = ["zlib/include/" + hdr for hdr in _ZLIB_HEADERS] + +# In order to limit the damage from the `includes` propagation +# via `:zlib`, copy the public headers to a subdirectory and +# expose those. +genrule( + name = "copy_public_headers", + srcs = _ZLIB_HEADERS, + outs = _ZLIB_PREFIXED_HEADERS, + cmd_bash = "cp $(SRCS) $(@D)/zlib/include/", + cmd_bat = " && ".join( + ["@copy /Y \"$(location %s)\" \"$(@D)\\zlib\\include\\\" >NUL" % + s for s in _ZLIB_HEADERS], + ), +) + +config_setting( + name = "mingw_gcc_compiler", + flag_values = { + "@bazel_tools//tools/cpp:compiler": "mingw-gcc", + }, + visibility = [":__subpackages__"], +) + +cc_library( + name = "z", + srcs = [ + "adler32.c", + "compress.c", + "crc32.c", + "deflate.c", + "gzclose.c", + "gzlib.c", + "gzread.c", + "gzwrite.c", + "infback.c", + "inffast.c", + "inflate.c", + "inftrees.c", + "trees.c", + "uncompr.c", + "zutil.c", + # Include the un-prefixed headers in srcs to work + # around the fact that zlib isn't consistent in its + # choice of <> or "" delimiter when including itself. + ] + _ZLIB_HEADERS, + hdrs = _ZLIB_PREFIXED_HEADERS, + copts = select({ + ":mingw_gcc_compiler": [ + "-fpermissive", + ], + "@platforms//os:windows": [], + "//conditions:default": [ + "-Wno-deprecated-non-prototype", + "-Wno-unused-variable", + "-Wno-implicit-function-declaration", + ], + }), + includes = ["zlib/include/"], + visibility = ["//visibility:public"], +) + +alias( + name = "zlib", + actual = ":z", + visibility = ["//visibility:public"], +) diff --git a/libz/CMakeLists.txt b/libz/CMakeLists.txt index 15ceebe78..e103c409a 100644 --- a/libz/CMakeLists.txt +++ b/libz/CMakeLists.txt @@ -1,98 +1,126 @@ -cmake_minimum_required(VERSION 2.4.4...3.15.0) -set(CMAKE_ALLOW_LOOSE_LOOP_CONSTRUCTS ON) +cmake_minimum_required(VERSION 3.12...3.31) -project(zlib C) +project( + zlib + LANGUAGES C + VERSION 1.3.2 + HOMEPAGE_URL "https://zlib.net/" + DESCRIPTION "a general-purpose lossless data-compression library") -set(VERSION "1.3.1") +# ============================================================================ +# CPack +# ============================================================================ +set(CPACK_PACKAGE_VENDOR "zlib-Project") +set(CPACK_PACKAGE_DESCRIPTION_FILE ${zlib_SOURCE_DIR}/README) +set(CPACK_RESOURCE_FILE_LICENSE ${zlib_SOURCE_DIR}/LICENSE) +set(CPACK_RESOURCE_FILE_README ${zlib_SOURCE_DIR}/README) -option(ZLIB_BUILD_EXAMPLES "Enable Zlib Examples" ON) +# ============================================================================ +# configuration +# ============================================================================ -set(INSTALL_BIN_DIR "${CMAKE_INSTALL_PREFIX}/bin" CACHE PATH "Installation directory for executables") -set(INSTALL_LIB_DIR "${CMAKE_INSTALL_PREFIX}/lib" CACHE PATH "Installation directory for libraries") -set(INSTALL_INC_DIR "${CMAKE_INSTALL_PREFIX}/include" CACHE PATH "Installation directory for headers") -set(INSTALL_MAN_DIR "${CMAKE_INSTALL_PREFIX}/share/man" CACHE PATH "Installation directory for manual pages") -set(INSTALL_PKGCONFIG_DIR "${CMAKE_INSTALL_PREFIX}/share/pkgconfig" CACHE PATH "Installation directory for pkgconfig (.pc) files") +option(ZLIB_BUILD_TESTING "Enable Zlib Examples as tests" ON) +option(ZLIB_BUILD_SHARED "Enable building zlib shared library" ON) +option(ZLIB_BUILD_STATIC "Enable building zlib static library" ON) +option(ZLIB_INSTALL "Enable installation of zlib" ON) +option(ZLIB_PREFIX "prefix for all types and library functions, see zconf.h.in" + OFF) +mark_as_advanced(ZLIB_PREFIX) -include(CheckTypeSize) +get_property(IS_MULTI GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG) + +if(NOT DEFINED CMAKE_BUILD_TYPE AND NOT IS_MULTI) + message(STATUS "No CMAKE_BUILD_TYPE set -- using Release") + set(CMAKE_BUILD_TYPE Release) +endif(NOT DEFINED CMAKE_BUILD_TYPE AND NOT IS_MULTI) + +include(CheckCSourceCompiles) include(CheckFunctionExists) include(CheckIncludeFile) -include(CheckCSourceCompiles) -enable_testing() +include(CMakePackageConfigHelpers) +include(CheckTypeSize) +include(CPack) +include(GNUInstallDirs) -check_include_file(sys/types.h HAVE_SYS_TYPES_H) -check_include_file(stdint.h HAVE_STDINT_H) -check_include_file(stddef.h HAVE_STDDEF_H) +set(CPACK_INCLUDED TRUE) + +if(NOT ZLIB_CONF_WRITTEN) + set(Z_PREFIX ${ZLIB_PREFIX}) + set(CONF_OUT_FILE ${zlib_BINARY_DIR}/zconf.h.cmakein) + file(READ ${zlib_SOURCE_DIR}/zconf.h ZCONF_CONTENT LIMIT 245) + file(WRITE ${CONF_OUT_FILE} ${ZCONF_CONTENT}) + file(APPEND ${CONF_OUT_FILE} "#cmakedefine Z_PREFIX 1\n") + file(APPEND ${CONF_OUT_FILE} "#cmakedefine HAVE_STDARG_H 1\n") + file(APPEND ${CONF_OUT_FILE} "#cmakedefine HAVE_UNISTD_H 1\n") + file(READ ${zlib_SOURCE_DIR}/zconf.h ZCONF_CONTENT OFFSET 244) + set(FIRST_ITEM TRUE) + + foreach(item IN LISTS ZCONF_CONTENT) + if(FIRST_ITEM) + string(APPEND OUT_CONTENT ${item}) + set(FIRST_ITEM FALSE) + else(FIRST_ITEM) + string(APPEND OUT_CONTENT "\;" ${item}) + endif(FIRST_ITEM) + endforeach(item IN LISTS ${ZCONF_CONTENT}) + + file(APPEND ${CONF_OUT_FILE} ${OUT_CONTENT}) + set(ZLIB_CONF_WRITTEN + TRUE + CACHE BOOL "zconf.h.cmakein was created") + mark_as_advanced(ZLIB_CONF_WRITTEN) +endif(NOT ZLIB_CONF_WRITTEN) # # Check to see if we have large file support # set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1) -# We add these other definitions here because CheckTypeSize.cmake -# in CMake 2.4.x does not automatically do so and we want -# compatibility with CMake 2.4.x. -if(HAVE_SYS_TYPES_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H) -endif() -if(HAVE_STDINT_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H) -endif() -if(HAVE_STDDEF_H) - list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H) -endif() check_type_size(off64_t OFF64_T) -if(HAVE_OFF64_T) - add_definitions(-D_LARGEFILE64_SOURCE=1) -endif() -set(CMAKE_REQUIRED_DEFINITIONS) # clear variable +unset(CMAKE_REQUIRED_DEFINITIONS) # clear variable # # Check for fseeko # check_function_exists(fseeko HAVE_FSEEKO) -if(NOT HAVE_FSEEKO) - add_definitions(-DNO_FSEEKO) -endif() + +# +# Check for stdarg.h +# +check_include_file(stdarg.h HAVE_STDARG_H) # # Check for unistd.h # -check_include_file(unistd.h Z_HAVE_UNISTD_H) +check_include_file(unistd.h HAVE_UNISTD_H) +# +# Check visibility attribute is supported +# if(MSVC) - set(CMAKE_DEBUG_POSTFIX "d") - add_definitions(-D_CRT_SECURE_NO_DEPRECATE) - add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE) - include_directories(${CMAKE_CURRENT_SOURCE_DIR}) -endif() + set(CMAKE_REQUIRED_FLAGS "-WX") +else(MSVC) + set(CMAKE_REQUIRED_FLAGS "-Werror") +endif(MSVC) -if(NOT CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_CURRENT_BINARY_DIR) - # If we're doing an out of source build and the user has a zconf.h - # in their source tree... - if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h) - message(STATUS "Renaming") - message(STATUS " ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h") - message(STATUS "to 'zconf.h.included' because this file is included with zlib") - message(STATUS "but CMake generates it automatically in the build directory.") - file(RENAME ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.included) - endif() -endif() +check_c_source_compiles( + " + #include + static void f(void) __attribute__ ((visibility(\"hidden\"))); + int main(void) {return 0;} + " + HAVE___ATTR__VIS_HIDDEN) -set(ZLIB_PC ${CMAKE_CURRENT_BINARY_DIR}/zlib.pc) -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zlib.pc.cmakein - ${ZLIB_PC} @ONLY) -configure_file( ${CMAKE_CURRENT_SOURCE_DIR}/zconf.h.cmakein - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h @ONLY) -include_directories(${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}) +unset(CMAKE_COMPILE_FLAGS) +set(ZLIB_PC ${zlib_BINARY_DIR}/zlib.pc) +configure_file(${zlib_SOURCE_DIR}/zlib.pc.cmakein ${ZLIB_PC} @ONLY) +configure_file(${zlib_BINARY_DIR}/zconf.h.cmakein ${zlib_BINARY_DIR}/zconf.h) - -#============================================================================ +# ============================================================================ # zlib -#============================================================================ +# ============================================================================ + +set(ZLIB_PUBLIC_HDRS ${zlib_BINARY_DIR}/zconf.h zlib.h) -set(ZLIB_PUBLIC_HDRS - ${CMAKE_CURRENT_BINARY_DIR}/zconf.h - zlib.h -) set(ZLIB_PRIVATE_HDRS crc32.h deflate.h @@ -102,8 +130,8 @@ set(ZLIB_PRIVATE_HDRS inflate.h inftrees.h trees.h - zutil.h -) + zutil.h) + set(ZLIB_SRCS adler32.c compress.c @@ -119,100 +147,164 @@ set(ZLIB_SRCS inffast.c trees.c uncompr.c - zutil.c -) + zutil.c) -if(NOT MINGW) - set(ZLIB_DLL_SRCS - win32/zlib1.rc # If present will override custom build rule below. - ) -endif() +if(WIN32) + set(zlib_static_suffix "s") + set(CMAKE_DEBUG_POSTFIX "d") +endif(WIN32) -# parse the full version number from zlib.h and include in ZLIB_FULL_VERSION -file(READ ${CMAKE_CURRENT_SOURCE_DIR}/zlib.h _zlib_h_contents) -string(REGEX REPLACE ".*#define[ \t]+ZLIB_VERSION[ \t]+\"([-0-9A-Za-z.]+)\".*" - "\\1" ZLIB_FULL_VERSION ${_zlib_h_contents}) +if(ZLIB_BUILD_SHARED) + add_library( + zlib SHARED ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS} + $<$,$>:win32/zlib1.rc>) + add_library(ZLIB::ZLIB ALIAS zlib) + target_include_directories( + zlib + PUBLIC $ + $ + $) + target_compile_definitions( + zlib + PRIVATE ZLIB_BUILD + $<$:NO_FSEEKO> + $<$:HAVE_HIDDEN> + $<$:_CRT_SECURE_NO_DEPRECATE> + $<$:_CRT_NONSTDC_NO_DEPRECATE> + PUBLIC $<$:_LARGEFILE64_SOURCE=1>) + set(INSTALL_VERSION ${zlib_VERSION}) -if(MINGW) - # This gets us DLL resource information when compiling on MinGW. - if(NOT CMAKE_RC_COMPILER) - set(CMAKE_RC_COMPILER windres.exe) - endif() + if(NOT CYGWIN) + set_target_properties(zlib PROPERTIES SOVERSION ${zlib_VERSION_MAJOR} + VERSION ${INSTALL_VERSION}) + endif(NOT CYGWIN) - add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - COMMAND ${CMAKE_RC_COMPILER} - -D GCC_WINDRES - -I ${CMAKE_CURRENT_SOURCE_DIR} - -I ${CMAKE_CURRENT_BINARY_DIR} - -o ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj - -i ${CMAKE_CURRENT_SOURCE_DIR}/win32/zlib1.rc) - set(ZLIB_DLL_SRCS ${CMAKE_CURRENT_BINARY_DIR}/zlib1rc.obj) -endif(MINGW) + set_target_properties( + zlib + PROPERTIES DEFINE_SYMBOL ZLIB_DLL + EXPORT_NAME ZLIB + OUTPUT_NAME z) + if(UNIX + AND NOT APPLE + AND NOT (CMAKE_SYSTEM_NAME STREQUAL AIX) + AND NOT (CMAKE_SYSTEM_NAME STREQUAL SunOS)) + # On unix-like platforms the library is almost always called libz + set_target_properties( + zlib + PROPERTIES LINK_FLAGS + "-Wl,--version-script,\"${zlib_SOURCE_DIR}/zlib.map\"") + endif( + UNIX + AND NOT APPLE + AND NOT (CMAKE_SYSTEM_NAME STREQUAL AIX) + AND NOT (CMAKE_SYSTEM_NAME STREQUAL SunOS)) +endif(ZLIB_BUILD_SHARED) -add_library(zlib SHARED ${ZLIB_SRCS} ${ZLIB_DLL_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -target_include_directories(zlib PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} ${ZLIB_PRIVATE_HDRS}) -target_include_directories(zlibstatic PUBLIC ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_CURRENT_SOURCE_DIR}) -set_target_properties(zlib PROPERTIES DEFINE_SYMBOL ZLIB_DLL) -set_target_properties(zlib PROPERTIES SOVERSION 1) +if(ZLIB_BUILD_STATIC) + add_library(zlibstatic STATIC ${ZLIB_SRCS} ${ZLIB_PUBLIC_HDRS} + ${ZLIB_PRIVATE_HDRS}) + add_library(ZLIB::ZLIBSTATIC ALIAS zlibstatic) + target_include_directories( + zlibstatic + PUBLIC $ + $ + $) + target_compile_definitions( + zlibstatic + PRIVATE ZLIB_BUILD + $<$:NO_FSEEKO> + $<$:HAVE_HIDDEN> + $<$:_CRT_SECURE_NO_DEPRECATE> + $<$:_CRT_NONSTDC_NO_DEPRECATE> + PUBLIC $<$:_LARGEFILE64_SOURCE=1>) + set_target_properties( + zlibstatic PROPERTIES EXPORT_NAME ZLIBSTATIC OUTPUT_NAME + z${zlib_static_suffix}) +endif(ZLIB_BUILD_STATIC) -if(NOT CYGWIN) - # This property causes shared libraries on Linux to have the full version - # encoded into their final filename. We disable this on Cygwin because - # it causes cygz-${ZLIB_FULL_VERSION}.dll to be created when cygz.dll - # seems to be the default. - # - # This has no effect with MSVC, on that platform the version info for - # the DLL comes from the resource file win32/zlib1.rc - set_target_properties(zlib PROPERTIES VERSION ${ZLIB_FULL_VERSION}) -endif() +if(ZLIB_INSTALL) + if(ZLIB_BUILD_SHARED) + install( + TARGETS zlib + COMPONENT Runtime + EXPORT zlibSharedExport + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + install( + EXPORT zlibSharedExport + FILE ZLIB-shared.cmake + NAMESPACE ZLIB:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) -if(UNIX) - # On unix-like platforms the library is almost always called libz - set_target_properties(zlib zlibstatic PROPERTIES OUTPUT_NAME z) - if(NOT APPLE AND NOT(CMAKE_SYSTEM_NAME STREQUAL AIX)) - set_target_properties(zlib PROPERTIES LINK_FLAGS "-Wl,--version-script,\"${CMAKE_CURRENT_SOURCE_DIR}/zlib.map\"") - endif() -elseif(BUILD_SHARED_LIBS AND WIN32) - # Creates zlib1.dll when building shared library version - set_target_properties(zlib PROPERTIES SUFFIX "1.dll") -endif() + if(MSVC) + install( + FILES $ + COMPONENT Runtime + DESTINATION ${CMAKE_INSTALL_BINDIR} + CONFIGURATIONS Debug OR RelWithDebInfo + OPTIONAL) + endif(MSVC) + endif(ZLIB_BUILD_SHARED) -if(NOT SKIP_INSTALL_LIBRARIES AND NOT SKIP_INSTALL_ALL ) - install(TARGETS zlib zlibstatic - RUNTIME DESTINATION "${INSTALL_BIN_DIR}" - ARCHIVE DESTINATION "${INSTALL_LIB_DIR}" - LIBRARY DESTINATION "${INSTALL_LIB_DIR}" ) -endif() -if(NOT SKIP_INSTALL_HEADERS AND NOT SKIP_INSTALL_ALL ) - install(FILES ${ZLIB_PUBLIC_HDRS} DESTINATION "${INSTALL_INC_DIR}") -endif() -if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) - install(FILES zlib.3 DESTINATION "${INSTALL_MAN_DIR}/man3") -endif() -if(NOT SKIP_INSTALL_FILES AND NOT SKIP_INSTALL_ALL ) - install(FILES ${ZLIB_PC} DESTINATION "${INSTALL_PKGCONFIG_DIR}") -endif() + if(ZLIB_BUILD_STATIC) + install( + TARGETS zlibstatic + COMPONENT Development + EXPORT zlibStaticExport + RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}" + ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}" + LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}") + install( + EXPORT zlibStaticExport + FILE ZLIB-static.cmake + NAMESPACE ZLIB:: + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) + endif(ZLIB_BUILD_STATIC) -#============================================================================ -# Example binaries -#============================================================================ -if(ZLIB_BUILD_EXAMPLES) - add_executable(example test/example.c) - target_link_libraries(example zlib) - add_test(example example) + configure_package_config_file( + ${zlib_SOURCE_DIR}/zlibConfig.cmake.in + ${zlib_BINARY_DIR}/ZLIBConfig.cmake + INSTALL_DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) - add_executable(minigzip test/minigzip.c) - target_link_libraries(minigzip zlib) + write_basic_package_version_file( + "${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake" + VERSION "${zlib_VERSION}" + COMPATIBILITY AnyNewerVersion) - if(HAVE_OFF64_T) - add_executable(example64 test/example.c) - target_link_libraries(example64 zlib) - set_target_properties(example64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - add_test(example64 example64) + install(FILES ${zlib_BINARY_DIR}/ZLIBConfig.cmake + ${zlib_BINARY_DIR}/ZLIBConfigVersion.cmake + DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/zlib) + install( + FILES ${ZLIB_PUBLIC_HDRS} + COMPONENT Development + DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}") + install( + FILES zlib.3 + COMPONENT Docs + DESTINATION "${CMAKE_INSTALL_MANDIR}/man3") + install( + FILES LICENSE + doc/algorithm.txt + doc/crc-doc.1.0.pdf + doc/rfc1950.txt + doc/rfc1951.txt + doc/rfc1952.txt + doc/txtvsbin.txt + COMPONENT Docs + DESTINATION "${CMAKE_INSTALL_DOCDIR}/zlib") + install( + FILES ${ZLIB_PC} + COMPONENT Development + DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig") +endif(ZLIB_INSTALL) - add_executable(minigzip64 test/minigzip.c) - target_link_libraries(minigzip64 zlib) - set_target_properties(minigzip64 PROPERTIES COMPILE_FLAGS "-D_FILE_OFFSET_BITS=64") - endif() -endif() +# ============================================================================ +# Tests +# ============================================================================ +if(ZLIB_BUILD_TESTING) + enable_testing() + add_subdirectory(test) +endif(ZLIB_BUILD_TESTING) + +add_subdirectory(contrib) diff --git a/libz/ChangeLog b/libz/ChangeLog index b801a1031..312753eda 100644 --- a/libz/ChangeLog +++ b/libz/ChangeLog @@ -1,6 +1,57 @@ ChangeLog file for zlib +Changes in 1.3.2 (17 Feb 2026) +- Continued rewrite of CMake build [Vollstrecker] +- Various portability improvements +- Various github workflow additions and improvements +- Check for negative lengths in crc32_combine functions +- Copy only the initialized window contents in inflateCopy +- Prevent the use of insecure functions without an explicit request +- Add compressBound_z and deflateBound_z functions for large values +- Use atomics to build inflate fixed tables once +- Add definition of ZLIB_INSECURE to build tests with c89 and c94 +- Add --undefined option to ./configure for UBSan checker +- Copy only the initialized deflate state in deflateCopy +- Zero inflate state on allocation +- Remove untgz from contrib +- Add _z versions of the compress and uncompress functions +- Vectorize the CRC-32 calculation on the s390x +- Set bit 11 of the zip header flags in minizip if UTF-8 +- Update OS/400 support +- Add a test to configure to check for a working compiler +- Check for invalid NULL pointer inputs to zlib operations +- Add --mandir to ./configure to specify manual directory +- Add LICENSE.Info-Zip to contrib/minizip +- Remove vstudio projects in lieu of cmake-generated projects +- Replace strcpy() with memcpy() in contrib/minizip + +Changes in 1.3.1.2 (8 Dec 2025) +- Improve portability to RISC OS +- Permit compiling contrib/minizip/unzip.c with decryption +- Enable build of shared library on AIX +- Make deflateBound() more conservative and handle Z_STREAM_END +- Add zipAlreadyThere() to minizip zip.c to help avoid duplicates +- Make z_off_t 64 bits by default +- Add deflateUsed() function to get the used bits in the last byte +- Avoid out-of-bounds pointer arithmetic in inflateCopy() +- Add Haiku to configure for proper LDSHARED settings +- Add Bazel targets +- Complete rewrite of CMake build [Vollstrecker] +- Clarify the use of errnum in gzerror() +- Note that gzseek() requests are deferred until the next operation +- Note the use of gzungetc() to run a deferred seek while reading +- Fix bug in inflatePrime() for 16-bit ints +- Add a "G" option to force gzip, disabling transparency in gzread() +- Improve the discrimination between trailing garbage and bad gzip +- Allow gzflush() to write empty gzip members +- Remove redundant frees of point list on error in examples/zran.c +- Clarify the use of inflateGetHeader() +- Update links to the RFCs +- Return all available uncompressed data on error in gzread.c +- Support non-blocking devices in the gz* routines +- Various other small improvements + Changes in 1.3.1 (22 Jan 2024) - Reject overflows of zip header fields in minizip - Fix bug in inflateSync() for data held in bit buffer diff --git a/libz/FAQ b/libz/FAQ index 92f5d3e29..95c1a825a 100644 --- a/libz/FAQ +++ b/libz/FAQ @@ -3,8 +3,8 @@ If your question is not there, please check the zlib home page -http://zlib.net/ which may have more recent information. -The latest zlib FAQ is at http://zlib.net/zlib_faq.html +https://zlib.net/ which may have more recent information. +The latest zlib FAQ is at https://zlib.net/zlib_faq.html 1. Is zlib Y2K-compliant? @@ -19,7 +19,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 3. Where can I get a Visual Basic interface to zlib? See - * http://marknelson.us/1997/01/01/zlib-engine/ + * https://zlib.net/nelson/ * win32/DLL_FAQ.txt in the zlib distribution 4. compress() returns Z_BUF_ERROR. @@ -38,7 +38,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html made with more input or output space. A Z_BUF_ERROR may in fact be unavoidable depending on how the functions are used, since it is not possible to tell whether or not there is more output pending when - strm.avail_out returns with zero. See http://zlib.net/zlib_how.html for a + strm.avail_out returns with zero. See https://zlib.net/zlib_how.html for a heavily annotated example. 6. Where's the zlib documentation (man pages, etc.)? @@ -109,8 +109,8 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 16. Can zlib decode Flate data in an Adobe PDF file? - Yes. See http://www.pdflib.com/ . To modify PDF forms, see - http://sourceforge.net/projects/acroformtool/ . + Yes. See https://www.pdflib.com/ . To modify PDF forms, see + https://sourceforge.net/projects/acroformtool/ . 17. Why am I getting this "register_frame_info not found" error on Solaris? @@ -156,6 +156,10 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html library memory allocation routines by default. zlib's *Init* functions allow for the application to provide custom memory allocation routines. + If the non-default BUILDFIXED or DYNAMIC_CRC_TABLE defines are used on a + system without atomics (e.g. pre-C11), then inflate() and crc32() will not + be thread safe. + Of course, you should only operate on any given zlib or gzip stream from a single thread at a time. @@ -235,7 +239,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html As far as we know, no. In fact, that was originally the whole point behind zlib. Look here for some more information: - http://www.gzip.org/#faq11 + https://web.archive.org/web/20180729212847/http://www.gzip.org/#faq11 32. Can zlib work with greater than 4 GB of data? @@ -258,20 +262,20 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html 33. Does zlib have any security vulnerabilities? The only one that we are aware of is potentially in gzprintf(). If zlib is - compiled to use sprintf() or vsprintf(), then there is no protection - against a buffer overflow of an 8K string space (or other value as set by - gzbuffer()), other than the caller of gzprintf() assuring that the output - will not exceed 8K. On the other hand, if zlib is compiled to use - snprintf() or vsnprintf(), which should normally be the case, then there is - no vulnerability. The ./configure script will display warnings if an - insecure variation of sprintf() will be used by gzprintf(). Also the - zlibCompileFlags() function will return information on what variant of - sprintf() is used by gzprintf(). + compiled to use sprintf() or vsprintf(), which requires that ZLIB_INSECURE + be defined, then there is no protection against a buffer overflow of an 8K + string space (or other value as set by gzbuffer()), other than the caller + of gzprintf() assuring that the output will not exceed 8K. On the other + hand, if zlib is compiled to use snprintf() or vsnprintf(), which should + normally be the case, then there is no vulnerability. The ./configure + script will display warnings if an insecure variation of sprintf() will be + used by gzprintf(). Also the zlibCompileFlags() function will return + information on what variant of sprintf() is used by gzprintf(). If you don't have snprintf() or vsnprintf() and would like one, you can - find a portable implementation here: + find a good portable implementation in stb_sprintf.h here: - http://www.ijs.si/software/snprintf/ + https://github.com/nothings/stb Note that you should be using the most recent version of zlib. Versions 1.1.3 and before were subject to a double-free vulnerability, and versions @@ -283,7 +287,7 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html Probably what you want is to use zlib in Java. zlib is already included as part of the Java SDK in the java.util.zip package. If you really want a version of zlib written in the Java language, look on the zlib home - page for links: http://zlib.net/ . + page for links: https://zlib.net/ . 35. I get this or that compiler or source-code scanner warning when I crank it up to maximally-pedantic. Can't you guys write proper code? @@ -314,9 +318,9 @@ The latest zlib FAQ is at http://zlib.net/zlib_faq.html zlib doesn't support encryption. The original PKZIP encryption is very weak and can be broken with freely available programs. To get strong - encryption, use GnuPG, http://www.gnupg.org/ , which already includes zlib + encryption, use GnuPG, https://www.gnupg.org/ , which already includes zlib compression. For PKZIP compatible "encryption", look at - http://www.info-zip.org/ + https://infozip.sourceforge.net/ 39. What's the difference between the "gzip" and "deflate" HTTP 1.1 encodings? diff --git a/libz/INDEX b/libz/INDEX index 2ba064120..ea022d62e 100644 --- a/libz/INDEX +++ b/libz/INDEX @@ -21,12 +21,11 @@ zlib.pc.cmakein zlib.pc template for cmake zlib2ansi perl script to convert source files for C++ compilation amiga/ makefiles for Amiga SAS C -as400/ makefiles for AS/400 doc/ documentation for formats and algorithms msdos/ makefiles for MSDOS -nintendods/ makefile for Nintendo DS old/ makefiles for various architectures and zlib documentation files that have not yet been updated for zlib 1.2.x +os400/ makefiles for OS/400 qnx/ makefiles for QNX watcom/ makefiles for OpenWatcom win32/ makefiles for Windows diff --git a/libz/LICENSE b/libz/LICENSE index ab8ee6f71..b7a69d058 100644 --- a/libz/LICENSE +++ b/libz/LICENSE @@ -1,6 +1,6 @@ Copyright notice: - (C) 1995-2022 Jean-loup Gailly and Mark Adler + (C) 1995-2026 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/libz/MODULE.bazel b/libz/MODULE.bazel new file mode 100644 index 000000000..cb4c13ef3 --- /dev/null +++ b/libz/MODULE.bazel @@ -0,0 +1,9 @@ +module( + name = "zlib", + version = "0.0.0", + compatibility_level = 1, +) + +bazel_dep(name = "platforms", version = "0.0.10") +bazel_dep(name = "rules_cc", version = "0.0.16") +bazel_dep(name = "rules_license", version = "1.0.0") diff --git a/libz/Makefile.in b/libz/Makefile.in index cb8b00a9b..bee83edf3 100644 --- a/libz/Makefile.in +++ b/libz/Makefile.in @@ -1,5 +1,5 @@ # Makefile for zlib -# Copyright (C) 1995-2024 Jean-loup Gailly, Mark Adler +# Copyright (C) 1995-2026 Jean-loup Gailly, Mark Adler # For conditions of distribution and use, see copyright notice in zlib.h # To compile and test, type: @@ -13,6 +13,8 @@ # make install prefix=$HOME CC=cc +GCOV=GCOV +LLVM_GCOV_FLAG=LLMV_GCOV_FLAG CFLAGS=-O #CFLAGS=-O -DMAX_WBITS=14 -DMAX_MEM_LEVEL=7 @@ -25,10 +27,11 @@ LDFLAGS= TEST_LIBS=-L. libz.a LDSHARED=$(CC) CPP=$(CC) -E +VGFMAFLAG= STATICLIB=libz.a SHAREDLIB=libz.so -SHAREDLIBV=libz.so.1.3.1 +SHAREDLIBV=libz.so.1.3.2 SHAREDLIBM=libz.so.1 LIBS=$(STATICLIB) $(SHAREDLIBV) @@ -112,16 +115,16 @@ test64: all64 fi @rm -f tmp64_$$ -infcover.o: $(SRCDIR)test/infcover.c $(SRCDIR)zlib.h zconf.h - $(CC) $(CFLAGS) $(ZINCOUT) -c -o $@ $(SRCDIR)test/infcover.c +infcover.o: $(SRCDIR)test/infcover.c $(SRCDIR)zlib.h zconf.h $(SRCDIR)inflate.h $(SRCDIR)inftrees.h + $(CC) $(CFLAGS) $(ZINCOUT) -c -coverage -o $@ $(SRCDIR)test/infcover.c infcover: infcover.o libz.a - $(CC) $(CFLAGS) -o $@ infcover.o libz.a + $(CC) $(CFLAGS) -coverage -o $@ infcover.o libz.a cover: infcover rm -f *.gcda ${QEMU_RUN} ./infcover - gcov inf*.c + ${GCOV} ${LLVM_GCOV_FLAG} inf*.c -o ./infcover.gcda libz.a: $(OBJS) $(AR) $(ARFLAGS) $@ $(OBJS) @@ -158,6 +161,9 @@ adler32.o: $(SRCDIR)adler32.c crc32.o: $(SRCDIR)crc32.c $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)crc32.c +crc32_vx.o: $(SRCDIR)contrib/crc32vx/crc32_vx.c + $(CC) $(CFLAGS) $(VGFMAFLAG) $(ZINC) -c -o $@ $(SRCDIR)contrib/crc32vx/crc32_vx.c + deflate.o: $(SRCDIR)deflate.c $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)deflate.c @@ -176,7 +182,7 @@ inftrees.o: $(SRCDIR)inftrees.c trees.o: $(SRCDIR)trees.c $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)trees.c -zutil.o: $(SRCDIR)zutil.c +zutil.o: $(SRCDIR)zutil.c $(SRCDIR)gzguts.h $(CC) $(CFLAGS) $(ZINC) -c -o $@ $(SRCDIR)zutil.c compress.o: $(SRCDIR)compress.c @@ -208,6 +214,11 @@ crc32.lo: $(SRCDIR)crc32.c $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/crc32.o $(SRCDIR)crc32.c -@mv objs/crc32.o $@ +crc32_vx.lo: $(SRCDIR)contrib/crc32vx/crc32_vx.c + -@mkdir objs 2>/dev/null || test -d objs + $(CC) $(SFLAGS) $(VGFMAFLAG) $(ZINC) -DPIC -c -o objs/crc32_vx.o $(SRCDIR)contrib/crc32vx/crc32_vx.c + -@mv objs/crc32_vx.o $@ + deflate.lo: $(SRCDIR)deflate.c -@mkdir objs 2>/dev/null || test -d objs $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/deflate.o $(SRCDIR)deflate.c @@ -238,7 +249,7 @@ trees.lo: $(SRCDIR)trees.c $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/trees.o $(SRCDIR)trees.c -@mv objs/trees.o $@ -zutil.lo: $(SRCDIR)zutil.c +zutil.lo: $(SRCDIR)zutil.c $(SRCDIR)gzguts.h -@mkdir objs 2>/dev/null || test -d objs $(CC) $(SFLAGS) $(ZINC) -DPIC -c -o objs/zutil.o $(SRCDIR)zutil.c -@mv objs/zutil.o $@ @@ -274,7 +285,7 @@ gzwrite.lo: $(SRCDIR)gzwrite.c -@mv objs/gzwrite.o $@ -placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a +placebo $(SHAREDLIBV): $(PIC_OBJS) libz.a $(SRCDIR)zlib.map $(LDSHARED) $(SFLAGS) -o $@ $(PIC_OBJS) $(LDSHAREDLIBC) $(LDFLAGS) rm -f $(SHAREDLIB) $(SHAREDLIBM) ln -s $@ $(SHAREDLIB) @@ -349,12 +360,13 @@ docs: zlib.3.pdf zlib.3.pdf: $(SRCDIR)zlib.3 groff -mandoc -f H -T ps $(SRCDIR)zlib.3 | ps2pdf - $@ -zconf.h.cmakein: $(SRCDIR)zconf.h.in - -@ TEMPFILE=zconfh_$$; \ - echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\ - sed -f $$TEMPFILE $(SRCDIR)zconf.h.in > $@ &&\ - touch -r $(SRCDIR)zconf.h.in $@ &&\ - rm $$TEMPFILE +# zconf.h.cmakein: $(SRCDIR)zconf.h.in +# -@ TEMPFILE=zconfh_$$; \ +# echo "/#define ZCONF_H/ a\\\\\n#cmakedefine Z_PREFIX\\\\\n#cmakedefine Z_HAVE_UNISTD_H\n" >> $$TEMPFILE &&\ +# sed -f $$TEMPFILE $(SRCDIR)zconf.h.in > $@ &&\ +# touch -r $(SRCDIR)zconf.h.in $@ &&\ +# rm $$TEMPFILE +# zconf: $(SRCDIR)zconf.h.in cp -p $(SRCDIR)zconf.h.in zconf.h @@ -378,7 +390,7 @@ clean: minizip-clean rm -f contrib/infback9/*.gcda contrib/infback9/*.gcno contrib/infback9/*.gcov maintainer-clean: distclean -distclean: clean zconf zconf.h.cmakein +distclean: clean zconf # zconf.h.cmakein rm -f Makefile zlib.pc configure.log -@rm -f .DS_Store @if [ -f Makefile.in ]; then \ @@ -389,7 +401,8 @@ distclean: clean zconf zconf.h.cmakein tags: etags $(SRCDIR)*.[ch] -adler32.o zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h +adler32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h +zutil.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h gzclose.o gzlib.o gzread.o gzwrite.o: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h compress.o example.o minigzip.o uncompr.o: $(SRCDIR)zlib.h zconf.h crc32.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h @@ -398,8 +411,10 @@ infback.o inflate.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees. inffast.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h inftrees.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h trees.o: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h +crc32_vx.o: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h -adler32.lo zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h +adler32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h +zutil.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h gzclose.lo gzlib.lo gzread.lo gzwrite.lo: $(SRCDIR)zlib.h zconf.h $(SRCDIR)gzguts.h compress.lo example.lo minigzip.lo uncompr.lo: $(SRCDIR)zlib.h zconf.h crc32.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)crc32.h @@ -408,3 +423,4 @@ infback.lo inflate.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftree inffast.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h $(SRCDIR)inflate.h $(SRCDIR)inffast.h inftrees.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)inftrees.h trees.lo: $(SRCDIR)deflate.h $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)trees.h +crc32_vx.lo: $(SRCDIR)zutil.h $(SRCDIR)zlib.h zconf.h $(SRCDIR)contrib/crc32vx/crc32_vx_hooks.h \ No newline at end of file diff --git a/libz/NMAP_MODIFICATIONS b/libz/NMAP_MODIFICATIONS deleted file mode 100644 index aff220089..000000000 --- a/libz/NMAP_MODIFICATIONS +++ /dev/null @@ -1,14 +0,0 @@ -diff --git a/libz/configure b/libz/configure -index b77a8a8..9e8c8ff 100755 ---- a/libz/configure -+++ b/libz/configure -@@ -147,7 +147,8 @@ case "$1" in - *) - echo "unknown option: $1" | tee -a configure.log - echo "$0 --help for help" | tee -a configure.log -- leave 1;; -+ # leave 1;; # Hack for nmap compilation -+ shift;; - esac - done - diff --git a/libz/README b/libz/README index c5f917540..2b1e6f36f 100644 --- a/libz/README +++ b/libz/README @@ -1,10 +1,10 @@ ZLIB DATA COMPRESSION LIBRARY -zlib 1.3.1 is a general purpose data compression library. All the code is -thread safe. The data format used by the zlib library is described by RFCs -(Request for Comments) 1950 to 1952 in the files -http://tools.ietf.org/html/rfc1950 (zlib format), rfc1951 (deflate format) and -rfc1952 (gzip format). +zlib 1.3.2 is a general purpose data compression library. All the code is +thread safe (though see the FAQ for caveats). The data format used by the zlib +library is described by RFCs (Request for Comments) 1950 to 1952 at +https://datatracker.ietf.org/doc/html/rfc1950 (zlib format), rfc1951 (deflate +format) and rfc1952 (gzip format). All functions of the compression library are documented in the file zlib.h (volunteer to write man pages welcome, contact zlib@gzip.org). A usage example @@ -21,17 +21,17 @@ make_vms.com. Questions about zlib should be sent to , or to Gilles Vollant for the Windows DLL version. The zlib home page is -http://zlib.net/ . Before reporting a problem, please check this site to +https://zlib.net/ . Before reporting a problem, please check this site to verify that you have the latest version of zlib; otherwise get the latest version and check whether the problem still exists or not. -PLEASE read the zlib FAQ http://zlib.net/zlib_faq.html before asking for help. +PLEASE read the zlib FAQ https://zlib.net/zlib_faq.html before asking for help. Mark Nelson wrote an article about zlib for the Jan. 1997 issue of Dr. Dobb's Journal; a copy of the article is available at -https://marknelson.us/posts/1997/01/01/zlib-engine.html . +https://zlib.net/nelson/ . -The changes made in version 1.3.1 are documented in the file ChangeLog. +The changes made in version 1.3.2 are documented in the file ChangeLog. Unsupported third party contributions are provided in directory contrib/ . @@ -43,9 +43,9 @@ can be found at https://github.com/pmqs/IO-Compress . A Python interface to zlib written by A.M. Kuchling is available in Python 1.5 and later versions, see -http://docs.python.org/library/zlib.html . +https://docs.python.org/3/library/zlib.html . -zlib is built into tcl: http://wiki.tcl.tk/4610 . +zlib is built into tcl: https://wiki.tcl-lang.org/page/zlib . An experimental package to read and write files in .zip format, written on top of zlib by Gilles Vollant , is available in the @@ -69,9 +69,7 @@ Notes for some targets: - zlib doesn't work on HP-UX 9.05 with some versions of /bin/cc. It works with other compilers. Use "make test" to check your compiler. -- gzdopen is not supported on RISCOS or BEOS. - -- For PalmOs, see http://palmzlib.sourceforge.net/ +- For PalmOs, see https://palmzlib.sourceforge.net/ Acknowledgments: @@ -83,7 +81,7 @@ Acknowledgments: Copyright notice: - (C) 1995-2024 Jean-loup Gailly and Mark Adler + (C) 1995-2026 Jean-loup Gailly and Mark Adler This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages diff --git a/libz/README-cmake.md b/libz/README-cmake.md new file mode 100644 index 000000000..5f2764158 --- /dev/null +++ b/libz/README-cmake.md @@ -0,0 +1,79 @@ +# For building with cmake at least version 3.12 (minizip 3.12) is needed + +In most cases the usual + + cmake -S . -B build -D CMAKE_BUILD_TYPE=Release + +will create everything you need, however if you want something off default you can adjust several options fit your needs. +Every option is list below (excluding the cmake-standard options), they can be set via cmake-gui or on cmdline with + + -D