Full Code of Licenser/simdjson-rs for AI

main 0662a83a4da6 cached
252 files
15.5 MB
4.1M tokens
1910 symbols
1 requests
Copy disabled (too large) Download .txt
Showing preview only (16,438K chars total). Download the full file to get everything.
Repository: Licenser/simdjson-rs
Branch: main
Commit: 0662a83a4da6
Files: 252
Total size: 15.5 MB

Directory structure:
gitextract_0f5b4wwc/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .drone.yml.broken
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── nightly.yml
│       ├── pr-perf.yml
│       ├── quality.yaml
│       └── tests.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── Cargo.toml
├── Contribution.md
├── LICENSE-APACHE
├── LICENSE-MIT
├── Makefile
├── README.md
├── benches/
│   ├── parse.rs
│   └── to_tape.rs
├── codecov.yml
├── data/
│   ├── apache_builds.json
│   ├── canada.json
│   ├── citm_catalog.json
│   ├── crash/
│   │   ├── crash000000.json
│   │   ├── crash000001.json
│   │   ├── crash000002.json
│   │   ├── crash000003.json
│   │   ├── crash000004.json
│   │   ├── crash000005.json
│   │   ├── crash000006.json
│   │   ├── crash000007.json
│   │   ├── crash000008.json
│   │   ├── crash000009.json
│   │   ├── crash000010.json
│   │   ├── crash000011.json
│   │   ├── crash000012.json
│   │   ├── crash000013.json
│   │   ├── crash000014.json
│   │   ├── crash000015.json
│   │   ├── crash000016.json
│   │   ├── crash000017.json
│   │   ├── crash000018.json
│   │   ├── crash000019.json
│   │   ├── crash000020.json
│   │   ├── crash000021.json
│   │   ├── crash000022.json
│   │   ├── crash000023.json
│   │   ├── crash000024.json
│   │   ├── crash000025.json
│   │   ├── crash000026.json
│   │   ├── crash000027.json
│   │   ├── crash000028.json
│   │   ├── crash000029.json
│   │   ├── crash000030.json
│   │   ├── crash000031.json
│   │   ├── crash000032.json
│   │   ├── crash000033.json
│   │   ├── crash000034.json
│   │   ├── crash000035.json
│   │   ├── crash000036.json
│   │   └── crash000037.json
│   ├── event_stacktrace_10kb.json
│   ├── fail/
│   │   ├── fail01_EXCLUDE.json
│   │   ├── fail02.json
│   │   ├── fail03.json
│   │   ├── fail04.json
│   │   ├── fail05.json
│   │   ├── fail06.json
│   │   ├── fail07.json
│   │   ├── fail08.json
│   │   ├── fail09.json
│   │   ├── fail10.json
│   │   ├── fail11.json
│   │   ├── fail12.json
│   │   ├── fail13.json
│   │   ├── fail14.json
│   │   ├── fail15.json
│   │   ├── fail16.json
│   │   ├── fail17.json
│   │   ├── fail18_EXCLUDE.json
│   │   ├── fail19.json
│   │   ├── fail20.json
│   │   ├── fail21.json
│   │   ├── fail22.json
│   │   ├── fail23.json
│   │   ├── fail24.json
│   │   ├── fail25.json
│   │   ├── fail26.json
│   │   ├── fail27.json
│   │   ├── fail28.json
│   │   ├── fail29.json
│   │   ├── fail30.json
│   │   ├── fail31.json
│   │   ├── fail32.json
│   │   ├── fail33.json
│   │   ├── fail34.json
│   │   ├── fail35.json
│   │   ├── fail36.json
│   │   ├── fail37.json
│   │   ├── fail38.json
│   │   ├── fail39_EXCLUDE.json
│   │   ├── fail40_s64boverflow.json
│   │   ├── fail41_toolarge.json
│   │   ├── fail42.json
│   │   ├── fail43.json
│   │   ├── fail44.json
│   │   ├── fail45.json
│   │   ├── fail46.json
│   │   ├── fail47.json
│   │   ├── fail48.json
│   │   ├── fail49.json
│   │   ├── fail50.json
│   │   ├── fail51.json
│   │   ├── fail52.json
│   │   ├── fail53.json
│   │   ├── fail54.json
│   │   ├── fail55.json
│   │   ├── fail56.json
│   │   ├── fail57.json
│   │   ├── fail58.json
│   │   ├── fail59.json
│   │   ├── fail60.json
│   │   ├── fail61.json
│   │   ├── fail62.json
│   │   ├── fail63.json
│   │   ├── fail64.json
│   │   ├── fail65.json
│   │   ├── fail66.json
│   │   ├── fail67.json
│   │   ├── fail68.json
│   │   ├── fail69.json
│   │   ├── fail70.json
│   │   ├── fail71.json
│   │   ├── fail72.json
│   │   ├── fail73.json
│   │   ├── fail74.json
│   │   ├── fail75.json
│   │   ├── fail76.json
│   │   ├── fail77.json
│   │   └── fail78.json
│   ├── github_events.json
│   ├── gsoc-2018.json
│   ├── hdfs_log.json
│   ├── instruments.json
│   ├── log.json
│   ├── marine_ik.json
│   ├── mesh.json
│   ├── mesh.pretty.json
│   ├── numbers.json
│   ├── pass/
│   │   ├── pass01.json
│   │   ├── pass02.json
│   │   ├── pass03.json
│   │   ├── pass04.json
│   │   ├── pass05.json
│   │   ├── pass06.json
│   │   ├── pass07.json
│   │   ├── pass08.json
│   │   ├── pass09.json
│   │   ├── pass10.json
│   │   ├── pass11.json
│   │   ├── pass12.json
│   │   ├── pass13.json
│   │   ├── pass14.json
│   │   ├── pass15.json
│   │   └── pass16.json
│   ├── random.json
│   ├── twitter.json
│   ├── twitterescaped.json
│   └── update-center.json
├── examples/
│   └── perf.rs
├── fuzz/
│   ├── .gitignore
│   ├── Cargo.toml
│   └── fuzz_targets/
│       ├── failing.rs
│       ├── passing.rs
│       └── real.rs
├── fuzz.sh
├── profile.coz
├── src/
│   ├── charutils.rs
│   ├── cow.rs
│   ├── error.rs
│   ├── impls/
│   │   ├── avx2/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── mod.rs
│   │   ├── native/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── neon/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── portable/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── simd128/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   └── sse42/
│   │       ├── deser.rs
│   │       ├── mod.rs
│   │       └── stage1.rs
│   ├── known_key.rs
│   ├── lib.rs
│   ├── macros.rs
│   ├── numberparse/
│   │   ├── approx.rs
│   │   ├── correct/
│   │   │   └── numberconst.rs
│   │   └── correct.rs
│   ├── numberparse.rs
│   ├── portability.rs
│   ├── prelude.rs
│   ├── safer_unchecked.rs
│   ├── serde/
│   │   ├── de/
│   │   │   └── tests.rs
│   │   ├── de.rs
│   │   ├── se/
│   │   │   └── pp.rs
│   │   ├── se.rs
│   │   ├── value/
│   │   │   ├── borrowed/
│   │   │   │   ├── de.rs
│   │   │   │   └── se.rs
│   │   │   ├── borrowed.rs
│   │   │   ├── owned/
│   │   │   │   ├── de.rs
│   │   │   │   └── se.rs
│   │   │   ├── owned.rs
│   │   │   └── shared.rs
│   │   └── value.rs
│   ├── serde.rs
│   ├── stage2.rs
│   ├── stringparse.rs
│   ├── tests/
│   │   ├── impls.rs
│   │   └── serde.rs
│   ├── tests.rs
│   ├── value/
│   │   ├── borrowed/
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   └── serialize.rs
│   │   ├── borrowed.rs
│   │   ├── lazy/
│   │   │   ├── array.rs
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   ├── object.rs
│   │   │   └── trait_impls.rs
│   │   ├── lazy.rs
│   │   ├── owned/
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   └── serialize.rs
│   │   ├── owned.rs
│   │   ├── tape/
│   │   │   ├── array.rs
│   │   │   ├── cmp.rs
│   │   │   ├── object.rs
│   │   │   └── trait_impls.rs
│   │   └── tape.rs
│   └── value.rs
└── tests/
    ├── alloc.rs
    ├── jsonchecker.rs
    ├── ordered_float.rs
    ├── serde_128_bit.rs
    ├── serenity.rs
    └── weird_type.rs

================================================
FILE CONTENTS
================================================

================================================
FILE: .devcontainer/Dockerfile
================================================
#-------------------------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See https://go.microsoft.com/fwlink/?linkid=2090316 for license information.
#-------------------------------------------------------------------------------------------------------------

FROM rust:1

# This Dockerfile adds a non-root user with sudo access. Use the "remoteUser"
# property in devcontainer.json to use it. On Linux, the container user's GID/UIDs
# will be updated to match your local UID/GID (when using the dockerFile property).
# See https://aka.ms/vscode-remote/containers/non-root-user for details.
ARG USERNAME=vscode
ARG USER_UID=1000
ARG USER_GID=$USER_UID

# Avoid warnings by switching to noninteractive
ENV DEBIAN_FRONTEND=noninteractive

# Configure apt and install packages
RUN apt-get update \
    && apt-get -y install --no-install-recommends apt-utils dialog 2>&1 \
    #
    # Verify git, needed tools installed
    && apt-get -y install git iproute2 procps lsb-release \
    #
    # Install lldb, vadimcn.vscode-lldb VSCode extension dependencies
    && apt-get install -y lldb python3-minimal libpython3.7 \
    #
    # Install Rust components
    && rustup update \
    && rustup component add rls rust-analysis rust-src rustfmt clippy \
    #
    # Create a non-root user to use if preferred - see https://aka.ms/vscode-remote/containers/non-root-user.
    && groupadd --gid $USER_GID $USERNAME \
    && useradd -s /bin/bash --uid $USER_UID --gid $USER_GID -m $USERNAME \
    # [Optional] Add sudo support for the non-root user
    && apt-get install -y sudo \
    && echo $USERNAME ALL=\(root\) NOPASSWD:ALL > /etc/sudoers.d/$USERNAME\
    && chmod 0440 /etc/sudoers.d/$USERNAME \
    #
    # Tarpaulin
    && cargo install cargo-tarpaulin \
    #
    # Clean up
    && apt-get autoremove -y \
    && apt-get clean -y \
    && rm -rf /var/lib/apt/lists/*

# Switch back to dialog for any ad-hoc use of apt-get
ENV DEBIAN_FRONTEND=dialog


================================================
FILE: .devcontainer/devcontainer.json
================================================
// For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at
// https://github.com/microsoft/vscode-dev-containers/tree/master/containers/ubuntu-18.04-git
{
	"name": "Ubuntu 18.04 & Git",
	"dockerFile": "Dockerfile",
	// The optional 'runArgs' property can be used to specify additional runtime arguments.
	"runArgs": [
		// Uncomment the line if you will use a ptrace-based debugger like C++, Go, and Rust.
		"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"

		// Uncomment the next line to use a non-root user. On Linux, this will prevent
		// new files getting created as root, but you may need to update the USER_UID
		// and USER_GID in .devcontainer/Dockerfile to match your user if not 1000.
		// "-u", "vscode"
	],

	// Use 'settings' to set *default* container specific settings.json values on container create. 
	// You can edit these settings after create using File > Preferences > Settings > Remote.
	"settings": { 
		"terminal.integrated.shell.linux": "/bin/bash"
	},

	// Uncomment the next line if you want to publish any ports.
	// "appPort": [],

	// Uncomment the next line to run commands after the container is created.
	// "postCreateCommand": "uname -a",

	// Add the IDs of extensions you want installed when the container is created in the array below.
	"extensions": []
}

================================================
FILE: .drone.yml.broken
================================================
name: test-on-arm64
kind: pipeline
type: docker

platform:
  arch: arm64
  os: linux

steps:
  - name: test
    image: rust:1
    environment:
      RUSTFLAGS: "-C target-cpu=native"
      CODECOV_TOKEN:
        from_secret: CODECOV_TOKEN
    commands:
      - rustup update
      - cargo build --verbose --all
      - cargo clippy --verbose --all
      - cargo test --verbose --all
#  - cargo +nightly install cargo-clippy -f
#  - cargo +nightly clippy --verbose --all
#  - cargo +nightly install cargo-tarpaulin -f
#  - cargo +nightly tarpaulin -v --out Xml
#- name: coverage
#  image: plugins/codecov
#  settings:
#    token: $CODECOV_TOKEN
#    files:
#     - '*.xml'


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
- package-ecosystem: cargo
  directory: "/"
  schedule:
    interval: daily
  open-pull-requests-limit: 10
  ignore:
  - dependency-name: beef
    versions:
    - 0.5.0


================================================
FILE: .github/workflows/nightly.yml
================================================
name: Tests - Nightly

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  build-nightly:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macOS-latest
        rustflags:
          - ""
          - "-C target-feature=-avx2"
          - "-C target-feature=-avx2,-pclmulqdq"
          - "-C target-feature=-avx2,-pclmulqdq,-sse4.2"
    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@nightly
        # with:
        #   components: miri

      - name: Run tests (alloc)
        env:
          RUSTFLAGS: ${{ matrix.rustflags }}
        run: cargo test --features alloc

      - name: Run tests
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test

      - name: Run tests (no-default-features)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test

      - name: Run tests (value-no-dup-keys)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features value-no-dup-keys

      - name: Run tests (known-key)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features known-key

      - name: Run tests (128bit)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features 128bit

      - name: Run tests (beef)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features beef

      - name: Run tests (arraybackend)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features arraybackend

      - name: Run tests (approx-number-parsing)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features approx-number-parsing

      - name: Run tests (no-default-features)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --no-default-features

      - name: Run tests (no-default-features, just serde_impl)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --no-default-features --features serde_impl

    # we can't use miri any more, something broke.
    # - name: Run miri
    #   env:
    #     RUSTFLAGS: ${{ matrix.rustflags }}
    #   run: cargo miri test ${{ matrix.features }}


================================================
FILE: .github/workflows/pr-perf.yml
================================================
on: [pull_request]
name: benchmark pull requests
jobs:
  runBenchmark:
    name: run benchmark
    runs-on: ubuntu-latest
    permissions:
      contents: write
      pull-requests: write
      repository-projects: write
    steps:
      - uses: actions/checkout@v3

      - name: Check Rust Version
        run: rustc --version

      - uses: boa-dev/criterion-compare-action@v3 # https://github.com/marketplace/actions/criterion-compare-prs
        env:
          RUSTFLAGS: "-C target-cpu=native"
        with:
          # Optional. Compare only this benchmark target
          benchName: "to_tape"
          features: "bench-all"
          # Needed. The name of the branch to compare with. This default uses the branch which is being pulled against
          branchName: ${{ github.base_ref }}


================================================
FILE: .github/workflows/quality.yaml
================================================
name: Quality

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  clippy_check:
    strategy:
      matrix:
        rustflags:
          - ""
          - "-C target-feature=-avx2"
          - "-C target-feature=-avx2,-pclmulqdq"
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@1.88 # do clippy chekcs with the minimum supported version
        with:
          components: rustfmt, clippy

      - name: Validate cargo format
        run: cargo fmt -- --check

      - name: Run tests
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy

      - name: Run tests (no-default-features)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy

      - name: Run tests (value-no-dup-keys)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features value-no-dup-keys

      - name: Run tests (known-key)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features known-key

      - name: Run tests (128bit)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features 128bit

      - name: Run tests (beef)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features beef

      - name: Run tests (arraybackend)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features arraybackend

      - name: Run tests (approx-number-parsing)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features approx-number-parsing

      - name: Run tests (ordered-float)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo clippy --features ordered-float


================================================
FILE: .github/workflows/tests.yml
================================================
name: Tests

on:
  pull_request:
  push:
    branches:
      - main

jobs:
  test:
    strategy:
      matrix:
        os:
          - ubuntu-latest
          - windows-latest
          - macOS-latest
        rustflags:
          - ""
          - "-C target-feature=-avx2"
          - "-C target-feature=-avx2,-pclmulqdq"
          - "-C target-feature=-avx2,-pclmulqdq,-sse4.2"

    runs-on: ${{ matrix.os }}
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@1.88
        with:
          components: llvm-tools-preview

      - name: Install cargo-llvm-cov
        uses: taiki-e/install-action@cargo-llvm-cov

      - name: Run tests (alloc)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo test --features alloc

      - name: llvm-cov - Clean
        run: cargo llvm-cov clean --workspace

      - name: Run tests
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report

      - name: Run tests (no-default-features)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report

      - name: Run tests (value-no-dup-keys)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features value-no-dup-keys

      - name: Run tests (known-key)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features known-key

      - name: Run tests (128bit)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features 128bit

      - name: Run tests (beef)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features beef

      - name: Run tests (arraybackend)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features arraybackend

      - name: Run tests (approx-number-parsing)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features approx-number-parsing

      - name: Run tests (ordered-float)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --features ordered-float

      - name: Run tests (no-default-features)
        env:
          RUSTFLAGS: "-C target-cpu=native ${{ matrix.rustflags }}"
        run: cargo llvm-cov --no-report --no-default-features

      - name: llvm-cov - Report
        run: cargo llvm-cov report --lcov --output-path lcov.txt

      - name: Generate matrix name
        if: matrix.os == 'ubuntu-latest'
        run: |
          flags="${{ matrix.rustflags }}"
          flags="${flags/-C target-feature=/}"
          flags="${flags//[- ]/}"
          echo "$flags"
          echo "flags=$flags" >> $GITHUB_ENV

      - name: Upload coverage to Codecov
        if: matrix.os == 'ubuntu-latest'
        uses: Wandalen/wretry.action@master
        with:
          action: codecov/codecov-action@v3
          attempt_limit: 6
          attempt_delay: 10000
          with: |
            files: ./lcov.txt
            flags: unittests
            verbose: true

  test-wasm:
    runs-on: ubuntu-latest
    env:
      WASMTIME_BACKTRACE_DETAILS: 1
    steps:
      - uses: actions/checkout@v3

      - uses: dtolnay/rust-toolchain@1.88
        with:
          targets: wasm32-wasip1

      - name: Install wasmtime
        run: cargo install wasmtime-cli

      - name: Run tests
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (no-default-features)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --no-default-features
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (no-inline)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --features no-inline
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (value-no-dup-keys)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --features value-no-dup-keys
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (128bit)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --features 128bit
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (beef)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --features beef
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm

      - name: Run tests (approx-number-parsing)
        run: |
          cargo build --tests --target-dir target --target wasm32-wasip1 --features approx-number-parsing
          wasmtime run target/wasm32-wasip1/debug/deps/simd_json*.wasm


================================================
FILE: .gitignore
================================================
/target*
**/*.rs.bk
Cargo.lock
.DS_Store
proptest-regressions
.baseline
.current
.cargo
.vscode
rust-toolchain


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# The simd-lite Code of Conduct

## Conduct

**Contact**: [opensource@wayfair.com](mailto:oss@licenser.net?subject=simd-lite+moderation)

* We are committed to providing a friendly, safe and welcoming environment for all, regardless of level of experience, gender identity and expression, sexual orientation, disability, personal appearance, body size, race, ethnicity, age, religion, nationality, or other similar characteristic.
* In chats, please avoid using overtly sexual nicknames or other nicknames that might detract from a friendly, safe, and welcoming environment for all.
* Please be kind and courteous. There's no need to be mean or rude.
* Respect that people have differences of opinion and that every design or implementation choice carries a trade-off and numerous costs. There is seldom a right answer.
* Please keep unstructured critique to a minimum. If you have solid ideas you want to experiment with, make a fork and see how it works.
* We will exclude you from interaction if you insult, demean or harass anyone. That is not welcome behavior. We interpret the term "harassment" as including the definition in the [Citizen Code of Conduct](http://citizencodeofconduct.org/); if you have any lack of clarity about what might be included in that concept, please read their definition. In particular, we don't tolerate behavior that excludes people in socially marginalized groups.
* Private harassment is also unacceptable. No matter who you are, if you feel you have been or are being harassed or made uncomfortable by a community member, please contact one of the channel ops or any of the maintainers immediately. Whether you're a regular contributor or a newcomer, we care about making this community a safe place for you and we've got your back.
* Likewise any spamming, trolling, flaming, baiting or other attention-stealing behavior is not welcome.

## Moderation


These are the policies for upholding our community's standards of conduct. If you feel that a thread needs moderation, please contact the maintainers.

1. Remarks that violate the simd-lite standards of conduct, including hateful, hurtful, oppressive, or exclusionary remarks, are not allowed. (Cursing is allowed, but never targeting another user, and never in a hateful manner.)
2. Remarks that moderators find inappropriate, whether listed in the code of conduct or not, are also not allowed.
3. Moderators will first respond to such remarks with a warning.
4. If the warning is unheeded, the user will be "kicked," i.e., kicked out of the communication channel to cool off.
5. If the user comes back and continues to make trouble, they will be banned, i.e., indefinitely excluded.
6. Moderators may choose at their discretion to un-ban the user if it was a first offense and they offer the offended party a genuine apology.
7. If a moderator bans someone and you think it was unjustified, please take it up with that moderator, or with a different moderator, **in private**. Complaints about bans in-channel are not allowed.
8. Moderators are held to a higher standard than other community members. If a moderator creates an inappropriate situation, they should expect less leeway than others.

In the simd-lite community we strive to go the extra step to look out for each other. Don't just aim to be technically unimpeachable, try to be your best self. In particular, avoid flirting with offensive or sensitive issues, particularly if they're off-topic; this all too often leads to unnecessary fights, hurt feelings, and damaged trust; worse, it can drive people away from the community entirely.

And if someone takes issue with something you said or did, resist the urge to be defensive. Just stop doing what it was they complained about and apologize. Even if you feel you were misinterpreted or unfairly accused, chances are good there was something you could've communicated better — remember that it's your responsibility to make your fellow tremolos comfortable. Everyone wants to get along and we are all here first and foremost because we want to talk about cool technology. You will find that people will be eager to assume good intent and forgive as long as you earn their trust.

The enforcement policies listed above apply to all official simd-lite venues; GitHub repositories under simd-lite; and all forums under simd-json.rs. For other projects adopting the simd-lite Code of Conduct, please contact the maintainers of those projects for enforcement. If you wish to use this code of conduct for your own project, consider explicitly mentioning your moderation policy or making a copy with your own moderation policy so as to avoid confusion.

*Adapted from the [Node.js Policy on Trolling](http://blog.izs.me/post/30036893703/policy-on-trolling) as well as the [Contributor Covenant v1.3.0](https://www.contributor-covenant.org/version/1/3/0/).*

## Origins

This code of conduct is derived from the [Tremor Code of Conduct](https://docs.tremor.rs/CodeOfConduct/) which is based on the Rust Language Community code of conduct that [can be found here](https://www.rust-lang.org/conduct.html)

================================================
FILE: Cargo.toml
================================================
[package]
name = "simd-json"
version = "0.17.0"
authors = ["Heinz N. Gies <heinz@licenser.net>", "Sunny Gleason"]
edition = "2024"
exclude = ["data/*", "fuzz/*", "fuzz.sh"]
license = "Apache-2.0 OR MIT"
description = "High performance JSON parser based on a port of simdjson"
repository = "https://github.com/simd-lite/simd-json"
readme = "README.md"
documentation = "https://docs.rs/simd-json"
rust-version = "1.88"

[dependencies]
simdutf8 = { version = "0.1.4", features = ["public_imp", "aarch64_neon"] }

value-trait = { version = "0.12" }
beef = { version = "0.5", optional = true }
halfbrown = "0.4"
# ahash known key
ahash = { version = "0.8", optional = true }

# serde compatibilty
serde = { version = "1", features = ["derive"], optional = true }
serde_json = { version = "1", optional = true }

# perf testing
alloc_counter = { version = "0.0.4", optional = true }
colored = { version = "3.0", optional = true }
getopts = { version = "0.2", optional = true }
jemallocator = { version = "0.5", optional = true }

[target.'cfg(target_arch = "x86_64")'.dependencies]
perfcnt = { version = "0.8", optional = true }

ref-cast = "1.0"

[dev-dependencies]
float-cmp = "0.10"
getopts = "0.2"
core_affinity = { version = "0.8" }


[target.'cfg(not(target_family = "wasm"))'.dev-dependencies]
criterion = { version = "0.8" }
proptest = "1.0"

[lib]
bench = false

[[bench]]
name = "parse"
harness = false

[[bench]]
name = "to_tape"
harness = false

[features]
default = ["swar-number-parsing", "serde_impl", "runtime-detection"]

arraybackend = ["halfbrown/arraybackend"]

# Forces the `owned::Value` and `borrowed::Value` to deduplicate duplicated keys by letting consecutive keys overwrite previous ones. This comes at a
# performance cost. By default duplicate keys will not be overwritten and feeding json objects with duplicated
# keys to either of the `Value`s will result in undefined behavior.
value-no-dup-keys = []

# Support for 128 bit integers
128bit = ["value-trait/128bit"]

# used for enabeling known keys in favour of a slower
# hasher that is not protected against hash collision
# attacks
known-key = ["ahash"]

# use 8 number at once parsing strategy
swar-number-parsing = []

# Uses an approximate float parsing algorithm that is faster
# but does not guarantee round trips for the edges
approx-number-parsing = []

# serde compatibility
serde_impl = ["serde", "serde_json", "halfbrown/serde"]

# for testing allocations
alloc = ["alloc_counter"]

# don't inline code - used for debugging
no-inline = []

# also bench serde in the benchmarks
bench-serde = ["serde_json"]

# use an Eq wrapper for floats
ordered-float = ["value-trait/ordered-float"]

# use branch hints - requires nightly :(
hints = [] # requires nightly

# for perf testing, used by the example
perf = ["perfcnt", "getopts", "colored", "serde_json"]

# for documentation
docsrs = []

# portable simd support (as of rust 1.73 nightly only)
# portable = ["simdutf8/portable"]


# use runtime detection of the CPU features where possible instead of enforcing an instruction set
runtime-detection = ["value-trait/runtime-detection"]

#bench fetures
bench-all = [
    "bench-apache_builds",
    "bench-event_stacktrace_10kb",
    "bench-github_events",
    "bench-canada",
    "bench-citm_catalog",
    "bench-log",
    "bench-twitter",
]
bench-apache_builds = []
bench-event_stacktrace_10kb = []
bench-github_events = []
bench-canada = []
bench-citm_catalog = []
bench-log = []
bench-twitter = []
big-int-as-float = []

[[example]]
name = "perf"

[profile.bench]
codegen-units = 1
lto = true
opt-level = 3


[profile.release]
codegen-units = 1
lto = true
opt-level = 3
panic = "abort"

[lints.rust]
unexpected_cfgs = { level = "allow", check-cfg = [
    # Legacy code
    'cfg(portable)',
    # Tool specific configurations
    'cfg(tarpaulin_include)',
] }


================================================
FILE: Contribution.md
================================================
# Contribution Guidelines for Rust Port of Extremely Fast simdjson JSON Parser with Serde Compatibility

Thank you for your interest in contributing to the Rust port of the simdjson JSON parser with serde compatibility. Your contributions are greatly appreciated. This document outlines the guidelines for contributing to the project to ensure a collaborative and productive development environment.

## Table of Contents

1. Getting Started
2. Code of Conduct
3. How to Contribute
    - Reporting Bugs
    - Adding Features
    - Code Contributions
4. Coding Guidelines
5. Testing
6. License

## Getting Started

Before you begin contributing, make sure you have:

- Rust and Cargo installed on your system.
- To take advantage of simd-json your system needs to be SIMD-capable
- A GitHub account for version control and issue tracking.
- Make sure you are using the newly released version
- Familiarize yourself with the project by reviewing the example in this repository `example` folder and understanding its goals.

## Code of Conduct

Please review our [Code of Conduct](CODE_OF_CONDUCT.md) to understand the expected behavior and conduct within the project's community. We expect respectful and professional interactions from all participants.

## How to Contribute

We welcome contributions in various forms:

### Reporting Bugs

If you discover any bugs, issues, or unexpected behavior in the Rust port, please report them by opening a new issue on the [GitHub Issues](https://github.com/simd-lite/simd-json/issues) page. Make sure to provide detailed information about the bug, including steps to reproduce it.

### Adding Features

If you have ideas for new features or improvements, please discuss them by opening a new issue on the [GitHub Issues](https://github.com/simd-lite/simd-json/issues) section. Engage with the Contributors on new features or improvements and refine your proposal.

### Code Contributions

For code contributions:

1. Fork the project repository on GitHub.
2. Clone your fork locally: `git clone https://github.com/your-username/your-repo.git`
3. Create a new branch for your changes: `git checkout -b feature/your-feature`
4. Write your code, following the Code of Conduct (see [Code of Conduct](#CODE_OF_CONDUCT.md)).
5. Write unit tests for your code (see [Tests](#tests)).
6. You can refer to `data` folder for further information (see [data](#data)) 
7. Push your changes to your fork on GitHub: `git push origin feature/your-feature`
8. Create a Pull Request (PR) in the project repository, providing a clear description of your changes and linking to any relevant issues or discussions.

## Coding Guidelines

To maintain a consistent and readable codebase, please follow these guidelines:

- Adhere to Rust's official style guide and best practices.
- Document your code using comments and provide clear explanations for complex logic.
- Aim for code that is efficient and idiomatic in Rust.
- Ensure your code is compatible with serde for JSON serialization/deserialization.

## Testing

We require comprehensive test coverage to maintain the quality of the codebase. Write unit tests for your code and ensure that existing tests pass. Use continuous integration tools to automatically run tests for various Rust versions.

## License

By contributing to this project, you agree that your contributions will be licensed under Apache License, Version 2.0, and MIT license. Please review the project's `LICENSE` file for more information.

Thank you for considering contributing to the Rust port of the simd-json . Your contributions are essential to the project's success and the Rust community as a whole.


================================================
FILE: LICENSE-APACHE
================================================

                                 Apache License
                           Version 2.0, January 2004
                        http://www.apache.org/licenses/

   TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

   1. Definitions.

      "License" shall mean the terms and conditions for use, reproduction,
      and distribution as defined by Sections 1 through 9 of this document.

      "Licensor" shall mean the copyright owner or entity authorized by
      the copyright owner that is granting the License.

      "Legal Entity" shall mean the union of the acting entity and all
      other entities that control, are controlled by, or are under common
      control with that entity. For the purposes of this definition,
      "control" means (i) the power, direct or indirect, to cause the
      direction or management of such entity, whether by contract or
      otherwise, or (ii) ownership of fifty percent (50%) or more of the
      outstanding shares, or (iii) beneficial ownership of such entity.

      "You" (or "Your") shall mean an individual or Legal Entity
      exercising permissions granted by this License.

      "Source" form shall mean the preferred form for making modifications,
      including but not limited to software source code, documentation
      source, and configuration files.

      "Object" form shall mean any form resulting from mechanical
      transformation or translation of a Source form, including but
      not limited to compiled object code, generated documentation,
      and conversions to other media types.

      "Work" shall mean the work of authorship, whether in Source or
      Object form, made available under the License, as indicated by a
      copyright notice that is included in or attached to the work
      (an example is provided in the Appendix below).

      "Derivative Works" shall mean any work, whether in Source or Object
      form, that is based on (or derived from) the Work and for which the
      editorial revisions, annotations, elaborations, or other modifications
      represent, as a whole, an original work of authorship. For the purposes
      of this License, Derivative Works shall not include works that remain
      separable from, or merely link (or bind by name) to the interfaces of,
      the Work and Derivative Works thereof.

      "Contribution" shall mean any work of authorship, including
      the original version of the Work and any modifications or additions
      to that Work or Derivative Works thereof, that is intentionally
      submitted to Licensor for inclusion in the Work by the copyright owner
      or by an individual or Legal Entity authorized to submit on behalf of
      the copyright owner. For the purposes of this definition, "submitted"
      means any form of electronic, verbal, or written communication sent
      to the Licensor or its representatives, including but not limited to
      communication on electronic mailing lists, source code control systems,
      and issue tracking systems that are managed by, or on behalf of, the
      Licensor for the purpose of discussing and improving the Work, but
      excluding communication that is conspicuously marked or otherwise
      designated in writing by the copyright owner as "Not a Contribution."

      "Contributor" shall mean Licensor and any individual or Legal Entity
      on behalf of whom a Contribution has been received by Licensor and
      subsequently incorporated within the Work.

   2. Grant of Copyright License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      copyright license to reproduce, prepare Derivative Works of,
      publicly display, publicly perform, sublicense, and distribute the
      Work and such Derivative Works in Source or Object form.

   3. Grant of Patent License. Subject to the terms and conditions of
      this License, each Contributor hereby grants to You a perpetual,
      worldwide, non-exclusive, no-charge, royalty-free, irrevocable
      (except as stated in this section) patent license to make, have made,
      use, offer to sell, sell, import, and otherwise transfer the Work,
      where such license applies only to those patent claims licensable
      by such Contributor that are necessarily infringed by their
      Contribution(s) alone or by combination of their Contribution(s)
      with the Work to which such Contribution(s) was submitted. If You
      institute patent litigation against any entity (including a
      cross-claim or counterclaim in a lawsuit) alleging that the Work
      or a Contribution incorporated within the Work constitutes direct
      or contributory patent infringement, then any patent licenses
      granted to You under this License for that Work shall terminate
      as of the date such litigation is filed.

   4. Redistribution. You may reproduce and distribute copies of the
      Work or Derivative Works thereof in any medium, with or without
      modifications, and in Source or Object form, provided that You
      meet the following conditions:

      (a) You must give any other recipients of the Work or
          Derivative Works a copy of this License; and

      (b) You must cause any modified files to carry prominent notices
          stating that You changed the files; and

      (c) You must retain, in the Source form of any Derivative Works
          that You distribute, all copyright, patent, trademark, and
          attribution notices from the Source form of the Work,
          excluding those notices that do not pertain to any part of
          the Derivative Works; and

      (d) If the Work includes a "NOTICE" text file as part of its
          distribution, then any Derivative Works that You distribute must
          include a readable copy of the attribution notices contained
          within such NOTICE file, excluding those notices that do not
          pertain to any part of the Derivative Works, in at least one
          of the following places: within a NOTICE text file distributed
          as part of the Derivative Works; within the Source form or
          documentation, if provided along with the Derivative Works; or,
          within a display generated by the Derivative Works, if and
          wherever such third-party notices normally appear. The contents
          of the NOTICE file are for informational purposes only and
          do not modify the License. You may add Your own attribution
          notices within Derivative Works that You distribute, alongside
          or as an addendum to the NOTICE text from the Work, provided
          that such additional attribution notices cannot be construed
          as modifying the License.

      You may add Your own copyright statement to Your modifications and
      may provide additional or different license terms and conditions
      for use, reproduction, or distribution of Your modifications, or
      for any such Derivative Works as a whole, provided Your use,
      reproduction, and distribution of the Work otherwise complies with
      the conditions stated in this License.

   5. Submission of Contributions. Unless You explicitly state otherwise,
      any Contribution intentionally submitted for inclusion in the Work
      by You to the Licensor shall be under the terms and conditions of
      this License, without any additional terms or conditions.
      Notwithstanding the above, nothing herein shall supersede or modify
      the terms of any separate license agreement you may have executed
      with Licensor regarding such Contributions.

   6. Trademarks. This License does not grant permission to use the trade
      names, trademarks, service marks, or product names of the Licensor,
      except as required for reasonable and customary use in describing the
      origin of the Work and reproducing the content of the NOTICE file.

   7. Disclaimer of Warranty. Unless required by applicable law or
      agreed to in writing, Licensor provides the Work (and each
      Contributor provides its Contributions) on an "AS IS" BASIS,
      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
      implied, including, without limitation, any warranties or conditions
      of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
      PARTICULAR PURPOSE. You are solely responsible for determining the
      appropriateness of using or redistributing the Work and assume any
      risks associated with Your exercise of permissions under this License.

   8. Limitation of Liability. In no event and under no legal theory,
      whether in tort (including negligence), contract, or otherwise,
      unless required by applicable law (such as deliberate and grossly
      negligent acts) or agreed to in writing, shall any Contributor be
      liable to You for damages, including any direct, indirect, special,
      incidental, or consequential damages of any character arising as a
      result of this License or out of the use or inability to use the
      Work (including but not limited to damages for loss of goodwill,
      work stoppage, computer failure or malfunction, or any and all
      other commercial damages or losses), even if such Contributor
      has been advised of the possibility of such damages.

   9. Accepting Warranty or Additional Liability. While redistributing
      the Work or Derivative Works thereof, You may choose to offer,
      and charge a fee for, acceptance of support, warranty, indemnity,
      or other liability obligations and/or rights consistent with this
      License. However, in accepting such obligations, You may act only
      on Your own behalf and on Your sole responsibility, not on behalf
      of any other Contributor, and only if You agree to indemnify,
      defend, and hold each Contributor harmless for any liability
      incurred by, or claims asserted against, such Contributor by reason
      of your accepting any such warranty or additional liability.

   END OF TERMS AND CONDITIONS

   APPENDIX: How to apply the Apache License to your work.

      To apply the Apache License to your work, attach the following
      boilerplate notice, with the fields enclosed by brackets "[]"
      replaced with your own identifying information. (Don't include
      the brackets!)  The text should be enclosed in the appropriate
      comment syntax for the file format. We also recommend that a
      file or class name and description of purpose be included on the
      same "printed page" as the copyright notice for easier
      identification within third-party archives.

   Copyright [yyyy] [name of copyright owner]

   Licensed under the Apache License, Version 2.0 (the "License");
   you may not use this file except in compliance with the License.
   You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.


================================================
FILE: LICENSE-MIT
================================================
MIT License

Copyright (c) [year] [fullname]

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.


================================================
FILE: Makefile
================================================

baseline:
	cargo +nightly run --example perf --features perf --release -- -b
perf:
	cargo +nightly run --example perf --features perf --release
clippy:
	touch src/lib.rs
	cargo clippy
wasmtest:
	cargo clean --target-dir target
	cargo build --tests --target wasm32-wasip1 --target-dir target
	wasmtime run  target/wasm32-wasip1/debug/deps/simd_json*.wasm
	wasmtime run --dir=. target/wasm32-wasip1/debug/deps/jsonchecker*.wasm


================================================
FILE: README.md
================================================
# SIMD JSON for Rust &emsp; [![Build Status]][simd-json.rs] [![Build Status ARM]][drone.io] [![Quality]][simd-json.rs]  [![Latest Version]][crates.io] [![Code Coverage]][coveralls]

[Build Status ARM]: https://cloud.drone.io/api/badges/simd-lite/simd-json/status.svg
[drone.io]: https://cloud.drone.io/simd-lite/simd-json
[Build Status]: https://github.com/simd-lite/simd-json/workflows/Tests/badge.svg
[Quality]: https://github.com/simd-lite/simd-json/workflows/Quality/badge.svg
[simd-json.rs]: https://simd-json.rs
[Latest Version]: https://img.shields.io/crates/v/simd-json.svg
[crates.io]: https://crates.io/crates/simd-json
[Code Coverage]: https://coveralls.io/repos/github/simd-lite/simd-json/badge.svg?branch=main
[coveralls]: https://coveralls.io/github/simd-lite/simd-json?branch=main

**Rust port of extremely fast [simdjson](https://github.com/lemire/simdjson) JSON parser with [Serde][serde] compatibility.**

---

simd-json is a Rust port of the [simdjson c++ library](https://simdjson.org/).
It follows most of the design closely with a few exceptions to make it better
fit into the Rust ecosystem.

## Goals

The goal of the Rust port of simdjson is not to create a one-to-one
copy, but to integrate the principles of the C++ library into
a Rust library that plays well with the Rust ecosystem. As such
we provide both compatibility with Serde as well as parsing to a
DOM to manipulate data.

## Performance

As a rule of thumb this library tries to get as close as possible
to the performance of the C++ implementation (currently tracking 0.2.x, work in progress).
However, in some design decisions—such as parsing to a DOM or a tape—ergonomics is prioritized over
performance. In other places Rust makes it harder to achieve the same level of performance.

To take advantage of this library your system needs to support SIMD instructions. On `x86`, it will
select the best available supported instruction set (`avx2` or `sse4.2`) when the `runtime-detection` feature
is enabled (default). On `aarch64` this library uses the `NEON` instruction set. On `wasm` this library uses 
the `simd128` instruction set when available. When no supported SIMD instructions are found, this library will use a
fallback implementation, but this is significantly slower.

### Allocator
For best performance, we highly suggest using [snmalloc](https://github.com/microsoft/snmalloc), [mimalloc](https://crates.io/crates/mimalloc) or [jemalloc](https://crates.io/crates/jemalloc)
instead of the system default allocator.

## Safety

`simd-json` uses **a lot** of unsafe code.

There are a few reasons for this:

* SIMD intrinsics are inherently unsafe. These uses of unsafe are inescapable in a library such as `simd-json`.
* We work around some performance bottlenecks imposed by safe rust. These are avoidable, but at a performance cost.
  This is a more considered path in `simd-json`.


`simd-json` goes through extra scrutiny for unsafe code. These steps are:

* Unit tests - to test 'the obvious' cases, edge cases, and regression cases
* Structural constructive property based testing - We generate random valid JSON objects to exercise the full `simd-json`
  codebase stochastically. Floats are currently excluded since slightly different parsing algorithms lead to slightly
  different results here. In short "is simd-json correct".
* Data-oriented property-based testing of string-like data - to assert that sequences of legal printable characters
  don't panic or crash the parser (they might and often error so - they are not valid JSON!)
* Destructive Property based testing - make sure that no illegal byte sequences crash the parser in any way
* Fuzzing - fuzz based on upstream & jsonorg simd pass/fail cases

This doesn't ensure complete safety nor is at a bulletproof guarantee, but it does go a long way
to assert that the library is of high production quality and fit for purpose for practical industrial applications.

## Features
Various features can be enabled or disabled to tweak various parts of this library. Any features not mentioned here are
for internal configuration and testing.

### `runtime-detection` (default)

This feature allows selecting the optimal algorithm based on available features during runtime. It has no effect on
non-`x86` platforms. When neither `AVX2` nor `SSE4.2` is supported, it will fall back to a native Rust implementation.

Disabling this feature (with `default-features = false`) **and** setting `RUSTFLAGS="-C target-cpu=native` will result
in better performance but the resulting binary will not be portable across `x86` processors.

### `serde_impl` (default)

Enable [Serde](https://serde.rs) support. This consist of implementing `serde::Serializer` and `serde::Deserializer`,
allowing types that implement `serde::Serialize`/`serde::Deserialize` to be constructed/serialized to 
`BorrowedValue`/`OwnedValue`.
In addition, this provides the same convenience functions that [`serde_json`](https://docs.rs/serde_json/latest/serde_json/) provides.

Disabling this feature (with `default-features = false`) will remove `serde` and `serde_json` from the dependencies.

### `swar-number-parsing` (default)
Enables a parsing method that will parse 8 digits at a time for floats. This is a common pattern but comes at a slight
performance hit if most of the float have less than 8 digits.

### `known-key`

The `known-key` feature changes the hash mechanism for the DOM representation of the underlying JSON object from
`ahash` to `fxhash`. The `ahash` hasher is faster at hashing and provides protection against DOS attacks by forcing
multiple keys into a single hashing bucket. The `fxhash` hasher allows for repeatable hashing results,
which in turn allows memoizing hashes for well known keys and saving time on lookups. In workloads that are heavy on
accessing some well-known keys, this can be a performance advantage.

The `known-key` feature is optional and disabled by default and should be explicitly configured.

### `value-no-dup-keys`

**This flag has no effect on simd-json itself but purely affects the `Value` structs.**

The `value-no-dup-keys` feature flag enables stricter behavior for objects when deserializing into a `Value`. When
enabled, the Value deserializer will remove duplicate keys in a JSON object and only keep the last one. If not set
duplicate keys are considered undefined behavior and Value will not make guarantees on its behavior.

### `big-int-as-float`

The `big-int-as-float` feature flag treats very large integers that won't fit into u64 as f64 floats. This prevents
parsing errors if the JSON you are parsing contains very large integers. Keep in mind that f64 loses some precision when
representing very large numbers.

### `128bit`

Add support for parsing and serializing 128-bit integers. This feature is disabled by default because such large numbers
are rare in the wild and adding the support incurs a performance penalty.

### `beef`

**Enabling this feature can break dependencies in your dependency tree that are using `simd-json`.**

Replace [`std::borrow::Cow`](https://doc.rust-lang.org/std/borrow/enum.Cow.html) with
[`beef::lean::Cow`][beef] This feature is disabled by default, because
it is a breaking change in the API. 

### `ordered-float`

By default the representation of `Floats` used in `borrowed::Value ` and `owned::Value` is simply a value of `f64`. 
This however has the normally-not-a-big-deal side effect of _not_ having these `Value` types be `std::cmp::Eq`. This does,
however, introduce some incompatibilities when offering `simd-json` as a quasi-drop-in replacement for `serde-json`.

So, this feature changes the internal representation of `Floats` to be an `f64` _wrapped by [an Eq-compatible adapter](https://docs.rs/ordered-float/latest/ordered_float/)_.

This probably carries with it some small performance trade-offs, hence its enablement by feature rather than by default.

### `portable`

**Currently disabled**

An highly experimental implementation of the algorithm using `std::simd` and up to 512 byte wide registers.


## Usage

simd-json offers three main entry points for usage:

### Values API

The values API is a set of optimized DOM objects that allow parsed
JSON to JSON data that has no known variable structure. `simd-json`
has two versions of this:

**Borrowed Values**

```rust
use simd_json;
let mut d = br#"{"some": ["key", "value", 2]}"#.to_vec();
let v: simd_json::BorrowedValue = simd_json::to_borrowed_value(&mut d).unwrap();
```

**Owned Values**

```rust
use simd_json;
let mut d = br#"{"some": ["key", "value", 2]}"#.to_vec();
let v: simd_json::OwnedValue = simd_json::to_owned_value(&mut d).unwrap();
```

### Serde Compatible API

```rust ignore
use simd_json;
use serde_json::Value;

let mut d = br#"{"some": ["key", "value", 2]}"#.to_vec();
let v: Value = simd_json::serde::from_slice(&mut d).unwrap();
```

### Tape API

```rust
use simd_json;

let mut d = br#"{"the_answer": 42}"#.to_vec();
let tape = simd_json::to_tape(&mut d).unwrap();
let value = tape.as_value();
// try_get treats value like an object, returns Ok(Some(_)) because the key is found
assert!(value.try_get("the_answer").unwrap().unwrap() == 42);
// returns Ok(None) because the key is not found but value is an object
assert!(value.try_get("does_not_exist").unwrap() == None);
// try_get_idx treats value like an array, returns Err(_) because value is not an array
assert!(value.try_get_idx(0).is_err());
```

## Other interesting things

There are also bindings for upstream `simdjson` available [here](https://github.com/SunDoge/simdjson-rust)

## License

simd-json itself is licensed under either of

* [Apache License, Version 2.0, (LICENSE-APACHE)](http://www.apache.org/licenses/LICENSE-2.0)
* [MIT license (LICENSE-MIT)](http://opensource.org/licenses/MIT)

at your option.

However it ports a lot of code from [simdjson](https://github.com/lemire/simdjson) so their work and copyright on that should also be respected.

The [Serde][serde] integration is based on `serde-json` so their copyright should as well be respected.

[serde]: https://serde.rs
[beef]: https://docs.rs/beef/latest/beef/lean/type.Cow.html

### All Thanks To Our Contributors:
<a href="https://github.com/simd-lite/simd-json/graphs/contributors">
  <img alt="GitHub profile pictures of all contributors to simd-json" src="https://contrib.rocks/image?repo=simd-lite/simd-json" />
</a>


================================================
FILE: benches/parse.rs
================================================
#[macro_use]
extern crate criterion;

use core::time::Duration;

#[cfg(feature = "jemallocator")]
#[global_allocator]
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;

#[cfg(feature = "bench-serde")]
use serde_json;

use criterion::{BatchSize, Criterion, Throughput, criterion_group};
use simd_json::Buffers;

use std::fs::File;
use std::io::Read;

fn to_borrowed_value(data: &mut [u8]) {
    simd_json::to_borrowed_value(data).unwrap();
}

fn to_borrowed_value_with_buffers(data: &mut [u8], buffers: &mut Buffers) {
    simd_json::to_borrowed_value_with_buffers(data, buffers).unwrap();
}

fn to_owned_value(data: &mut [u8]) {
    simd_json::to_owned_value(data).unwrap();
}

#[cfg(feature = "bench-serde")]
fn serde_from_slice(data: &[u8]) {
    let _: serde_json::Value = serde_json::from_slice(data).unwrap();
}

macro_rules! bench_file {
    ($name:ident) => {
        fn $name(c: &mut Criterion) {
            let core_ids = core_affinity::get_core_ids().unwrap();
            core_affinity::set_for_current(core_ids[0]);

            let mut vec = Vec::new();
            File::open(concat!("data/", stringify!($name), ".json"))
                .unwrap()
                .read_to_end(&mut vec)
                .unwrap();

            let mut group = c.benchmark_group(stringify!($name));
            group.throughput(Throughput::Bytes(vec.len() as u64));
            group
                .warm_up_time(Duration::from_secs(1))
                .measurement_time(Duration::from_secs(20));

            let mut buffers = Buffers::default();

            group.bench_with_input("simd_json::to_borrowed_value", &vec, |b, data| {
                b.iter_batched(
                    || data.clone(),
                    |mut bytes| to_borrowed_value(&mut bytes),
                    BatchSize::SmallInput,
                )
            });

            group.bench_with_input(
                "simd_json::to_borrowed_value_with_buffers",
                &vec,
                |b, data| {
                    b.iter_batched(
                        || data.clone(),
                        |mut bytes| to_borrowed_value_with_buffers(&mut bytes, &mut buffers),
                        BatchSize::SmallInput,
                    )
                },
            );

            group.bench_with_input("simd_json::to_owned_value", &vec, |b, data| {
                b.iter_batched(
                    || data.clone(),
                    |mut bytes| to_owned_value(&mut bytes),
                    BatchSize::SmallInput,
                )
            });

            #[cfg(feature = "bench-serde")]
            group.bench_with_input("serde_json::from_slice", &vec, |b, data| {
                b.iter_batched(
                    || data,
                    |bytes| serde_from_slice(&bytes),
                    BatchSize::SmallInput,
                )
            });
        }
    };
}

bench_file!(apache_builds);
bench_file!(event_stacktrace_10kb);
bench_file!(github_events);
bench_file!(canada);
bench_file!(citm_catalog);
bench_file!(log);
bench_file!(twitter);

criterion_group!(
    benches,
    apache_builds,
    event_stacktrace_10kb,
    github_events,
    canada,
    citm_catalog,
    log,
    twitter
);
criterion_main!(benches);


================================================
FILE: benches/to_tape.rs
================================================
#[macro_use]
extern crate criterion;

#[cfg(feature = "jemallocator")]
#[global_allocator]
static ALLOC: jemallocator::Jemalloc = jemallocator::Jemalloc;

#[cfg(feature = "bench-serde")]
use serde_json;

use criterion::{Criterion, criterion_group};

#[cfg(feature = "bench-serde")]
fn serde_from_slice(data: &[u8]) {
    let _: serde_json::Value = serde_json::from_slice(data).unwrap();
}

#[allow(unused_macros)]
macro_rules! bench_file {
    ($name:ident) => {
        fn $name(c: &mut Criterion) {
            use core::time::Duration;
            use criterion::{BatchSize, Throughput};
            use simd_json::Buffers;
            use std::fs::File;
            use std::io::Read;
            let core_ids = core_affinity::get_core_ids().unwrap();
            core_affinity::set_for_current(core_ids[0]);

            let mut vec = Vec::new();
            File::open(concat!("data/", stringify!($name), ".json"))
                .unwrap()
                .read_to_end(&mut vec)
                .unwrap();

            let mut group = c.benchmark_group(stringify!($name));
            group.throughput(Throughput::Bytes(vec.len() as u64));
            group
                .warm_up_time(Duration::from_secs(1))
                .measurement_time(Duration::from_secs(20));
            let mut buffers = Buffers::default();

            // group.bench_with_input("simd_json::to_tape", &vec, |b, data| {
            //     b.iter_batched(
            //         || data.clone(),
            //         |mut bytes| {
            //             simd_json::to_tape(&mut bytes).unwrap();
            //         },
            //         BatchSize::SmallInput,
            //     )
            // });
            group.bench_with_input("simd_json::to_tape_with_buffers", &vec, |b, data| {
                b.iter_batched(
                    || data.clone(),
                    |mut bytes| {
                        simd_json::to_tape_with_buffers(&mut bytes, &mut buffers).unwrap();
                    },
                    BatchSize::SmallInput,
                )
            });
        }
    };
}

#[allow(unused_macros)]
macro_rules! bench_file_skip {
    ($name:ident) => {
        fn $name(_c: &mut Criterion) {}
    };
}

#[cfg(feature = "bench-apache_builds")]
bench_file!(apache_builds);
#[cfg(not(feature = "bench-apache_builds"))]
bench_file_skip!(apache_builds);

#[cfg(feature = "bench-event_stacktrace_10kb")]
bench_file!(event_stacktrace_10kb);
#[cfg(not(feature = "bench-event_stacktrace_10kb"))]
bench_file_skip!(event_stacktrace_10kb);

#[cfg(feature = "bench-github_events")]
bench_file!(github_events);
#[cfg(not(feature = "bench-github_events"))]
bench_file_skip!(github_events);

#[cfg(feature = "bench-canada")]
bench_file!(canada);
#[cfg(not(feature = "bench-canada"))]
bench_file_skip!(canada);

#[cfg(feature = "bench-citm_catalog")]
bench_file!(citm_catalog);
#[cfg(not(feature = "bench-citm_catalog"))]
bench_file_skip!(citm_catalog);

#[cfg(feature = "bench-log")]
bench_file!(log);
#[cfg(not(feature = "bench-log"))]
bench_file_skip!(log);

#[cfg(feature = "bench-twitter")]
bench_file!(twitter);
#[cfg(not(feature = "bench-twitter"))]
bench_file_skip!(twitter);

criterion_group!(
    benches,
    apache_builds,
    event_stacktrace_10kb,
    github_events,
    canada,
    citm_catalog,
    log,
    twitter
);
criterion_main!(benches);


================================================
FILE: codecov.yml
================================================
ignore:
  - "src/neon/**"  # We currently can't run coverage on arm so we're excluding it
  - "examples/*" # examples
  - "benches/*" # examples
  - "fuzz/*" # fuzz testing


================================================
FILE: data/apache_builds.json
================================================
{
  "assignedLabels" : [
    {
      
    }
  ],
  "mode" : "EXCLUSIVE",
  "nodeDescription" : "the master Jenkins node",
  "nodeName" : "",
  "numExecutors" : 0,
  "description" : "<a href=\"http://www.apache.org/\"><img src=\"https://www.apache.org/images/asf_logo_wide.gif\"></img></a>\r\n<p>\r\nThis is a public build and test server for <a href=\"http://projects.apache.org/\">projects</a> of the\r\n<a href=\"http://www.apache.org/\">Apache Software Foundation</a>. All times on this server are UTC.\r\n</p>\r\n<p>\r\nSee the <a href=\"http://wiki.apache.org/general/Hudson\">Jenkins wiki page</a> for more information\r\nabout this service.\r\n</p>",
  "jobs" : [
    {
      "name" : "Abdera-trunk",
      "url" : "https://builds.apache.org/job/Abdera-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Abdera2-trunk",
      "url" : "https://builds.apache.org/job/Abdera2-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Accumulo-1.3.x",
      "url" : "https://builds.apache.org/job/Accumulo-1.3.x/",
      "color" : "blue"
    },
    {
      "name" : "Accumulo-1.4.x",
      "url" : "https://builds.apache.org/job/Accumulo-1.4.x/",
      "color" : "blue"
    },
    {
      "name" : "Accumulo-Trunk",
      "url" : "https://builds.apache.org/job/Accumulo-Trunk/",
      "color" : "blue"
    },
    {
      "name" : "ACE-trunk",
      "url" : "https://builds.apache.org/job/ACE-trunk/",
      "color" : "yellow"
    },
    {
      "name" : "ActiveMQ",
      "url" : "https://builds.apache.org/job/ActiveMQ/",
      "color" : "aborted_anime"
    },
    {
      "name" : "ActiveMQ Protocol Buffer",
      "url" : "https://builds.apache.org/job/ActiveMQ%20Protocol%20Buffer/",
      "color" : "red"
    },
    {
      "name" : "ActiveMQ-Apollo",
      "url" : "https://builds.apache.org/job/ActiveMQ-Apollo/",
      "color" : "yellow"
    },
    {
      "name" : "ActiveMQ-Apollo-Deploy",
      "url" : "https://builds.apache.org/job/ActiveMQ-Apollo-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "ActiveMQ-Java7",
      "url" : "https://builds.apache.org/job/ActiveMQ-Java7/",
      "color" : "yellow"
    },
    {
      "name" : "ActiveMQ-SysTest-Trunk",
      "url" : "https://builds.apache.org/job/ActiveMQ-SysTest-Trunk/",
      "color" : "red"
    },
    {
      "name" : "ActiveMQ-Trunk-Deploy",
      "url" : "https://builds.apache.org/job/ActiveMQ-Trunk-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "Amber",
      "url" : "https://builds.apache.org/job/Amber/",
      "color" : "blue"
    },
    {
      "name" : "Amber-OAuth-2.0",
      "url" : "https://builds.apache.org/job/Amber-OAuth-2.0/",
      "color" : "blue"
    },
    {
      "name" : "Amber-OAuth-2.0-windows",
      "url" : "https://builds.apache.org/job/Amber-OAuth-2.0-windows/",
      "color" : "blue"
    },
    {
      "name" : "Ant-Build-Matrix",
      "url" : "https://builds.apache.org/job/Ant-Build-Matrix/",
      "color" : "yellow"
    },
    {
      "name" : "Ant_BuildFromPOMs",
      "url" : "https://builds.apache.org/job/Ant_BuildFromPOMs/",
      "color" : "red"
    },
    {
      "name" : "Ant_Nightly",
      "url" : "https://builds.apache.org/job/Ant_Nightly/",
      "color" : "red"
    },
    {
      "name" : "Any23-trunk",
      "url" : "https://builds.apache.org/job/Any23-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Apache Airavata",
      "url" : "https://builds.apache.org/job/Apache%20Airavata/",
      "color" : "red"
    },
    {
      "name" : "Apache Wicket 1.4.x",
      "url" : "https://builds.apache.org/job/Apache%20Wicket%201.4.x/",
      "color" : "blue"
    },
    {
      "name" : "Apache Wicket 1.5.x",
      "url" : "https://builds.apache.org/job/Apache%20Wicket%201.5.x/",
      "color" : "red"
    },
    {
      "name" : "Apache Wicket 6.0.x",
      "url" : "https://builds.apache.org/job/Apache%20Wicket%206.0.x/",
      "color" : "blue"
    },
    {
      "name" : "apache-deltacloud-core",
      "url" : "https://builds.apache.org/job/apache-deltacloud-core/",
      "color" : "disabled"
    },
    {
      "name" : "archetypes",
      "url" : "https://builds.apache.org/job/archetypes/",
      "color" : "blue"
    },
    {
      "name" : "archiva-1.3.x",
      "url" : "https://builds.apache.org/job/archiva-1.3.x/",
      "color" : "red"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6/",
      "color" : "blue"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6-empty-repo",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-empty-repo/",
      "color" : "yellow"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6-web-it-js",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-web-it-js/",
      "color" : "yellow"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6-windows",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-windows/",
      "color" : "red"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6-with-it-macos",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-with-it-macos/",
      "color" : "disabled"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.6-with-web-it-js-windows",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.6-with-web-it-js-windows/",
      "color" : "red"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.7",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.7/",
      "color" : "yellow"
    },
    {
      "name" : "archiva-all-maven-3.x-jdk-1.7-web-it-js",
      "url" : "https://builds.apache.org/job/archiva-all-maven-3.x-jdk-1.7-web-it-js/",
      "color" : "red"
    },
    {
      "name" : "archiva-parent",
      "url" : "https://builds.apache.org/job/archiva-parent/",
      "color" : "blue"
    },
    {
      "name" : "Aries",
      "url" : "https://builds.apache.org/job/Aries/",
      "color" : "blue"
    },
    {
      "name" : "Aries - Deploy",
      "url" : "https://builds.apache.org/job/Aries%20-%20Deploy/",
      "color" : "red"
    },
    {
      "name" : "AriesWithSnapshotDependencies",
      "url" : "https://builds.apache.org/job/AriesWithSnapshotDependencies/",
      "color" : "red"
    },
    {
      "name" : "ASF Parent Pom",
      "url" : "https://builds.apache.org/job/ASF%20Parent%20Pom/",
      "color" : "blue"
    },
    {
      "name" : "AsyncWeb",
      "url" : "https://builds.apache.org/job/AsyncWeb/",
      "color" : "blue"
    },
    {
      "name" : "AVRO-python",
      "url" : "https://builds.apache.org/job/AVRO-python/",
      "color" : "blue"
    },
    {
      "name" : "AvroJava",
      "url" : "https://builds.apache.org/job/AvroJava/",
      "color" : "blue"
    },
    {
      "name" : "AWF",
      "url" : "https://builds.apache.org/job/AWF/",
      "color" : "blue"
    },
    {
      "name" : "axis-trunk",
      "url" : "https://builds.apache.org/job/axis-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Axis2",
      "url" : "https://builds.apache.org/job/Axis2/",
      "color" : "blue"
    },
    {
      "name" : "axis2-1.5",
      "url" : "https://builds.apache.org/job/axis2-1.5/",
      "color" : "blue"
    },
    {
      "name" : "axis2-1.6",
      "url" : "https://builds.apache.org/job/axis2-1.6/",
      "color" : "blue"
    },
    {
      "name" : "axis2-transports-trunk",
      "url" : "https://builds.apache.org/job/axis2-transports-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Axis2-trunk-java-1.6",
      "url" : "https://builds.apache.org/job/Axis2-trunk-java-1.6/",
      "color" : "blue"
    },
    {
      "name" : "Bigtop-tickle-slaves",
      "url" : "https://builds.apache.org/job/Bigtop-tickle-slaves/",
      "color" : "blue"
    },
    {
      "name" : "Bigtop-trunk",
      "url" : "https://builds.apache.org/job/Bigtop-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Bigtop-trunk-iTest",
      "url" : "https://builds.apache.org/job/Bigtop-trunk-iTest/",
      "color" : "blue"
    },
    {
      "name" : "Bigtop-trunk-test-execution",
      "url" : "https://builds.apache.org/job/Bigtop-trunk-test-execution/",
      "color" : "blue"
    },
    {
      "name" : "Bigtop-trunk-testartifacts",
      "url" : "https://builds.apache.org/job/Bigtop-trunk-testartifacts/",
      "color" : "blue"
    },
    {
      "name" : "Blur-master-jdk6",
      "url" : "https://builds.apache.org/job/Blur-master-jdk6/",
      "color" : "yellow"
    },
    {
      "name" : "Blur-master-jdk7",
      "url" : "https://builds.apache.org/job/Blur-master-jdk7/",
      "color" : "red"
    },
    {
      "name" : "bookkeeper-debug",
      "url" : "https://builds.apache.org/job/bookkeeper-debug/",
      "color" : "red"
    },
    {
      "name" : "bookkeeper-trunk",
      "url" : "https://builds.apache.org/job/bookkeeper-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "bookkeeper-trunk-find-patches-available",
      "url" : "https://builds.apache.org/job/bookkeeper-trunk-find-patches-available/",
      "color" : "blue"
    },
    {
      "name" : "bookkeeper-trunk-precommit-build",
      "url" : "https://builds.apache.org/job/bookkeeper-trunk-precommit-build/",
      "color" : "red"
    },
    {
      "name" : "bookkeeper-trunk2",
      "url" : "https://builds.apache.org/job/bookkeeper-trunk2/",
      "color" : "blue"
    },
    {
      "name" : "Buildr-ci-build-jruby-win32",
      "url" : "https://builds.apache.org/job/Buildr-ci-build-jruby-win32/",
      "color" : "red"
    },
    {
      "name" : "Buildr-ci-matrix",
      "url" : "https://builds.apache.org/job/Buildr-ci-matrix/",
      "color" : "red"
    },
    {
      "name" : "Buildr-ci-windows-matrix",
      "url" : "https://builds.apache.org/job/Buildr-ci-windows-matrix/",
      "color" : "disabled"
    },
    {
      "name" : "Buildr-metrics-build",
      "url" : "https://builds.apache.org/job/Buildr-metrics-build/",
      "color" : "blue"
    },
    {
      "name" : "Buildr-omnibus-build",
      "url" : "https://builds.apache.org/job/Buildr-omnibus-build/",
      "color" : "blue"
    },
    {
      "name" : "Buildr-website-build",
      "url" : "https://builds.apache.org/job/Buildr-website-build/",
      "color" : "blue"
    },
    {
      "name" : "BVal-trunk",
      "url" : "https://builds.apache.org/job/BVal-trunk/",
      "color" : "blue"
    },
    {
      "name" : "BVal-trunk-linux-tck-deploy",
      "url" : "https://builds.apache.org/job/BVal-trunk-linux-tck-deploy/",
      "color" : "disabled"
    },
    {
      "name" : "Cactus",
      "url" : "https://builds.apache.org/job/Cactus/",
      "color" : "red"
    },
    {
      "name" : "Camel-2.10.x",
      "url" : "https://builds.apache.org/job/Camel-2.10.x/",
      "color" : "red"
    },
    {
      "name" : "Camel-2.7.x",
      "url" : "https://builds.apache.org/job/Camel-2.7.x/",
      "color" : "disabled"
    },
    {
      "name" : "Camel-2.8.x",
      "url" : "https://builds.apache.org/job/Camel-2.8.x/",
      "color" : "disabled"
    },
    {
      "name" : "Camel-2.9.x",
      "url" : "https://builds.apache.org/job/Camel-2.9.x/",
      "color" : "blue"
    },
    {
      "name" : "Camel.2.10.x.fulltest",
      "url" : "https://builds.apache.org/job/Camel.2.10.x.fulltest/",
      "color" : "red"
    },
    {
      "name" : "Camel.2.7.x.fulltest",
      "url" : "https://builds.apache.org/job/Camel.2.7.x.fulltest/",
      "color" : "disabled"
    },
    {
      "name" : "Camel.2.8.x.fulltest",
      "url" : "https://builds.apache.org/job/Camel.2.8.x.fulltest/",
      "color" : "disabled"
    },
    {
      "name" : "Camel.2.9.x.fulltest",
      "url" : "https://builds.apache.org/job/Camel.2.9.x.fulltest/",
      "color" : "aborted"
    },
    {
      "name" : "Camel.trunk.fulltest",
      "url" : "https://builds.apache.org/job/Camel.trunk.fulltest/",
      "color" : "yellow"
    },
    {
      "name" : "Camel.trunk.fulltest.java7",
      "url" : "https://builds.apache.org/job/Camel.trunk.fulltest.java7/",
      "color" : "yellow_anime"
    },
    {
      "name" : "Camel.trunk.fulltest.spring3.0",
      "url" : "https://builds.apache.org/job/Camel.trunk.fulltest.spring3.0/",
      "color" : "disabled"
    },
    {
      "name" : "Camel.trunk.fulltest.windows",
      "url" : "https://builds.apache.org/job/Camel.trunk.fulltest.windows/",
      "color" : "disabled"
    },
    {
      "name" : "Camel.trunk.notest",
      "url" : "https://builds.apache.org/job/Camel.trunk.notest/",
      "color" : "blue"
    },
    {
      "name" : "Cayenne-30",
      "url" : "https://builds.apache.org/job/Cayenne-30/",
      "color" : "red"
    },
    {
      "name" : "Cayenne-31",
      "url" : "https://builds.apache.org/job/Cayenne-31/",
      "color" : "red"
    },
    {
      "name" : "Cayenne-doc",
      "url" : "https://builds.apache.org/job/Cayenne-doc/",
      "color" : "blue"
    },
    {
      "name" : "Cayenne-doc30",
      "url" : "https://builds.apache.org/job/Cayenne-doc30/",
      "color" : "blue"
    },
    {
      "name" : "Cayenne-trunk",
      "url" : "https://builds.apache.org/job/Cayenne-trunk/",
      "color" : "red"
    },
    {
      "name" : "central-indexer-test",
      "url" : "https://builds.apache.org/job/central-indexer-test/",
      "color" : "red"
    },
    {
      "name" : "Chemistry - DotCMIS",
      "url" : "https://builds.apache.org/job/Chemistry%20-%20DotCMIS/",
      "color" : "blue"
    },
    {
      "name" : "Chemistry - OpenCMIS - install",
      "url" : "https://builds.apache.org/job/Chemistry%20-%20OpenCMIS%20-%20install/",
      "color" : "blue"
    },
    {
      "name" : "Chemistry - OpenCMIS - javadoc",
      "url" : "https://builds.apache.org/job/Chemistry%20-%20OpenCMIS%20-%20javadoc/",
      "color" : "blue"
    },
    {
      "name" : "Chemistry - OpenCMIS - Release Profile",
      "url" : "https://builds.apache.org/job/Chemistry%20-%20OpenCMIS%20-%20Release%20Profile/",
      "color" : "disabled"
    },
    {
      "name" : "Chemistry - OpenCMIS - Workbench",
      "url" : "https://builds.apache.org/job/Chemistry%20-%20OpenCMIS%20-%20Workbench/",
      "color" : "blue"
    },
    {
      "name" : "Chemistry-Phyton-cmislib-doc",
      "url" : "https://builds.apache.org/job/Chemistry-Phyton-cmislib-doc/",
      "color" : "blue"
    },
    {
      "name" : "Chukwa-release",
      "url" : "https://builds.apache.org/job/Chukwa-release/",
      "color" : "grey"
    },
    {
      "name" : "Chukwa-trunk",
      "url" : "https://builds.apache.org/job/Chukwa-trunk/",
      "color" : "blue"
    },
    {
      "name" : "clerezza-scala-1.6",
      "url" : "https://builds.apache.org/job/clerezza-scala-1.6/",
      "color" : "disabled"
    },
    {
      "name" : "clerezza-site",
      "url" : "https://builds.apache.org/job/clerezza-site/",
      "color" : "blue"
    },
    {
      "name" : "clerezza-trunk-1.6",
      "url" : "https://builds.apache.org/job/clerezza-trunk-1.6/",
      "color" : "blue"
    },
    {
      "name" : "Click",
      "url" : "https://builds.apache.org/job/Click/",
      "color" : "blue"
    },
    {
      "name" : "cloudstack-api_refactor",
      "url" : "https://builds.apache.org/job/cloudstack-api_refactor/",
      "color" : "blue"
    },
    {
      "name" : "cloudstack-docs-master-adminguide",
      "url" : "https://builds.apache.org/job/cloudstack-docs-master-adminguide/",
      "color" : "red"
    },
    {
      "name" : "cloudstack-javelin",
      "url" : "https://builds.apache.org/job/cloudstack-javelin/",
      "color" : "blue"
    },
    {
      "name" : "cloudstack-marvin",
      "url" : "https://builds.apache.org/job/cloudstack-marvin/",
      "color" : "blue"
    },
    {
      "name" : "cloudstack-master-maven",
      "url" : "https://builds.apache.org/job/cloudstack-master-maven/",
      "color" : "blue"
    },
    {
      "name" : "cloudstack-rat-master",
      "url" : "https://builds.apache.org/job/cloudstack-rat-master/",
      "color" : "blue"
    },
    {
      "name" : "Cocoon 3.0",
      "url" : "https://builds.apache.org/job/Cocoon%203.0/",
      "color" : "blue"
    },
    {
      "name" : "CODI (add-ons)",
      "url" : "https://builds.apache.org/job/CODI%20(add-ons)/",
      "color" : "disabled"
    },
    {
      "name" : "CODI (deploy)",
      "url" : "https://builds.apache.org/job/CODI%20(deploy)/",
      "color" : "blue"
    },
    {
      "name" : "CODI (nightly)",
      "url" : "https://builds.apache.org/job/CODI%20(nightly)/",
      "color" : "blue"
    },
    {
      "name" : "codi-apache-extras",
      "url" : "https://builds.apache.org/job/codi-apache-extras/",
      "color" : "disabled"
    },
    {
      "name" : "codi-apache-extras-addons",
      "url" : "https://builds.apache.org/job/codi-apache-extras-addons/",
      "color" : "disabled"
    },
    {
      "name" : "codi-apache-extras-test",
      "url" : "https://builds.apache.org/job/codi-apache-extras-test/",
      "color" : "aborted"
    },
    {
      "name" : "codi-mirror",
      "url" : "https://builds.apache.org/job/codi-mirror/",
      "color" : "blue"
    },
    {
      "name" : "CODI-test",
      "url" : "https://builds.apache.org/job/CODI-test/",
      "color" : "blue"
    },
    {
      "name" : "CODI-u1test",
      "url" : "https://builds.apache.org/job/CODI-u1test/",
      "color" : "disabled"
    },
    {
      "name" : "Commons",
      "url" : "https://builds.apache.org/job/Commons/",
      "color" : "yellow"
    },
    {
      "name" : "Commons FileUpload",
      "url" : "https://builds.apache.org/job/Commons%20FileUpload/",
      "color" : "blue"
    },
    {
      "name" : "commons-collections",
      "url" : "https://builds.apache.org/job/commons-collections/",
      "color" : "red"
    },
    {
      "name" : "commons-vfs-trunk",
      "url" : "https://builds.apache.org/job/commons-vfs-trunk/",
      "color" : "red"
    },
    {
      "name" : "CommonsAnt",
      "url" : "https://builds.apache.org/job/CommonsAnt/",
      "color" : "blue"
    },
    {
      "name" : "core-integration-testing-maven-3",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3/",
      "color" : "red_anime"
    },
    {
      "name" : "core-integration-testing-maven-3-embedded",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-embedded/",
      "color" : "red_anime"
    },
    {
      "name" : "core-integration-testing-maven-3-jdk-1.6",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-jdk-1.6/",
      "color" : "blue"
    },
    {
      "name" : "core-integration-testing-maven-3-jdk-1.6-log4j2",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-jdk-1.6-log4j2/",
      "color" : "blue"
    },
    {
      "name" : "core-integration-testing-maven-3-jdk-1.7",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-jdk-1.7/",
      "color" : "red"
    },
    {
      "name" : "core-integration-testing-maven-3-osx",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-osx/",
      "color" : "disabled"
    },
    {
      "name" : "core-integration-testing-maven-3-solaris",
      "url" : "https://builds.apache.org/job/core-integration-testing-maven-3-solaris/",
      "color" : "red"
    },
    {
      "name" : "core-it-maven-3-win",
      "url" : "https://builds.apache.org/job/core-it-maven-3-win/",
      "color" : "red"
    },
    {
      "name" : "Crunch-master",
      "url" : "https://builds.apache.org/job/Crunch-master/",
      "color" : "blue"
    },
    {
      "name" : "Crunch-master-integration",
      "url" : "https://builds.apache.org/job/Crunch-master-integration/",
      "color" : "blue"
    },
    {
      "name" : "ctakes-trunk-compiletest",
      "url" : "https://builds.apache.org/job/ctakes-trunk-compiletest/",
      "color" : "blue"
    },
    {
      "name" : "ctakes-trunk-package",
      "url" : "https://builds.apache.org/job/ctakes-trunk-package/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.2-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.2-deploy/",
      "color" : "blue"
    },
    {
      "name" : "CXF-2.2.x-JDK15",
      "url" : "https://builds.apache.org/job/CXF-2.2.x-JDK15/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-2.3-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.3-deploy/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.3.x",
      "url" : "https://builds.apache.org/job/CXF-2.3.x/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-2.4-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.4-deploy/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.4.x",
      "url" : "https://builds.apache.org/job/CXF-2.4.x/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.5-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.5-deploy/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.5.x",
      "url" : "https://builds.apache.org/job/CXF-2.5.x/",
      "color" : "blue"
    },
    {
      "name" : "CXF-2.6-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.6-deploy/",
      "color" : "blue"
    },
    {
      "name" : "CXF-2.6.x",
      "url" : "https://builds.apache.org/job/CXF-2.6.x/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-2.7-deploy",
      "url" : "https://builds.apache.org/job/CXF-2.7-deploy/",
      "color" : "red"
    },
    {
      "name" : "CXF-2.7.x",
      "url" : "https://builds.apache.org/job/CXF-2.7.x/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-build-tools",
      "url" : "https://builds.apache.org/job/CXF-build-tools/",
      "color" : "blue"
    },
    {
      "name" : "CXF-DOSGi",
      "url" : "https://builds.apache.org/job/CXF-DOSGi/",
      "color" : "blue"
    },
    {
      "name" : "CXF-DOSGi-deploy",
      "url" : "https://builds.apache.org/job/CXF-DOSGi-deploy/",
      "color" : "red"
    },
    {
      "name" : "CXF-Fediz",
      "url" : "https://builds.apache.org/job/CXF-Fediz/",
      "color" : "blue"
    },
    {
      "name" : "CXF-trunk-deploy",
      "url" : "https://builds.apache.org/job/CXF-trunk-deploy/",
      "color" : "blue"
    },
    {
      "name" : "CXF-Trunk-IBM-JDK16",
      "url" : "https://builds.apache.org/job/CXF-Trunk-IBM-JDK16/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-Trunk-JDK16",
      "url" : "https://builds.apache.org/job/CXF-Trunk-JDK16/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-Trunk-JDK17",
      "url" : "https://builds.apache.org/job/CXF-Trunk-JDK17/",
      "color" : "blue"
    },
    {
      "name" : "CXF-trunk-windows",
      "url" : "https://builds.apache.org/job/CXF-trunk-windows/",
      "color" : "yellow"
    },
    {
      "name" : "CXF-xjc-utils",
      "url" : "https://builds.apache.org/job/CXF-xjc-utils/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Deploy",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Deploy/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Examples",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Examples/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB (nightly)",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%20(nightly)/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.1",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.1/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.2",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.2/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.3",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.3/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.4",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.4/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.4 (JDK 1.7)",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.4%20(JDK%201.7)/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.5",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.5/",
      "color" : "yellow"
    },
    {
      "name" : "DeltaSpike OWB 1.1.6",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.6/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.7",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.7/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike OWB 1.1.8-SNAPSHOT",
      "url" : "https://builds.apache.org/job/DeltaSpike%20OWB%201.1.8-SNAPSHOT/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike RAT-Check",
      "url" : "https://builds.apache.org/job/DeltaSpike%20RAT-Check/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike TomEE v1",
      "url" : "https://builds.apache.org/job/DeltaSpike%20TomEE%20v1/",
      "color" : "disabled"
    },
    {
      "name" : "DeltaSpike Weld (nightly)",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%20(nightly)/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.10",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.10/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.3",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.3/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.3.SP1",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.3.SP1/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.4",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.4/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.5",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.5/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.5.AS71",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.5.AS71/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.6",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.6/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.7",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.7/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.8",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.8/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.9",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.9/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.1.9 (JDK 1.7)",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.1.9%20(JDK%201.7)/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 1.2.0-SNAPSHOT",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%201.2.0-SNAPSHOT/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike Weld 2.0.0 Beta1",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%202.0.0%20Beta1/",
      "color" : "yellow"
    },
    {
      "name" : "DeltaSpike Weld 2.0.0 Beta2",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%202.0.0%20Beta2/",
      "color" : "yellow"
    },
    {
      "name" : "DeltaSpike Weld 2.0.0-SNAPSHOT",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%202.0.0-SNAPSHOT/",
      "color" : "yellow"
    },
    {
      "name" : "DeltaSpike Weld 2.0.0.Alpha2",
      "url" : "https://builds.apache.org/job/DeltaSpike%20Weld%202.0.0.Alpha2/",
      "color" : "yellow"
    },
    {
      "name" : "DeltaSpike_Control_Build",
      "url" : "https://builds.apache.org/job/DeltaSpike_Control_Build/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike_TomEE",
      "url" : "https://builds.apache.org/job/DeltaSpike_TomEE/",
      "color" : "blue"
    },
    {
      "name" : "DeltaSpike_TomEE_latest",
      "url" : "https://builds.apache.org/job/DeltaSpike_TomEE_latest/",
      "color" : "red"
    },
    {
      "name" : "Derby-10.9-derbyall",
      "url" : "https://builds.apache.org/job/Derby-10.9-derbyall/",
      "color" : "blue"
    },
    {
      "name" : "Derby-10.9-suites.All",
      "url" : "https://builds.apache.org/job/Derby-10.9-suites.All/",
      "color" : "blue"
    },
    {
      "name" : "Derby-branch-10.5",
      "url" : "https://builds.apache.org/job/Derby-branch-10.5/",
      "color" : "blue"
    },
    {
      "name" : "Derby-branch-10.6",
      "url" : "https://builds.apache.org/job/Derby-branch-10.6/",
      "color" : "blue"
    },
    {
      "name" : "Derby-branch-10.7",
      "url" : "https://builds.apache.org/job/Derby-branch-10.7/",
      "color" : "blue"
    },
    {
      "name" : "Derby-branch-10.8",
      "url" : "https://builds.apache.org/job/Derby-branch-10.8/",
      "color" : "blue"
    },
    {
      "name" : "Derby-branch-10.9",
      "url" : "https://builds.apache.org/job/Derby-branch-10.9/",
      "color" : "blue"
    },
    {
      "name" : "Derby-docs",
      "url" : "https://builds.apache.org/job/Derby-docs/",
      "color" : "blue"
    },
    {
      "name" : "Derby-trunk",
      "url" : "https://builds.apache.org/job/Derby-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Derby-trunk-suites.All-ARM",
      "url" : "https://builds.apache.org/job/Derby-trunk-suites.All-ARM/",
      "color" : "yellow"
    },
    {
      "name" : "Derby-trunk_clover",
      "url" : "https://builds.apache.org/job/Derby-trunk_clover/",
      "color" : "disabled"
    },
    {
      "name" : "Derby-trunk_suites.All",
      "url" : "https://builds.apache.org/job/Derby-trunk_suites.All/",
      "color" : "disabled"
    },
    {
      "name" : "dir-apacheds-jdbm-jdk16-ubuntu-deploy",
      "url" : "https://builds.apache.org/job/dir-apacheds-jdbm-jdk16-ubuntu-deploy/",
      "color" : "blue"
    },
    {
      "name" : "dir-apacheds-jdbm-jdk16-win",
      "url" : "https://builds.apache.org/job/dir-apacheds-jdbm-jdk16-win/",
      "color" : "blue"
    },
    {
      "name" : "dir-apacheds-jdk16-ubuntu-deploy",
      "url" : "https://builds.apache.org/job/dir-apacheds-jdk16-ubuntu-deploy/",
      "color" : "blue"
    },
    {
      "name" : "dir-apacheds-jdk16-ubuntu-installers",
      "url" : "https://builds.apache.org/job/dir-apacheds-jdk16-ubuntu-installers/",
      "color" : "blue"
    },
    {
      "name" : "dir-apacheds-jdk16-win",
      "url" : "https://builds.apache.org/job/dir-apacheds-jdk16-win/",
      "color" : "yellow"
    },
    {
      "name" : "dir-apacheds-manuals",
      "url" : "https://builds.apache.org/job/dir-apacheds-manuals/",
      "color" : "blue"
    },
    {
      "name" : "dir-api-manuals",
      "url" : "https://builds.apache.org/job/dir-api-manuals/",
      "color" : "blue"
    },
    {
      "name" : "dir-checkstyle-jdk16-deploy-site",
      "url" : "https://builds.apache.org/job/dir-checkstyle-jdk16-deploy-site/",
      "color" : "blue"
    },
    {
      "name" : "dir-groovyldap-jdk15-deploy-site",
      "url" : "https://builds.apache.org/job/dir-groovyldap-jdk15-deploy-site/",
      "color" : "blue"
    },
    {
      "name" : "dir-junit-addons-jdk15-deploy-site",
      "url" : "https://builds.apache.org/job/dir-junit-addons-jdk15-deploy-site/",
      "color" : "blue"
    },
    {
      "name" : "dir-project-jdk15-deploy",
      "url" : "https://builds.apache.org/job/dir-project-jdk15-deploy/",
      "color" : "blue"
    },
    {
      "name" : "dir-shared-jdk16-ubuntu-deploy",
      "url" : "https://builds.apache.org/job/dir-shared-jdk16-ubuntu-deploy/",
      "color" : "blue"
    },
    {
      "name" : "dir-shared-jdk16-win",
      "url" : "https://builds.apache.org/job/dir-shared-jdk16-win/",
      "color" : "blue"
    },
    {
      "name" : "dir-skins-jdk15-deploy-site",
      "url" : "https://builds.apache.org/job/dir-skins-jdk15-deploy-site/",
      "color" : "blue"
    },
    {
      "name" : "dir-studio-jdk16-ubuntu-applications",
      "url" : "https://builds.apache.org/job/dir-studio-jdk16-ubuntu-applications/",
      "color" : "blue"
    },
    {
      "name" : "dir-studio-jdk16-ubuntu-deploy",
      "url" : "https://builds.apache.org/job/dir-studio-jdk16-ubuntu-deploy/",
      "color" : "blue"
    },
    {
      "name" : "dir-studio-jdk16-win",
      "url" : "https://builds.apache.org/job/dir-studio-jdk16-win/",
      "color" : "blue"
    },
    {
      "name" : "dir-studio-manuals",
      "url" : "https://builds.apache.org/job/dir-studio-manuals/",
      "color" : "disabled"
    },
    {
      "name" : "dir-studio-maven-plugin-jdk15-deploy-site",
      "url" : "https://builds.apache.org/job/dir-studio-maven-plugin-jdk15-deploy-site/",
      "color" : "red"
    },
    {
      "name" : "directmemory-parent",
      "url" : "https://builds.apache.org/job/directmemory-parent/",
      "color" : "blue"
    },
    {
      "name" : "directmemory-trunk",
      "url" : "https://builds.apache.org/job/directmemory-trunk/",
      "color" : "blue"
    },
    {
      "name" : "directmemory-windows",
      "url" : "https://builds.apache.org/job/directmemory-windows/",
      "color" : "blue"
    },
    {
      "name" : "doxia",
      "url" : "https://builds.apache.org/job/doxia/",
      "color" : "blue"
    },
    {
      "name" : "doxia-eclipse-editor",
      "url" : "https://builds.apache.org/job/doxia-eclipse-editor/",
      "color" : "blue"
    },
    {
      "name" : "doxia-sitetools",
      "url" : "https://builds.apache.org/job/doxia-sitetools/",
      "color" : "blue"
    },
    {
      "name" : "doxia-tools",
      "url" : "https://builds.apache.org/job/doxia-tools/",
      "color" : "blue"
    },
    {
      "name" : "Drill-Physical-Plan",
      "url" : "https://builds.apache.org/job/Drill-Physical-Plan/",
      "color" : "blue"
    },
    {
      "name" : "EasyAnt",
      "url" : "https://builds.apache.org/job/EasyAnt/",
      "color" : "blue"
    },
    {
      "name" : "Empire-db multios",
      "url" : "https://builds.apache.org/job/Empire-db%20multios/",
      "color" : "blue"
    },
    {
      "name" : "Empire-db reports",
      "url" : "https://builds.apache.org/job/Empire-db%20reports/",
      "color" : "blue"
    },
    {
      "name" : "Empire-db snapshot",
      "url" : "https://builds.apache.org/job/Empire-db%20snapshot/",
      "color" : "blue"
    },
    {
      "name" : "ESME",
      "url" : "https://builds.apache.org/job/ESME/",
      "color" : "yellow"
    },
    {
      "name" : "etch-trunk-linux-x86",
      "url" : "https://builds.apache.org/job/etch-trunk-linux-x86/",
      "color" : "blue"
    },
    {
      "name" : "etch-trunk-linux-x86-experimental",
      "url" : "https://builds.apache.org/job/etch-trunk-linux-x86-experimental/",
      "color" : "red"
    },
    {
      "name" : "etch-trunk-windows-x86",
      "url" : "https://builds.apache.org/job/etch-trunk-windows-x86/",
      "color" : "red"
    },
    {
      "name" : "etch-trunk-windows-x86-experimental",
      "url" : "https://builds.apache.org/job/etch-trunk-windows-x86-experimental/",
      "color" : "blue"
    },
    {
      "name" : "ExtVal for JSF 1.2 (deploy)",
      "url" : "https://builds.apache.org/job/ExtVal%20for%20JSF%201.2%20(deploy)/",
      "color" : "blue"
    },
    {
      "name" : "ExtVal for JSF 1.2 (nightly)",
      "url" : "https://builds.apache.org/job/ExtVal%20for%20JSF%201.2%20(nightly)/",
      "color" : "blue"
    },
    {
      "name" : "ExtVal for JSF 2.0 (deploy)",
      "url" : "https://builds.apache.org/job/ExtVal%20for%20JSF%202.0%20(deploy)/",
      "color" : "blue"
    },
    {
      "name" : "ExtVal for JSF 2.0 (nightly)",
      "url" : "https://builds.apache.org/job/ExtVal%20for%20JSF%202.0%20(nightly)/",
      "color" : "blue"
    },
    {
      "name" : "Felix iPOJO API",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20API/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Arch",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Arch/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Arch-Gogo",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Arch-Gogo/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO EventAdmin Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20EventAdmin%20Handler/",
      "color" : "blue"
    },
    {
      "name" : "Felix iPOJO Extender Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Extender%20Handler/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO JMX Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20JMX%20Handler/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Junit4OSGi",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Junit4OSGi/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Manipulator",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Manipulator/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Metadata",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Metadata/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Runtime",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Runtime/",
      "color" : "blue"
    },
    {
      "name" : "Felix iPOJO Temporal Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Temporal%20Handler/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Tests",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Tests/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Transaction Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Transaction%20Handler/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Webconsole",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Webconsole/",
      "color" : "aborted"
    },
    {
      "name" : "Felix iPOJO Whiteboard Handler",
      "url" : "https://builds.apache.org/job/Felix%20iPOJO%20Whiteboard%20Handler/",
      "color" : "aborted"
    },
    {
      "name" : "Felix-FileInstall",
      "url" : "https://builds.apache.org/job/Felix-FileInstall/",
      "color" : "blue"
    },
    {
      "name" : "Felix-Gogo",
      "url" : "https://builds.apache.org/job/Felix-Gogo/",
      "color" : "blue"
    },
    {
      "name" : "Felix-WebConsole",
      "url" : "https://builds.apache.org/job/Felix-WebConsole/",
      "color" : "red"
    },
    {
      "name" : "Flex_SDK_build",
      "url" : "https://builds.apache.org/job/Flex_SDK_build/",
      "color" : "blue"
    },
    {
      "name" : "Flex_SDK_checkin_tests",
      "url" : "https://builds.apache.org/job/Flex_SDK_checkin_tests/",
      "color" : "blue"
    },
    {
      "name" : "flume-0.9",
      "url" : "https://builds.apache.org/job/flume-0.9/",
      "color" : "red"
    },
    {
      "name" : "flume-1.3.0",
      "url" : "https://builds.apache.org/job/flume-1.3.0/",
      "color" : "red"
    },
    {
      "name" : "flume-1.4.0",
      "url" : "https://builds.apache.org/job/flume-1.4.0/",
      "color" : "red"
    },
    {
      "name" : "flume-trunk",
      "url" : "https://builds.apache.org/job/flume-trunk/",
      "color" : "blue"
    },
    {
      "name" : "FontBox-trunk",
      "url" : "https://builds.apache.org/job/FontBox-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "ftpserver-1.0.x-jdk1.5-solaris",
      "url" : "https://builds.apache.org/job/ftpserver-1.0.x-jdk1.5-solaris/",
      "color" : "aborted"
    },
    {
      "name" : "ftpserver-1.0.x-jdk1.5-ubuntu",
      "url" : "https://builds.apache.org/job/ftpserver-1.0.x-jdk1.5-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.5-ibm-ubuntu",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.5-ibm-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.5-solaris",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.5-solaris/",
      "color" : "aborted"
    },
    {
      "name" : "ftpserver-trunk-jdk1.5-ubuntu",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.5-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-freebsd",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-freebsd/",
      "color" : "disabled"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-ibm-ubuntu",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-ibm-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-osx",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-osx/",
      "color" : "disabled"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-solaris",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-solaris/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-ubuntu",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "ftpserver-trunk-jdk1.6-windows",
      "url" : "https://builds.apache.org/job/ftpserver-trunk-jdk1.6-windows/",
      "color" : "blue"
    },
    {
      "name" : "Giraph-trunk-Commit",
      "url" : "https://builds.apache.org/job/Giraph-trunk-Commit/",
      "color" : "red"
    },
    {
      "name" : "giraph-trunk-hadoop-0.20.203",
      "url" : "https://builds.apache.org/job/giraph-trunk-hadoop-0.20.203/",
      "color" : "red"
    },
    {
      "name" : "giraph-trunk-hadoop-0.23",
      "url" : "https://builds.apache.org/job/giraph-trunk-hadoop-0.23/",
      "color" : "blue"
    },
    {
      "name" : "giraph-trunk-hadoop-1.0",
      "url" : "https://builds.apache.org/job/giraph-trunk-hadoop-1.0/",
      "color" : "blue"
    },
    {
      "name" : "giraph-trunk-hadoop-trunk",
      "url" : "https://builds.apache.org/job/giraph-trunk-hadoop-trunk/",
      "color" : "red"
    },
    {
      "name" : "giraph-trunk-non-secure",
      "url" : "https://builds.apache.org/job/giraph-trunk-non-secure/",
      "color" : "blue"
    },
    {
      "name" : "gora-trunk",
      "url" : "https://builds.apache.org/job/gora-trunk/",
      "color" : "blue"
    },
    {
      "name" : "gora-trunk-ant",
      "url" : "https://builds.apache.org/job/gora-trunk-ant/",
      "color" : "disabled"
    },
    {
      "name" : "goraamazon_branch",
      "url" : "https://builds.apache.org/job/goraamazon_branch/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-0.20-security",
      "url" : "https://builds.apache.org/job/Hadoop-0.20-security/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-0.20.203-Build",
      "url" : "https://builds.apache.org/job/Hadoop-0.20.203-Build/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-1-Build",
      "url" : "https://builds.apache.org/job/Hadoop-1-Build/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-1-Code-Coverage",
      "url" : "https://builds.apache.org/job/Hadoop-1-Code-Coverage/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-1-win",
      "url" : "https://builds.apache.org/job/Hadoop-1-win/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-1.0-Build",
      "url" : "https://builds.apache.org/job/Hadoop-1.0-Build/",
      "color" : "blue"
    },
    {
      "name" : "Hadoop-Common-0.23-Build",
      "url" : "https://builds.apache.org/job/Hadoop-Common-0.23-Build/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Common-0.23-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-Common-0.23-Commit/",
      "color" : "blue"
    },
    {
      "name" : "Hadoop-Common-trunk",
      "url" : "https://builds.apache.org/job/Hadoop-Common-trunk/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Hdfs-0.23-Build",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-0.23-Build/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Hdfs-0.23-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-0.23-Commit/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Hdfs-22-branch",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-22-branch/",
      "color" : "blue"
    },
    {
      "name" : "Hadoop-Hdfs-HAbranch-build",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-HAbranch-build/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Hdfs-NIFbranch-build",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-NIFbranch-build/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Hdfs-Snapshots-Branch-build",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-Snapshots-Branch-build/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Hdfs-trunk",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-trunk/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Hdfs-trunk-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-Hdfs-trunk-Commit/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Mapreduce-0.23-Build",
      "url" : "https://builds.apache.org/job/Hadoop-Mapreduce-0.23-Build/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Mapreduce-0.23-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-Mapreduce-0.23-Commit/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-Mapreduce-22-branch",
      "url" : "https://builds.apache.org/job/Hadoop-Mapreduce-22-branch/",
      "color" : "blue"
    },
    {
      "name" : "Hadoop-Mapreduce-trunk",
      "url" : "https://builds.apache.org/job/Hadoop-Mapreduce-trunk/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-Mapreduce-trunk-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-Mapreduce-trunk-Commit/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-MR-279-Build",
      "url" : "https://builds.apache.org/job/Hadoop-MR-279-Build/",
      "color" : "disabled"
    },
    {
      "name" : "Hadoop-trunk",
      "url" : "https://builds.apache.org/job/Hadoop-trunk/",
      "color" : "aborted"
    },
    {
      "name" : "Hadoop-trunk-ARM",
      "url" : "https://builds.apache.org/job/Hadoop-trunk-ARM/",
      "color" : "red"
    },
    {
      "name" : "Hadoop-trunk-Commit",
      "url" : "https://builds.apache.org/job/Hadoop-trunk-Commit/",
      "color" : "blue"
    },
    {
      "name" : "Hadoop-Yarn-trunk",
      "url" : "https://builds.apache.org/job/Hadoop-Yarn-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Hama trunk",
      "url" : "https://builds.apache.org/job/Hama%20trunk/",
      "color" : "red"
    },
    {
      "name" : "Hama-Nightly",
      "url" : "https://builds.apache.org/job/Hama-Nightly/",
      "color" : "red"
    },
    {
      "name" : "Hama-Patch",
      "url" : "https://builds.apache.org/job/Hama-Patch/",
      "color" : "red"
    },
    {
      "name" : "Hama-Patch-Admin",
      "url" : "https://builds.apache.org/job/Hama-Patch-Admin/",
      "color" : "red"
    },
    {
      "name" : "hbase-0.90",
      "url" : "https://builds.apache.org/job/hbase-0.90/",
      "color" : "red"
    },
    {
      "name" : "HBase-0.92",
      "url" : "https://builds.apache.org/job/HBase-0.92/",
      "color" : "red"
    },
    {
      "name" : "HBase-0.92-security",
      "url" : "https://builds.apache.org/job/HBase-0.92-security/",
      "color" : "red"
    },
    {
      "name" : "HBase-0.94",
      "url" : "https://builds.apache.org/job/HBase-0.94/",
      "color" : "red"
    },
    {
      "name" : "HBase-0.94-deploy",
      "url" : "https://builds.apache.org/job/HBase-0.94-deploy/",
      "color" : "blue"
    },
    {
      "name" : "HBase-0.94-security",
      "url" : "https://builds.apache.org/job/HBase-0.94-security/",
      "color" : "blue"
    },
    {
      "name" : "HBase-0.94-security-on-Hadoop-23",
      "url" : "https://builds.apache.org/job/HBase-0.94-security-on-Hadoop-23/",
      "color" : "red"
    },
    {
      "name" : "HBase-TRUNK",
      "url" : "https://builds.apache.org/job/HBase-TRUNK/",
      "color" : "red"
    },
    {
      "name" : "HBase-TRUNK-on-Hadoop-2.0.0",
      "url" : "https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-2.0.0/",
      "color" : "red"
    },
    {
      "name" : "HBase-TRUNK-on-Hadoop-23",
      "url" : "https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-23/",
      "color" : "disabled"
    },
    {
      "name" : "HBase-TRUNK-security",
      "url" : "https://builds.apache.org/job/HBase-TRUNK-security/",
      "color" : "disabled"
    },
    {
      "name" : "Hcatalog-0.2-build",
      "url" : "https://builds.apache.org/job/Hcatalog-0.2-build/",
      "color" : "disabled"
    },
    {
      "name" : "Hcatalog-0.3-build",
      "url" : "https://builds.apache.org/job/Hcatalog-0.3-build/",
      "color" : "disabled"
    },
    {
      "name" : "Hcatalog-0.4-build",
      "url" : "https://builds.apache.org/job/Hcatalog-0.4-build/",
      "color" : "blue"
    },
    {
      "name" : "Hcatalog-trunk-build",
      "url" : "https://builds.apache.org/job/Hcatalog-trunk-build/",
      "color" : "red"
    },
    {
      "name" : "helix",
      "url" : "https://builds.apache.org/job/helix/",
      "color" : "blue"
    },
    {
      "name" : "helix-1.7",
      "url" : "https://builds.apache.org/job/helix-1.7/",
      "color" : "red_anime"
    },
    {
      "name" : "Hive-0.10.0-SNAPSHOT-h0.20.1",
      "url" : "https://builds.apache.org/job/Hive-0.10.0-SNAPSHOT-h0.20.1/",
      "color" : "aborted"
    },
    {
      "name" : "Hive-0.9.1-SNAPSHOT-h0.21",
      "url" : "https://builds.apache.org/job/Hive-0.9.1-SNAPSHOT-h0.21/",
      "color" : "aborted"
    },
    {
      "name" : "Hive-0.9.1-SNAPSHOT-h0.21-keepgoing=false",
      "url" : "https://builds.apache.org/job/Hive-0.9.1-SNAPSHOT-h0.21-keepgoing=false/",
      "color" : "disabled"
    },
    {
      "name" : "Hive-trunk-h0.21",
      "url" : "https://builds.apache.org/job/Hive-trunk-h0.21/",
      "color" : "red_anime"
    },
    {
      "name" : "hive-trunk-hadoop1",
      "url" : "https://builds.apache.org/job/hive-trunk-hadoop1/",
      "color" : "aborted"
    },
    {
      "name" : "Hive-trunk-hadoop2",
      "url" : "https://builds.apache.org/job/Hive-trunk-hadoop2/",
      "color" : "red_anime"
    },
    {
      "name" : "HttpComponents AsyncClient",
      "url" : "https://builds.apache.org/job/HttpComponents%20AsyncClient/",
      "color" : "blue"
    },
    {
      "name" : "HttpComponents Client",
      "url" : "https://builds.apache.org/job/HttpComponents%20Client/",
      "color" : "blue"
    },
    {
      "name" : "HttpComponents Client (4.2.x)",
      "url" : "https://builds.apache.org/job/HttpComponents%20Client%20(4.2.x)/",
      "color" : "blue"
    },
    {
      "name" : "HttpComponents Core",
      "url" : "https://builds.apache.org/job/HttpComponents%20Core/",
      "color" : "blue"
    },
    {
      "name" : "HttpComponents Core (4.2.x)",
      "url" : "https://builds.apache.org/job/HttpComponents%20Core%20(4.2.x)/",
      "color" : "blue"
    },
    {
      "name" : "hupa-trunk",
      "url" : "https://builds.apache.org/job/hupa-trunk/",
      "color" : "blue"
    },
    {
      "name" : "hupa-trunk-site",
      "url" : "https://builds.apache.org/job/hupa-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "imap-trunk-m2",
      "url" : "https://builds.apache.org/job/imap-trunk-m2/",
      "color" : "blue"
    },
    {
      "name" : "imap-trunk-site",
      "url" : "https://builds.apache.org/job/imap-trunk-site/",
      "color" : "blue"
    },
    {
      "name" : "isis-core-ubuntu",
      "url" : "https://builds.apache.org/job/isis-core-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "Ivy",
      "url" : "https://builds.apache.org/job/Ivy/",
      "color" : "blue"
    },
    {
      "name" : "Ivy-2.3-tests",
      "url" : "https://builds.apache.org/job/Ivy-2.3-tests/",
      "color" : "blue"
    },
    {
      "name" : "Ivy-check",
      "url" : "https://builds.apache.org/job/Ivy-check/",
      "color" : "blue"
    },
    {
      "name" : "Ivy-tests",
      "url" : "https://builds.apache.org/job/Ivy-tests/",
      "color" : "blue"
    },
    {
      "name" : "IvyDE",
      "url" : "https://builds.apache.org/job/IvyDE/",
      "color" : "blue"
    },
    {
      "name" : "IvyDE-updatesite",
      "url" : "https://builds.apache.org/job/IvyDE-updatesite/",
      "color" : "blue"
    },
    {
      "name" : "Jackrabbit-2.2",
      "url" : "https://builds.apache.org/job/Jackrabbit-2.2/",
      "color" : "red"
    },
    {
      "name" : "Jackrabbit-trunk",
      "url" : "https://builds.apache.org/job/Jackrabbit-trunk/",
      "color" : "red"
    },
    {
      "name" : "Jakarta_BSF3",
      "url" : "https://builds.apache.org/job/Jakarta_BSF3/",
      "color" : "blue"
    },
    {
      "name" : "james-mailet",
      "url" : "https://builds.apache.org/job/james-mailet/",
      "color" : "blue"
    },
    {
      "name" : "james-project",
      "url" : "https://builds.apache.org/job/james-project/",
      "color" : "blue"
    },
    {
      "name" : "james-server-trunk",
      "url" : "https://builds.apache.org/job/james-server-trunk/",
      "color" : "red"
    },
    {
      "name" : "james-server-trunk-site",
      "url" : "https://builds.apache.org/job/james-server-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "james-server-v2.3",
      "url" : "https://builds.apache.org/job/james-server-v2.3/",
      "color" : "blue"
    },
    {
      "name" : "james-server-v2.3-m2",
      "url" : "https://builds.apache.org/job/james-server-v2.3-m2/",
      "color" : "yellow"
    },
    {
      "name" : "james-skin",
      "url" : "https://builds.apache.org/job/james-skin/",
      "color" : "blue"
    },
    {
      "name" : "jdkim-trunk",
      "url" : "https://builds.apache.org/job/jdkim-trunk/",
      "color" : "blue"
    },
    {
      "name" : "jdkim-trunk-site",
      "url" : "https://builds.apache.org/job/jdkim-trunk-site/",
      "color" : "blue"
    },
    {
      "name" : "Jena__Development_Deploy",
      "url" : "https://builds.apache.org/job/Jena__Development_Deploy/",
      "color" : "blue"
    },
    {
      "name" : "Jena__Development_Test",
      "url" : "https://builds.apache.org/job/Jena__Development_Test/",
      "color" : "blue"
    },
    {
      "name" : "Jena_Development_Test_Windows",
      "url" : "https://builds.apache.org/job/Jena_Development_Test_Windows/",
      "color" : "yellow"
    },
    {
      "name" : "Jena_LARQ",
      "url" : "https://builds.apache.org/job/Jena_LARQ/",
      "color" : "blue"
    },
    {
      "name" : "Jena_LARQ_Snapshot",
      "url" : "https://builds.apache.org/job/Jena_LARQ_Snapshot/",
      "color" : "blue"
    },
    {
      "name" : "Jena_SDB",
      "url" : "https://builds.apache.org/job/Jena_SDB/",
      "color" : "blue"
    },
    {
      "name" : "Jena_SDB_Snapshot",
      "url" : "https://builds.apache.org/job/Jena_SDB_Snapshot/",
      "color" : "blue"
    },
    {
      "name" : "JMeter adhoc",
      "url" : "https://builds.apache.org/job/JMeter%20adhoc/",
      "color" : "blue"
    },
    {
      "name" : "JMeter-trunk",
      "url" : "https://builds.apache.org/job/JMeter-trunk/",
      "color" : "blue"
    },
    {
      "name" : "jsieve-trunk",
      "url" : "https://builds.apache.org/job/jsieve-trunk/",
      "color" : "red"
    },
    {
      "name" : "jsieve-trunk-site",
      "url" : "https://builds.apache.org/job/jsieve-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "jspf-trunk",
      "url" : "https://builds.apache.org/job/jspf-trunk/",
      "color" : "aborted"
    },
    {
      "name" : "jspf-trunk-site",
      "url" : "https://builds.apache.org/job/jspf-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "JSPWiki",
      "url" : "https://builds.apache.org/job/JSPWiki/",
      "color" : "blue"
    },
    {
      "name" : "Kafka-0.7",
      "url" : "https://builds.apache.org/job/Kafka-0.7/",
      "color" : "disabled"
    },
    {
      "name" : "Kafka-0.8",
      "url" : "https://builds.apache.org/job/Kafka-0.8/",
      "color" : "disabled"
    },
    {
      "name" : "Kafka-consumer_redesign",
      "url" : "https://builds.apache.org/job/Kafka-consumer_redesign/",
      "color" : "disabled"
    },
    {
      "name" : "Kafka-trunk",
      "url" : "https://builds.apache.org/job/Kafka-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "Kalumet-trunk",
      "url" : "https://builds.apache.org/job/Kalumet-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Karaf",
      "url" : "https://builds.apache.org/job/Karaf/",
      "color" : "red"
    },
    {
      "name" : "Karaf-2.2.x",
      "url" : "https://builds.apache.org/job/Karaf-2.2.x/",
      "color" : "blue"
    },
    {
      "name" : "Karaf-2.3.x",
      "url" : "https://builds.apache.org/job/Karaf-2.3.x/",
      "color" : "red"
    },
    {
      "name" : "Karaf-WebConsole",
      "url" : "https://builds.apache.org/job/Karaf-WebConsole/",
      "color" : "red"
    },
    {
      "name" : "kato.api-head",
      "url" : "https://builds.apache.org/job/kato.api-head/",
      "color" : "blue"
    },
    {
      "name" : "Ki",
      "url" : "https://builds.apache.org/job/Ki/",
      "color" : "disabled"
    },
    {
      "name" : "lightning-trunk",
      "url" : "https://builds.apache.org/job/lightning-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Log4j 2.x",
      "url" : "https://builds.apache.org/job/Log4j%202.x/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Artifacts-4.x",
      "url" : "https://builds.apache.org/job/Lucene-Artifacts-4.x/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Artifacts-trunk",
      "url" : "https://builds.apache.org/job/Lucene-Artifacts-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-BadApples-trunk-java7",
      "url" : "https://builds.apache.org/job/Lucene-BadApples-trunk-java7/",
      "color" : "disabled"
    },
    {
      "name" : "Lucene-Solr-Clover-4.x",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Clover-4.x/",
      "color" : "yellow"
    },
    {
      "name" : "Lucene-Solr-Clover-trunk",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Clover-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Maven-4.x",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Maven-4.x/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Maven-trunk",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Maven-trunk/",
      "color" : "red"
    },
    {
      "name" : "Lucene-Solr-NightlyTests-4.x",
      "url" : "https://builds.apache.org/job/Lucene-Solr-NightlyTests-4.x/",
      "color" : "red"
    },
    {
      "name" : "Lucene-Solr-NightlyTests-trunk",
      "url" : "https://builds.apache.org/job/Lucene-Solr-NightlyTests-trunk/",
      "color" : "blue_anime"
    },
    {
      "name" : "Lucene-Solr-SmokeRelease-4.x",
      "url" : "https://builds.apache.org/job/Lucene-Solr-SmokeRelease-4.x/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-SmokeRelease-trunk",
      "url" : "https://builds.apache.org/job/Lucene-Solr-SmokeRelease-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Tests-4.x-Java6",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Tests-4.x-Java6/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Tests-4.x-java7",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Tests-4.x-java7/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Tests-trunk-Java6",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Tests-trunk-Java6/",
      "color" : "blue"
    },
    {
      "name" : "Lucene-Solr-Tests-trunk-java7",
      "url" : "https://builds.apache.org/job/Lucene-Solr-Tests-trunk-java7/",
      "color" : "red"
    },
    {
      "name" : "Lucene.Net-Trunk-All-Nightly",
      "url" : "https://builds.apache.org/job/Lucene.Net-Trunk-All-Nightly/",
      "color" : "disabled"
    },
    {
      "name" : "Lucene.Net-Trunk-All-Poll-Changes",
      "url" : "https://builds.apache.org/job/Lucene.Net-Trunk-All-Poll-Changes/",
      "color" : "disabled"
    },
    {
      "name" : "Lucene.Net-Trunk-Contrib-Nightly",
      "url" : "https://builds.apache.org/job/Lucene.Net-Trunk-Contrib-Nightly/",
      "color" : "disabled"
    },
    {
      "name" : "Lucene.Net-Trunk-Contrib-Poll-Changes",
      "url" : "https://builds.apache.org/job/Lucene.Net-Trunk-Contrib-Poll-Changes/",
      "color" : "disabled"
    },
    {
      "name" : "mahout-collections-trunk",
      "url" : "https://builds.apache.org/job/mahout-collections-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Mahout-Examples-Classify-20News",
      "url" : "https://builds.apache.org/job/Mahout-Examples-Classify-20News/",
      "color" : "blue"
    },
    {
      "name" : "Mahout-Examples-Cluster-Reuters",
      "url" : "https://builds.apache.org/job/Mahout-Examples-Cluster-Reuters/",
      "color" : "blue"
    },
    {
      "name" : "Mahout-Examples-Cluster-Reuters-II",
      "url" : "https://builds.apache.org/job/Mahout-Examples-Cluster-Reuters-II/",
      "color" : "red"
    },
    {
      "name" : "mahout-nightly",
      "url" : "https://builds.apache.org/job/mahout-nightly/",
      "color" : "blue"
    },
    {
      "name" : "Mahout-Quality",
      "url" : "https://builds.apache.org/job/Mahout-Quality/",
      "color" : "blue"
    },
    {
      "name" : "Mahout-Trunk",
      "url" : "https://builds.apache.org/job/Mahout-Trunk/",
      "color" : "aborted"
    },
    {
      "name" : "MahoutClover",
      "url" : "https://builds.apache.org/job/MahoutClover/",
      "color" : "disabled"
    },
    {
      "name" : "mailbox",
      "url" : "https://builds.apache.org/job/mailbox/",
      "color" : "yellow"
    },
    {
      "name" : "mailbox-integration-tests",
      "url" : "https://builds.apache.org/job/mailbox-integration-tests/",
      "color" : "blue"
    },
    {
      "name" : "mailbox-integration-tests-site",
      "url" : "https://builds.apache.org/job/mailbox-integration-tests-site/",
      "color" : "red"
    },
    {
      "name" : "mailbox-site",
      "url" : "https://builds.apache.org/job/mailbox-site/",
      "color" : "red"
    },
    {
      "name" : "maven-2.2.x",
      "url" : "https://builds.apache.org/job/maven-2.2.x/",
      "color" : "yellow"
    },
    {
      "name" : "maven-3.0.x",
      "url" : "https://builds.apache.org/job/maven-3.0.x/",
      "color" : "aborted"
    },
    {
      "name" : "maven-ant-tasks",
      "url" : "https://builds.apache.org/job/maven-ant-tasks/",
      "color" : "blue"
    },
    {
      "name" : "maven-archetype-m2",
      "url" : "https://builds.apache.org/job/maven-archetype-m2/",
      "color" : "blue"
    },
    {
      "name" : "maven-archetype-m3",
      "url" : "https://builds.apache.org/job/maven-archetype-m3/",
      "color" : "blue"
    },
    {
      "name" : "maven-enforcer",
      "url" : "https://builds.apache.org/job/maven-enforcer/",
      "color" : "blue"
    },
    {
      "name" : "maven-indexer",
      "url" : "https://builds.apache.org/job/maven-indexer/",
      "color" : "blue"
    },
    {
      "name" : "maven-jxr",
      "url" : "https://builds.apache.org/job/maven-jxr/",
      "color" : "aborted"
    },
    {
      "name" : "maven-parent",
      "url" : "https://builds.apache.org/job/maven-parent/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-testing",
      "url" : "https://builds.apache.org/job/maven-plugin-testing/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-testing-mvn-2.x",
      "url" : "https://builds.apache.org/job/maven-plugin-testing-mvn-2.x/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools",
      "url" : "https://builds.apache.org/job/maven-plugin-tools/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools-2.x",
      "url" : "https://builds.apache.org/job/maven-plugin-tools-2.x/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools-2.x-m2",
      "url" : "https://builds.apache.org/job/maven-plugin-tools-2.x-m2/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools-jdk-1.7",
      "url" : "https://builds.apache.org/job/maven-plugin-tools-jdk-1.7/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools-m2",
      "url" : "https://builds.apache.org/job/maven-plugin-tools-m2/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugin-tools-windows",
      "url" : "https://builds.apache.org/job/maven-plugin-tools-windows/",
      "color" : "blue"
    },
    {
      "name" : "maven-plugins",
      "url" : "https://builds.apache.org/job/maven-plugins/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m2",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m2/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m2-with-maven-plugin",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m2-with-maven-plugin/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m3",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m3/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m3-windows",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m3-windows/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m3-with-maven-plugin",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m3-with-maven-plugin/",
      "color" : "red"
    },
    {
      "name" : "maven-plugins-ITs-m3.0.3",
      "url" : "https://builds.apache.org/job/maven-plugins-ITs-m3.0.3/",
      "color" : "blue"
    },
    {
      "name" : "maven-project-resources",
      "url" : "https://builds.apache.org/job/maven-project-resources/",
      "color" : "blue"
    },
    {
      "name" : "maven-release",
      "url" : "https://builds.apache.org/job/maven-release/",
      "color" : "blue"
    },
    {
      "name" : "maven-sandbox-plexus-utils-commons-bridge",
      "url" : "https://builds.apache.org/job/maven-sandbox-plexus-utils-commons-bridge/",
      "color" : "red"
    },
    {
      "name" : "maven-scm",
      "url" : "https://builds.apache.org/job/maven-scm/",
      "color" : "blue"
    },
    {
      "name" : "maven-scm-1.7",
      "url" : "https://builds.apache.org/job/maven-scm-1.7/",
      "color" : "yellow"
    },
    {
      "name" : "maven-scm-mvn-2.2x",
      "url" : "https://builds.apache.org/job/maven-scm-mvn-2.2x/",
      "color" : "blue"
    },
    {
      "name" : "maven-scm-provider-svnjava",
      "url" : "https://builds.apache.org/job/maven-scm-provider-svnjava/",
      "color" : "blue"
    },
    {
      "name" : "maven-scm-windows",
      "url" : "https://builds.apache.org/job/maven-scm-windows/",
      "color" : "red"
    },
    {
      "name" : "maven-shared",
      "url" : "https://builds.apache.org/job/maven-shared/",
      "color" : "blue"
    },
    {
      "name" : "maven-shared-windows",
      "url" : "https://builds.apache.org/job/maven-shared-windows/",
      "color" : "blue"
    },
    {
      "name" : "maven-site-plugin-2.x",
      "url" : "https://builds.apache.org/job/maven-site-plugin-2.x/",
      "color" : "aborted"
    },
    {
      "name" : "maven-skins",
      "url" : "https://builds.apache.org/job/maven-skins/",
      "color" : "aborted"
    },
    {
      "name" : "maven-surefire",
      "url" : "https://builds.apache.org/job/maven-surefire/",
      "color" : "blue"
    },
    {
      "name" : "maven-surefire-mvn-2.2.1",
      "url" : "https://builds.apache.org/job/maven-surefire-mvn-2.2.1/",
      "color" : "yellow"
    },
    {
      "name" : "maven-surefire-windows",
      "url" : "https://builds.apache.org/job/maven-surefire-windows/",
      "color" : "blue"
    },
    {
      "name" : "maven-wagon",
      "url" : "https://builds.apache.org/job/maven-wagon/",
      "color" : "blue"
    },
    {
      "name" : "maven-wagon-windows",
      "url" : "https://builds.apache.org/job/maven-wagon-windows/",
      "color" : "red"
    },
    {
      "name" : "maven-wagon-with-ssh-embedded",
      "url" : "https://builds.apache.org/job/maven-wagon-with-ssh-embedded/",
      "color" : "red"
    },
    {
      "name" : "Mesos-Trunk-Ubuntu-Build-In-Src-Set-JAVA_HOME",
      "url" : "https://builds.apache.org/job/Mesos-Trunk-Ubuntu-Build-In-Src-Set-JAVA_HOME/",
      "color" : "red"
    },
    {
      "name" : "Mesos-Trunk-Ubuntu-Build-Out-Of-Src-Disable-Java-Disable-Python-Disable-Webui",
      "url" : "https://builds.apache.org/job/Mesos-Trunk-Ubuntu-Build-Out-Of-Src-Disable-Java-Disable-Python-Disable-Webui/",
      "color" : "red"
    },
    {
      "name" : "Mesos-Trunk-Ubuntu-Build-Out-Of-Src-Set-JAVA_HOME",
      "url" : "https://builds.apache.org/job/Mesos-Trunk-Ubuntu-Build-Out-Of-Src-Set-JAVA_HOME/",
      "color" : "red"
    },
    {
      "name" : "mime4j-trunk",
      "url" : "https://builds.apache.org/job/mime4j-trunk/",
      "color" : "blue"
    },
    {
      "name" : "mime4j-trunk-site",
      "url" : "https://builds.apache.org/job/mime4j-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "MINA-1.0.X",
      "url" : "https://builds.apache.org/job/MINA-1.0.X/",
      "color" : "disabled"
    },
    {
      "name" : "MINA-1.1.X",
      "url" : "https://builds.apache.org/job/MINA-1.1.X/",
      "color" : "disabled"
    },
    {
      "name" : "MINA-2.0.X-jdk1.5-ubuntu",
      "url" : "https://builds.apache.org/job/MINA-2.0.X-jdk1.5-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "MINA-trunk-jdk1.6-ubuntu",
      "url" : "https://builds.apache.org/job/MINA-trunk-jdk1.6-ubuntu/",
      "color" : "disabled"
    },
    {
      "name" : "MINA-trunk-jdk1.6-windows",
      "url" : "https://builds.apache.org/job/MINA-trunk-jdk1.6-windows/",
      "color" : "blue"
    },
    {
      "name" : "MINA-trunk-jdk1.7-ubuntu",
      "url" : "https://builds.apache.org/job/MINA-trunk-jdk1.7-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "mpt-trunk",
      "url" : "https://builds.apache.org/job/mpt-trunk/",
      "color" : "red"
    },
    {
      "name" : "mpt-trunk-site",
      "url" : "https://builds.apache.org/job/mpt-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "mrunit-trunk",
      "url" : "https://builds.apache.org/job/mrunit-trunk/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-commons",
      "url" : "https://builds.apache.org/job/myfaces-commons/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current-2.0",
      "url" : "https://builds.apache.org/job/myfaces-current-2.0/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current-2.0-integration-tests",
      "url" : "https://builds.apache.org/job/myfaces-current-2.0-integration-tests/",
      "color" : "red"
    },
    {
      "name" : "myfaces-current11",
      "url" : "https://builds.apache.org/job/myfaces-current11/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current12",
      "url" : "https://builds.apache.org/job/myfaces-current12/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current21",
      "url" : "https://builds.apache.org/job/myfaces-current21/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current21_949",
      "url" : "https://builds.apache.org/job/myfaces-current21_949/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-current22",
      "url" : "https://builds.apache.org/job/myfaces-current22/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-ext-scripting",
      "url" : "https://builds.apache.org/job/myfaces-ext-scripting/",
      "color" : "red"
    },
    {
      "name" : "myfaces-master-pom",
      "url" : "https://builds.apache.org/job/myfaces-master-pom/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-maven",
      "url" : "https://builds.apache.org/job/myfaces-maven/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-maven-achetypes",
      "url" : "https://builds.apache.org/job/myfaces-maven-achetypes/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-maven2-plugins",
      "url" : "https://builds.apache.org/job/myfaces-maven2-plugins/",
      "color" : "blue"
    },
    {
      "name" : "Myfaces-Orchestra",
      "url" : "https://builds.apache.org/job/Myfaces-Orchestra/",
      "color" : "red"
    },
    {
      "name" : "myfaces-orchestra-core",
      "url" : "https://builds.apache.org/job/myfaces-orchestra-core/",
      "color" : "red"
    },
    {
      "name" : "myfaces-orchestra-core12",
      "url" : "https://builds.apache.org/job/myfaces-orchestra-core12/",
      "color" : "red"
    },
    {
      "name" : "myfaces-orchestra-core20",
      "url" : "https://builds.apache.org/job/myfaces-orchestra-core20/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-orchestra-maven",
      "url" : "https://builds.apache.org/job/myfaces-orchestra-maven/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-shared",
      "url" : "https://builds.apache.org/job/myfaces-shared/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-shared-2.0",
      "url" : "https://builds.apache.org/job/myfaces-shared-2.0/",
      "color" : "red"
    },
    {
      "name" : "myfaces-shared-3.0",
      "url" : "https://builds.apache.org/job/myfaces-shared-3.0/",
      "color" : "red"
    },
    {
      "name" : "myfaces-site-skin",
      "url" : "https://builds.apache.org/job/myfaces-site-skin/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-test",
      "url" : "https://builds.apache.org/job/myfaces-test/",
      "color" : "blue"
    },
    {
      "name" : "myfaces-tomahawk",
      "url" : "https://builds.apache.org/job/myfaces-tomahawk/",
      "color" : "blue"
    },
    {
      "name" : "MyFaces-Trinidad-Plugins2",
      "url" : "https://builds.apache.org/job/MyFaces-Trinidad-Plugins2/",
      "color" : "disabled"
    },
    {
      "name" : "neethi-2.0",
      "url" : "https://builds.apache.org/job/neethi-2.0/",
      "color" : "blue"
    },
    {
      "name" : "neethi-trunk",
      "url" : "https://builds.apache.org/job/neethi-trunk/",
      "color" : "blue"
    },
    {
      "name" : "NPanday",
      "url" : "https://builds.apache.org/job/NPanday/",
      "color" : "blue"
    },
    {
      "name" : "NPanday-dist",
      "url" : "https://builds.apache.org/job/NPanday-dist/",
      "color" : "blue"
    },
    {
      "name" : "NPanday-docs",
      "url" : "https://builds.apache.org/job/NPanday-docs/",
      "color" : "blue"
    },
    {
      "name" : "NPanday-it-runner",
      "url" : "https://builds.apache.org/job/NPanday-it-runner/",
      "color" : "red"
    },
    {
      "name" : "NPanday-its",
      "url" : "https://builds.apache.org/job/NPanday-its/",
      "color" : "blue"
    },
    {
      "name" : "npanday-plugin-its",
      "url" : "https://builds.apache.org/job/npanday-plugin-its/",
      "color" : "blue"
    },
    {
      "name" : "nutch-2.x-maven",
      "url" : "https://builds.apache.org/job/nutch-2.x-maven/",
      "color" : "red"
    },
    {
      "name" : "Nutch-2.x-Windows",
      "url" : "https://builds.apache.org/job/Nutch-2.x-Windows/",
      "color" : "red"
    },
    {
      "name" : "Nutch-nutchgora",
      "url" : "https://builds.apache.org/job/Nutch-nutchgora/",
      "color" : "red"
    },
    {
      "name" : "Nutch-trunk",
      "url" : "https://builds.apache.org/job/Nutch-trunk/",
      "color" : "red"
    },
    {
      "name" : "nutch-trunk-maven",
      "url" : "https://builds.apache.org/job/nutch-trunk-maven/",
      "color" : "blue"
    },
    {
      "name" : "Nutch-trunk-Windows",
      "url" : "https://builds.apache.org/job/Nutch-trunk-Windows/",
      "color" : "red"
    },
    {
      "name" : "nuvem",
      "url" : "https://builds.apache.org/job/nuvem/",
      "color" : "disabled"
    },
    {
      "name" : "ODE-1.x",
      "url" : "https://builds.apache.org/job/ODE-1.x/",
      "color" : "aborted"
    },
    {
      "name" : "ODE-trunk",
      "url" : "https://builds.apache.org/job/ODE-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "ODE-trunk-jdk6",
      "url" : "https://builds.apache.org/job/ODE-trunk-jdk6/",
      "color" : "blue"
    },
    {
      "name" : "ODE-trunk-m2-jdk5-nightly-deploy",
      "url" : "https://builds.apache.org/job/ODE-trunk-m2-jdk5-nightly-deploy/",
      "color" : "disabled"
    },
    {
      "name" : "ODE-trunk-maven2-jdk5",
      "url" : "https://builds.apache.org/job/ODE-trunk-maven2-jdk5/",
      "color" : "disabled"
    },
    {
      "name" : "ODFToolkit",
      "url" : "https://builds.apache.org/job/ODFToolkit/",
      "color" : "red_anime"
    },
    {
      "name" : "ODFToolkit-windows",
      "url" : "https://builds.apache.org/job/ODFToolkit-windows/",
      "color" : "blue_anime"
    },
    {
      "name" : "ognl",
      "url" : "https://builds.apache.org/job/ognl/",
      "color" : "red"
    },
    {
      "name" : "Onami-Aggregator",
      "url" : "https://builds.apache.org/job/Onami-Aggregator/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Autobind",
      "url" : "https://builds.apache.org/job/Onami-Autobind/",
      "color" : "red"
    },
    {
      "name" : "Onami-Cache",
      "url" : "https://builds.apache.org/job/Onami-Cache/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Configuration",
      "url" : "https://builds.apache.org/job/Onami-Configuration/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Guava",
      "url" : "https://builds.apache.org/job/Onami-Guava/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Lifecycle",
      "url" : "https://builds.apache.org/job/Onami-Lifecycle/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Logging",
      "url" : "https://builds.apache.org/job/Onami-Logging/",
      "color" : "red"
    },
    {
      "name" : "Onami-Parent",
      "url" : "https://builds.apache.org/job/Onami-Parent/",
      "color" : "red"
    },
    {
      "name" : "Onami-Scheduler",
      "url" : "https://builds.apache.org/job/Onami-Scheduler/",
      "color" : "red"
    },
    {
      "name" : "Onami-SPI",
      "url" : "https://builds.apache.org/job/Onami-SPI/",
      "color" : "blue"
    },
    {
      "name" : "Onami-Test",
      "url" : "https://builds.apache.org/job/Onami-Test/",
      "color" : "blue"
    },
    {
      "name" : "oodt-trunk",
      "url" : "https://builds.apache.org/job/oodt-trunk/",
      "color" : "blue"
    },
    {
      "name" : "oozie-trunk-find-patches-available",
      "url" : "https://builds.apache.org/job/oozie-trunk-find-patches-available/",
      "color" : "blue"
    },
    {
      "name" : "oozie-trunk-precommit-build",
      "url" : "https://builds.apache.org/job/oozie-trunk-precommit-build/",
      "color" : "red"
    },
    {
      "name" : "oozie-trunk-w-hadoop-1",
      "url" : "https://builds.apache.org/job/oozie-trunk-w-hadoop-1/",
      "color" : "disabled"
    },
    {
      "name" : "oozie-trunk-w-hadoop-2",
      "url" : "https://builds.apache.org/job/oozie-trunk-w-hadoop-2/",
      "color" : "disabled"
    },
    {
      "name" : "OpenEJB_and_TomEE_Build",
      "url" : "https://builds.apache.org/job/OpenEJB_and_TomEE_Build/",
      "color" : "blue"
    },
    {
      "name" : "OpenEJB_deploy_patched_module",
      "url" : "https://builds.apache.org/job/OpenEJB_deploy_patched_module/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-11x",
      "url" : "https://builds.apache.org/job/OpenJPA-11x/",
      "color" : "disabled"
    },
    {
      "name" : "OpenJPA-12x",
      "url" : "https://builds.apache.org/job/OpenJPA-12x/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-13x",
      "url" : "https://builds.apache.org/job/OpenJPA-13x/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-20x-deploy",
      "url" : "https://builds.apache.org/job/OpenJPA-20x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-21x",
      "url" : "https://builds.apache.org/job/OpenJPA-21x/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-21x-deploy",
      "url" : "https://builds.apache.org/job/OpenJPA-21x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-21x-docs",
      "url" : "https://builds.apache.org/job/OpenJPA-21x-docs/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-221x",
      "url" : "https://builds.apache.org/job/OpenJPA-221x/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-221x-deploy",
      "url" : "https://builds.apache.org/job/OpenJPA-221x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-22x",
      "url" : "https://builds.apache.org/job/OpenJPA-22x/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-22x-deploy",
      "url" : "https://builds.apache.org/job/OpenJPA-22x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-EclipsePlugin-trunk",
      "url" : "https://builds.apache.org/job/OpenJPA-EclipsePlugin-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "OpenJPA-trunk",
      "url" : "https://builds.apache.org/job/OpenJPA-trunk/",
      "color" : "blue"
    },
    {
      "name" : "OpenJPA-trunk-deploy",
      "url" : "https://builds.apache.org/job/OpenJPA-trunk-deploy/",
      "color" : "blue"
    },
    {
      "name" : "openmeetings",
      "url" : "https://builds.apache.org/job/openmeetings/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings 2.0",
      "url" : "https://builds.apache.org/job/OpenMeetings%202.0/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings ATutor Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20ATutor%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Bitrix Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Bitrix%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Drupal 7.x Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Drupal%207.x%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Joomla Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Joomla%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Moodle Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Moodle%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings SugarCRM Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20SugarCRM%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Teambox Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Teambox%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenMeetings Zimbra Plugin",
      "url" : "https://builds.apache.org/job/OpenMeetings%20Zimbra%20Plugin/",
      "color" : "blue"
    },
    {
      "name" : "OpenNLP",
      "url" : "https://builds.apache.org/job/OpenNLP/",
      "color" : "blue"
    },
    {
      "name" : "OpenWebBeans-1.1.x-deploy",
      "url" : "https://builds.apache.org/job/OpenWebBeans-1.1.x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenWebBeans-trunk",
      "url" : "https://builds.apache.org/job/OpenWebBeans-trunk/",
      "color" : "blue"
    },
    {
      "name" : "OpenWebBeans-trunk-deploy",
      "url" : "https://builds.apache.org/job/OpenWebBeans-trunk-deploy/",
      "color" : "blue"
    },
    {
      "name" : "OpenWebBeans_1.0.x",
      "url" : "https://builds.apache.org/job/OpenWebBeans_1.0.x/",
      "color" : "blue"
    },
    {
      "name" : "OpenWebBeans_1.1.x",
      "url" : "https://builds.apache.org/job/OpenWebBeans_1.1.x/",
      "color" : "blue"
    },
    {
      "name" : "org.apache.kato",
      "url" : "https://builds.apache.org/job/org.apache.kato/",
      "color" : "yellow"
    },
    {
      "name" : "org.apache.kato.eclipse",
      "url" : "https://builds.apache.org/job/org.apache.kato.eclipse/",
      "color" : "red"
    },
    {
      "name" : "org.apache.kato.rc1",
      "url" : "https://builds.apache.org/job/org.apache.kato.rc1/",
      "color" : "yellow"
    },
    {
      "name" : "PDFBox-ant",
      "url" : "https://builds.apache.org/job/PDFBox-ant/",
      "color" : "blue"
    },
    {
      "name" : "PDFBox-trunk",
      "url" : "https://builds.apache.org/job/PDFBox-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Pig-0.9",
      "url" : "https://builds.apache.org/job/Pig-0.9/",
      "color" : "red"
    },
    {
      "name" : "Pig-trunk",
      "url" : "https://builds.apache.org/job/Pig-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Pig-trunk-commit",
      "url" : "https://builds.apache.org/job/Pig-trunk-commit/",
      "color" : "red"
    },
    {
      "name" : "Pivot-maintenance",
      "url" : "https://builds.apache.org/job/Pivot-maintenance/",
      "color" : "red"
    },
    {
      "name" : "Pivot-maintenance on Java 7",
      "url" : "https://builds.apache.org/job/Pivot-maintenance%20on%20Java%207/",
      "color" : "red"
    },
    {
      "name" : "Pivot-trunk",
      "url" : "https://builds.apache.org/job/Pivot-trunk/",
      "color" : "red"
    },
    {
      "name" : "Pivot-trunk on Java 7",
      "url" : "https://builds.apache.org/job/Pivot-trunk%20on%20Java%207/",
      "color" : "red"
    },
    {
      "name" : "POI",
      "url" : "https://builds.apache.org/job/POI/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-dbbrowser-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-dbbrowser-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-demo-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-demo-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-gems-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-gems-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-logging-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-logging-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-pom-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-pom-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-rss-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-rss-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-applications-webcontent-trunk",
      "url" : "https://builds.apache.org/job/portals-applications-webcontent-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-bridges-common-trunk",
      "url" : "https://builds.apache.org/job/portals-bridges-common-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-bridges-pom-trunk",
      "url" : "https://builds.apache.org/job/portals-bridges-pom-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-bridges-script-trunk",
      "url" : "https://builds.apache.org/job/portals-bridges-script-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-bridges-velocity-trunk",
      "url" : "https://builds.apache.org/job/portals-bridges-velocity-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-jetspeed-2-applications-j2-admin-trunk",
      "url" : "https://builds.apache.org/job/portals-jetspeed-2-applications-j2-admin-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-jetspeed-2-portal-trunk",
      "url" : "https://builds.apache.org/job/portals-jetspeed-2-portal-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-pluto-2.0.x",
      "url" : "https://builds.apache.org/job/portals-pluto-2.0.x/",
      "color" : "blue"
    },
    {
      "name" : "portals-pluto-trunk",
      "url" : "https://builds.apache.org/job/portals-pluto-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portals-pom-trunk",
      "url" : "https://builds.apache.org/job/portals-pom-trunk/",
      "color" : "blue"
    },
    {
      "name" : "portlet-bridge-api-documentation-1.0",
      "url" : "https://builds.apache.org/job/portlet-bridge-api-documentation-1.0/",
      "color" : "blue"
    },
    {
      "name" : "portlet-bridge-api-documentation-2.0",
      "url" : "https://builds.apache.org/job/portlet-bridge-api-documentation-2.0/",
      "color" : "blue"
    },
    {
      "name" : "portlet-bridge-core-1.0",
      "url" : "https://builds.apache.org/job/portlet-bridge-core-1.0/",
      "color" : "red"
    },
    {
      "name" : "portlet-bridge-core-2.0",
      "url" : "https://builds.apache.org/job/portlet-bridge-core-2.0/",
      "color" : "disabled"
    },
    {
      "name" : "portlet-bridge-core-3.0",
      "url" : "https://builds.apache.org/job/portlet-bridge-core-3.0/",
      "color" : "disabled"
    },
    {
      "name" : "portlet-bridge-master-pom",
      "url" : "https://builds.apache.org/job/portlet-bridge-master-pom/",
      "color" : "blue"
    },
    {
      "name" : "postage-trunk",
      "url" : "https://builds.apache.org/job/postage-trunk/",
      "color" : "red"
    },
    {
      "name" : "postage-trunk-m2",
      "url" : "https://builds.apache.org/job/postage-trunk-m2/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-Admin",
      "url" : "https://builds.apache.org/job/PreCommit-Admin/",
      "color" : "blue"
    },
    {
      "name" : "PreCommit-FLUME-Build",
      "url" : "https://builds.apache.org/job/PreCommit-FLUME-Build/",
      "color" : "blue"
    },
    {
      "name" : "PreCommit-GIRAPH-Build",
      "url" : "https://builds.apache.org/job/PreCommit-GIRAPH-Build/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-HADOOP-Build",
      "url" : "https://builds.apache.org/job/PreCommit-HADOOP-Build/",
      "color" : "red_anime"
    },
    {
      "name" : "PreCommit-HADOOP-Build-Ant-IVY",
      "url" : "https://builds.apache.org/job/PreCommit-HADOOP-Build-Ant-IVY/",
      "color" : "disabled"
    },
    {
      "name" : "PreCommit-HBASE-Build",
      "url" : "https://builds.apache.org/job/PreCommit-HBASE-Build/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-HDFS-Build",
      "url" : "https://builds.apache.org/job/PreCommit-HDFS-Build/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-MAPREDUCE-Build",
      "url" : "https://builds.apache.org/job/PreCommit-MAPREDUCE-Build/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-PIG-Build",
      "url" : "https://builds.apache.org/job/PreCommit-PIG-Build/",
      "color" : "grey"
    },
    {
      "name" : "PreCommit-YARN-Build",
      "url" : "https://builds.apache.org/job/PreCommit-YARN-Build/",
      "color" : "red"
    },
    {
      "name" : "PreCommit-ZOOKEEPER-Build",
      "url" : "https://builds.apache.org/job/PreCommit-ZOOKEEPER-Build/",
      "color" : "blue"
    },
    {
      "name" : "protoc-version",
      "url" : "https://builds.apache.org/job/protoc-version/",
      "color" : "red"
    },
    {
      "name" : "protocols-trunk",
      "url" : "https://builds.apache.org/job/protocols-trunk/",
      "color" : "aborted"
    },
    {
      "name" : "protocols-trunk-site",
      "url" : "https://builds.apache.org/job/protocols-trunk-site/",
      "color" : "red"
    },
    {
      "name" : "python-test",
      "url" : "https://builds.apache.org/job/python-test/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Artefact-Release",
      "url" : "https://builds.apache.org/job/Qpid-Java-Artefact-Release/",
      "color" : "red"
    },
    {
      "name" : "Qpid-Java-Artefact-Release-0.20",
      "url" : "https://builds.apache.org/job/Qpid-Java-Artefact-Release-0.20/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Cpp-Test",
      "url" : "https://builds.apache.org/job/Qpid-Java-Cpp-Test/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Java-BDB-TestMatrix",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-BDB-TestMatrix/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Java-DBY-TestMatrix",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-DBY-TestMatrix/",
      "color" : "disabled"
    },
    {
      "name" : "Qpid-Java-Java-MMS-TestMatrix",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-MMS-TestMatrix/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Java-Test-0.20",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-Test-0.20/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Java-Test-IBMJDK1.6",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-Test-IBMJDK1.6/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Java-Java-Test-JDK1.7",
      "url" : "https://builds.apache.org/job/Qpid-Java-Java-Test-JDK1.7/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-proton-j",
      "url" : "https://builds.apache.org/job/Qpid-proton-j/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-proton-j-Deploy",
      "url" : "https://builds.apache.org/job/Qpid-proton-j-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Python-Cpp-Test",
      "url" : "https://builds.apache.org/job/Qpid-Python-Cpp-Test/",
      "color" : "blue"
    },
    {
      "name" : "Qpid-Python-Java-Test",
      "url" : "https://builds.apache.org/job/Qpid-Python-Java-Test/",
      "color" : "blue"
    },
    {
      "name" : "Rampart",
      "url" : "https://builds.apache.org/job/Rampart/",
      "color" : "blue"
    },
    {
      "name" : "rampart-1.5",
      "url" : "https://builds.apache.org/job/rampart-1.5/",
      "color" : "red"
    },
    {
      "name" : "rampart-1.6",
      "url" : "https://builds.apache.org/job/rampart-1.6/",
      "color" : "blue"
    },
    {
      "name" : "rat-jdk-1.5-maven-2",
      "url" : "https://builds.apache.org/job/rat-jdk-1.5-maven-2/",
      "color" : "blue"
    },
    {
      "name" : "rave-master-pom-trunk",
      "url" : "https://builds.apache.org/job/rave-master-pom-trunk/",
      "color" : "blue"
    },
    {
      "name" : "rave-project-trunk",
      "url" : "https://builds.apache.org/job/rave-project-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Red5 Trunk",
      "url" : "https://builds.apache.org/job/Red5%20Trunk/",
      "color" : "blue"
    },
    {
      "name" : "redback-components",
      "url" : "https://builds.apache.org/job/redback-components/",
      "color" : "blue"
    },
    {
      "name" : "redback-components-1.7",
      "url" : "https://builds.apache.org/job/redback-components-1.7/",
      "color" : "red"
    },
    {
      "name" : "redback-core",
      "url" : "https://builds.apache.org/job/redback-core/",
      "color" : "blue"
    },
    {
      "name" : "redback-core-1.7",
      "url" : "https://builds.apache.org/job/redback-core-1.7/",
      "color" : "red"
    },
    {
      "name" : "replay_extcdi117",
      "url" : "https://builds.apache.org/job/replay_extcdi117/",
      "color" : "yellow"
    },
    {
      "name" : "River-dev-jdk6",
      "url" : "https://builds.apache.org/job/River-dev-jdk6/",
      "color" : "blue"
    },
    {
      "name" : "River-dev-jdk7",
      "url" : "https://builds.apache.org/job/River-dev-jdk7/",
      "color" : "blue"
    },
    {
      "name" : "River-QA-arm",
      "url" : "https://builds.apache.org/job/River-QA-arm/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-bsd",
      "url" : "https://builds.apache.org/job/River-QA-bsd/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-bsd-jdk7-skunk",
      "url" : "https://builds.apache.org/job/River-QA-bsd-jdk7-skunk/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-J9",
      "url" : "https://builds.apache.org/job/River-QA-J9/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-matrix",
      "url" : "https://builds.apache.org/job/River-QA-matrix/",
      "color" : "aborted"
    },
    {
      "name" : "River-QA-OpenJDK",
      "url" : "https://builds.apache.org/job/River-QA-OpenJDK/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-osx",
      "url" : "https://builds.apache.org/job/River-QA-osx/",
      "color" : "red"
    },
    {
      "name" : "river-qa-refactor-arm",
      "url" : "https://builds.apache.org/job/river-qa-refactor-arm/",
      "color" : "red"
    },
    {
      "name" : "river-qa-refactor-jdk7",
      "url" : "https://builds.apache.org/job/river-qa-refactor-jdk7/",
      "color" : "blue"
    },
    {
      "name" : "river-qa-refactor-windows",
      "url" : "https://builds.apache.org/job/river-qa-refactor-windows/",
      "color" : "blue"
    },
    {
      "name" : "river-qa-refactoring",
      "url" : "https://builds.apache.org/job/river-qa-refactoring/",
      "color" : "blue"
    },
    {
      "name" : "river-qa-refactoring-solaris",
      "url" : "https://builds.apache.org/job/river-qa-refactoring-solaris/",
      "color" : "red"
    },
    {
      "name" : "River-QA-solaris",
      "url" : "https://builds.apache.org/job/River-QA-solaris/",
      "color" : "red"
    },
    {
      "name" : "River-QA-tree",
      "url" : "https://builds.apache.org/job/River-QA-tree/",
      "color" : "blue"
    },
    {
      "name" : "River-QA-ubuntu-jdk6",
      "url" : "https://builds.apache.org/job/River-QA-ubuntu-jdk6/",
      "color" : "blue"
    },
    {
      "name" : "River-QA-ubuntu-jdk7",
      "url" : "https://builds.apache.org/job/River-QA-ubuntu-jdk7/",
      "color" : "red"
    },
    {
      "name" : "River-QA-ubuntu-jdk7-skunk",
      "url" : "https://builds.apache.org/job/River-QA-ubuntu-jdk7-skunk/",
      "color" : "disabled"
    },
    {
      "name" : "River-QA-ubuntu-openjdk",
      "url" : "https://builds.apache.org/job/River-QA-ubuntu-openjdk/",
      "color" : "red"
    },
    {
      "name" : "River-QA-windows",
      "url" : "https://builds.apache.org/job/River-QA-windows/",
      "color" : "red"
    },
    {
      "name" : "River-tck-jdk7",
      "url" : "https://builds.apache.org/job/River-tck-jdk7/",
      "color" : "disabled"
    },
    {
      "name" : "River-trunk-jdk6",
      "url" : "https://builds.apache.org/job/River-trunk-jdk6/",
      "color" : "blue"
    },
    {
      "name" : "River-trunk-jdk7",
      "url" : "https://builds.apache.org/job/River-trunk-jdk7/",
      "color" : "blue"
    },
    {
      "name" : "River-verify",
      "url" : "https://builds.apache.org/job/River-verify/",
      "color" : "disabled"
    },
    {
      "name" : "River-verify-generics",
      "url" : "https://builds.apache.org/job/River-verify-generics/",
      "color" : "disabled"
    },
    {
      "name" : "Roller-For-JavaEE6",
      "url" : "https://builds.apache.org/job/Roller-For-JavaEE6/",
      "color" : "red"
    },
    {
      "name" : "Roller-For-JBoss",
      "url" : "https://builds.apache.org/job/Roller-For-JBoss/",
      "color" : "blue_anime"
    },
    {
      "name" : "Roller-For-Tomcat",
      "url" : "https://builds.apache.org/job/Roller-For-Tomcat/",
      "color" : "blue"
    },
    {
      "name" : "sandesha2-1.4",
      "url" : "https://builds.apache.org/job/sandesha2-1.4/",
      "color" : "blue"
    },
    {
      "name" : "sandesha2-1.6",
      "url" : "https://builds.apache.org/job/sandesha2-1.6/",
      "color" : "yellow"
    },
    {
      "name" : "sandesha2-trunk",
      "url" : "https://builds.apache.org/job/sandesha2-trunk/",
      "color" : "yellow"
    },
    {
      "name" : "santuario-java-1.4.x-fixes",
      "url" : "https://builds.apache.org/job/santuario-java-1.4.x-fixes/",
      "color" : "blue"
    },
    {
      "name" : "santuario-java-1.5.x-fixes",
      "url" : "https://builds.apache.org/job/santuario-java-1.5.x-fixes/",
      "color" : "blue"
    },
    {
      "name" : "santuario-java-trunk",
      "url" : "https://builds.apache.org/job/santuario-java-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Servicemix-Archetypes",
      "url" : "https://builds.apache.org/job/Servicemix-Archetypes/",
      "color" : "disabled"
    },
    {
      "name" : "ServiceMix-Bundles",
      "url" : "https://builds.apache.org/job/ServiceMix-Bundles/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Components",
      "url" : "https://builds.apache.org/job/ServiceMix-Components/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Components-2011.02.x",
      "url" : "https://builds.apache.org/job/ServiceMix-Components-2011.02.x/",
      "color" : "yellow"
    },
    {
      "name" : "ServiceMix-Components-2011.02.x-Deploy",
      "url" : "https://builds.apache.org/job/ServiceMix-Components-2011.02.x-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Components-Deploy",
      "url" : "https://builds.apache.org/job/ServiceMix-Components-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Docs",
      "url" : "https://builds.apache.org/job/ServiceMix-Docs/",
      "color" : "disabled"
    },
    {
      "name" : "ServiceMix-Features",
      "url" : "https://builds.apache.org/job/ServiceMix-Features/",
      "color" : "disabled"
    },
    {
      "name" : "ServiceMix-Features-4.4.x",
      "url" : "https://builds.apache.org/job/ServiceMix-Features-4.4.x/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Features-Deploy",
      "url" : "https://builds.apache.org/job/ServiceMix-Features-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-NMR",
      "url" : "https://builds.apache.org/job/ServiceMix-NMR/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-NMR-Deploy",
      "url" : "https://builds.apache.org/job/ServiceMix-NMR-Deploy/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Plugins",
      "url" : "https://builds.apache.org/job/ServiceMix-Plugins/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-POM",
      "url" : "https://builds.apache.org/job/ServiceMix-POM/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Specs",
      "url" : "https://builds.apache.org/job/ServiceMix-Specs/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix-Utils",
      "url" : "https://builds.apache.org/job/ServiceMix-Utils/",
      "color" : "blue"
    },
    {
      "name" : "ServiceMix3",
      "url" : "https://builds.apache.org/job/ServiceMix3/",
      "color" : "red"
    },
    {
      "name" : "Shindig",
      "url" : "https://builds.apache.org/job/Shindig/",
      "color" : "yellow"
    },
    {
      "name" : "Shindig Assembly",
      "url" : "https://builds.apache.org/job/Shindig%20Assembly/",
      "color" : "blue"
    },
    {
      "name" : "Shindig Trunk (IBM 1.6)",
      "url" : "https://builds.apache.org/job/Shindig%20Trunk%20(IBM%201.6)/",
      "color" : "blue"
    },
    {
      "name" : "Shindig Trunk (JDK 1.5)",
      "url" : "https://builds.apache.org/job/Shindig%20Trunk%20(JDK%201.5)/",
      "color" : "blue"
    },
    {
      "name" : "Shindig Trunk (JDK 1.6)",
      "url" : "https://builds.apache.org/job/Shindig%20Trunk%20(JDK%201.6)/",
      "color" : "blue"
    },
    {
      "name" : "Shindig Trunk (JDK 1.7)",
      "url" : "https://builds.apache.org/job/Shindig%20Trunk%20(JDK%201.7)/",
      "color" : "blue"
    },
    {
      "name" : "Shiro",
      "url" : "https://builds.apache.org/job/Shiro/",
      "color" : "blue"
    },
    {
      "name" : "sis-jdk7",
      "url" : "https://builds.apache.org/job/sis-jdk7/",
      "color" : "red"
    },
    {
      "name" : "sis-trunk",
      "url" : "https://builds.apache.org/job/sis-trunk/",
      "color" : "blue"
    },
    {
      "name" : "sling-contrib-1.6",
      "url" : "https://builds.apache.org/job/sling-contrib-1.6/",
      "color" : "blue"
    },
    {
      "name" : "sling-samples-1.5",
      "url" : "https://builds.apache.org/job/sling-samples-1.5/",
      "color" : "blue"
    },
    {
      "name" : "sling-trunk-1.5",
      "url" : "https://builds.apache.org/job/sling-trunk-1.5/",
      "color" : "disabled"
    },
    {
      "name" : "sling-trunk-1.6",
      "url" : "https://builds.apache.org/job/sling-trunk-1.6/",
      "color" : "blue"
    },
    {
      "name" : "Solaris1",
      "url" : "https://builds.apache.org/job/Solaris1/",
      "color" : "blue"
    },
    {
      "name" : "Solaris2",
      "url" : "https://builds.apache.org/job/Solaris2/",
      "color" : "blue"
    },
    {
      "name" : "Solr-Artifacts-4.x",
      "url" : "https://builds.apache.org/job/Solr-Artifacts-4.x/",
      "color" : "blue"
    },
    {
      "name" : "Solr-Artifacts-trunk",
      "url" : "https://builds.apache.org/job/Solr-Artifacts-trunk/",
      "color" : "blue"
    },
    {
      "name" : "SpamAssassin-3.3.x",
      "url" : "https://builds.apache.org/job/SpamAssassin-3.3.x/",
      "color" : "blue"
    },
    {
      "name" : "SpamAssassin-trunk",
      "url" : "https://builds.apache.org/job/SpamAssassin-trunk/",
      "color" : "yellow"
    },
    {
      "name" : "SpamAssassin-trunk-FreeBSD",
      "url" : "https://builds.apache.org/job/SpamAssassin-trunk-FreeBSD/",
      "color" : "red"
    },
    {
      "name" : "Sqoop-ant-jdk-1.6-hadoop100",
      "url" : "https://builds.apache.org/job/Sqoop-ant-jdk-1.6-hadoop100/",
      "color" : "blue"
    },
    {
      "name" : "Sqoop-ant-jdk-1.6-hadoop20",
      "url" : "https://builds.apache.org/job/Sqoop-ant-jdk-1.6-hadoop20/",
      "color" : "blue"
    },
    {
      "name" : "Sqoop-ant-jdk-1.6-hadoop200",
      "url" : "https://builds.apache.org/job/Sqoop-ant-jdk-1.6-hadoop200/",
      "color" : "blue"
    },
    {
      "name" : "Sqoop-ant-jdk-1.6-hadoop23",
      "url" : "https://builds.apache.org/job/Sqoop-ant-jdk-1.6-hadoop23/",
      "color" : "blue"
    },
    {
      "name" : "Sqoop-ant-jdk-1.7-hadoop200",
      "url" : "https://builds.apache.org/job/Sqoop-ant-jdk-1.7-hadoop200/",
      "color" : "grey"
    },
    {
      "name" : "Sqoop2-hadoop100",
      "url" : "https://builds.apache.org/job/Sqoop2-hadoop100/",
      "color" : "yellow"
    },
    {
      "name" : "Sqoop2-hadoop200",
      "url" : "https://builds.apache.org/job/Sqoop2-hadoop200/",
      "color" : "yellow"
    },
    {
      "name" : "stanbol-trunk-1.6",
      "url" : "https://builds.apache.org/job/stanbol-trunk-1.6/",
      "color" : "blue"
    },
    {
      "name" : "stdcxx-4.2.2-12d-ubuntu",
      "url" : "https://builds.apache.org/job/stdcxx-4.2.2-12d-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "stdcxx-4.2.2-12S-freebsd",
      "url" : "https://builds.apache.org/job/stdcxx-4.2.2-12S-freebsd/",
      "color" : "blue"
    },
    {
      "name" : "stdcxx-4.2.2-15D-windows",
      "url" : "https://builds.apache.org/job/stdcxx-4.2.2-15D-windows/",
      "color" : "blue"
    },
    {
      "name" : "stdcxx-4.2.2-15s-solaris",
      "url" : "https://builds.apache.org/job/stdcxx-4.2.2-15s-solaris/",
      "color" : "blue"
    },
    {
      "name" : "struts-annotations",
      "url" : "https://builds.apache.org/job/struts-annotations/",
      "color" : "aborted"
    },
    {
      "name" : "struts-master",
      "url" : "https://builds.apache.org/job/struts-master/",
      "color" : "aborted"
    },
    {
      "name" : "struts1",
      "url" : "https://builds.apache.org/job/struts1/",
      "color" : "blue"
    },
    {
      "name" : "Struts2-3-x",
      "url" : "https://builds.apache.org/job/Struts2-3-x/",
      "color" : "blue"
    },
    {
      "name" : "Struts2-JDK5",
      "url" : "https://builds.apache.org/job/Struts2-JDK5/",
      "color" : "disabled"
    },
    {
      "name" : "Struts2-JDK6",
      "url" : "https://builds.apache.org/job/Struts2-JDK6/",
      "color" : "blue"
    },
    {
      "name" : "Struts2-JDK7",
      "url" : "https://builds.apache.org/job/Struts2-JDK7/",
      "color" : "yellow"
    },
    {
      "name" : "subversion-1.6.x-solaris",
      "url" : "https://builds.apache.org/job/subversion-1.6.x-solaris/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-1.6.x-ubuntu",
      "url" : "https://builds.apache.org/job/subversion-1.6.x-ubuntu/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-doxygen",
      "url" : "https://builds.apache.org/job/subversion-doxygen/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-javadoc",
      "url" : "https://builds.apache.org/job/subversion-javadoc/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-trunk-solaris",
      "url" : "https://builds.apache.org/job/subversion-trunk-solaris/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-trunk-ubuntu",
      "url" : "https://builds.apache.org/job/subversion-trunk-ubuntu/",
      "color" : "disabled"
    },
    {
      "name" : "subversion-trunk-windows",
      "url" : "https://builds.apache.org/job/subversion-trunk-windows/",
      "color" : "disabled"
    },
    {
      "name" : "Synapse - Trunk",
      "url" : "https://builds.apache.org/job/Synapse%20-%20Trunk/",
      "color" : "blue"
    },
    {
      "name" : "Syncope-1_0_X",
      "url" : "https://builds.apache.org/job/Syncope-1_0_X/",
      "color" : "blue"
    },
    {
      "name" : "Syncope-trunk",
      "url" : "https://builds.apache.org/job/Syncope-trunk/",
      "color" : "blue"
    },
    {
      "name" : "Syncope-windows",
      "url" : "https://builds.apache.org/job/Syncope-windows/",
      "color" : "disabled"
    },
    {
      "name" : "taglib-extended",
      "url" : "https://builds.apache.org/job/taglib-extended/",
      "color" : "blue"
    },
    {
      "name" : "taglib-parent",
      "url" : "https://builds.apache.org/job/taglib-parent/",
      "color" : "blue"
    },
    {
      "name" : "taglib-rdc",
      "url" : "https://builds.apache.org/job/taglib-rdc/",
      "color" : "blue"
    },
    {
      "name" : "taglib-standard",
      "url" : "https://builds.apache.org/job/taglib-standard/",
      "color" : "blue"
    },
    {
      "name" : "tapestry-4.1-trunk",
      "url" : "https://builds.apache.org/job/tapestry-4.1-trunk/",
      "color" : "blue"
    },
    {
      "name" : "tapestry-5.1-freestyle",
      "url" : "https://builds.apache.org/job/tapestry-5.1-freestyle/",
      "color" : "blue"
    },
    {
      "name" : "tapestry-trunk-freestyle",
      "url" : "https://builds.apache.org/job/tapestry-trunk-freestyle/",
      "color" : "blue"
    },
    {
      "name" : "Test",
      "url" : "https://builds.apache.org/job/Test/",
      "color" : "grey"
    },
    {
      "name" : "test-ulimit",
      "url" : "https://builds.apache.org/job/test-ulimit/",
      "color" : "blue"
    },
    {
      "name" : "TestBuilds",
      "url" : "https://builds.apache.org/job/TestBuilds/",
      "color" : "red"
    },
    {
      "name" : "Thrift",
      "url" : "https://builds.apache.org/job/Thrift/",
      "color" : "blue"
    },
    {
      "name" : "Thrift-Compiler-Linux32",
      "url" : "https://builds.apache.org/job/Thrift-Compiler-Linux32/",
      "color" : "blue"
    },
    {
      "name" : "Thrift-Compiler-Linux64",
      "url" : "https://builds.apache.org/job/Thrift-Compiler-Linux64/",
      "color" : "blue"
    },
    {
      "name" : "Thrift-Compiler-Windows",
      "url" : "https://builds.apache.org/job/Thrift-Compiler-Windows/",
      "color" : "blue"
    },
    {
      "name" : "Thrift-cpp",
      "url" : "https://builds.apache.org/job/Thrift-cpp/",
      "color" : "blue"
    },
    {
      "name" : "Thrift-Debian-Packages",
      "url" : "https://builds.apache.org/job/Thrift-Debian-Packages/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-env-test",
      "url" : "https://builds.apache.org/job/Thrift-env-test/",
      "color" : "red"
    },
    {
      "name" : "Thrift-env-test_arm",
      "url" : "https://builds.apache.org/job/Thrift-env-test_arm/",
      "color" : "red"
    },
    {
      "name" : "Thrift-erlang",
      "url" : "https://builds.apache.org/job/Thrift-erlang/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-freebsd",
      "url" : "https://builds.apache.org/job/Thrift-freebsd/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-llvm",
      "url" : "https://builds.apache.org/job/Thrift-llvm/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-osx",
      "url" : "https://builds.apache.org/job/Thrift-osx/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-Windows",
      "url" : "https://builds.apache.org/job/Thrift-Windows/",
      "color" : "disabled"
    },
    {
      "name" : "Thrift-Windows-env-test",
      "url" : "https://builds.apache.org/job/Thrift-Windows-env-test/",
      "color" : "red"
    },
    {
      "name" : "Thrift_arm",
      "url" : "https://builds.apache.org/job/Thrift_arm/",
      "color" : "disabled"
    },
    {
      "name" : "Tika-trunk",
      "url" : "https://builds.apache.org/job/Tika-trunk/",
      "color" : "blue"
    },
    {
      "name" : "tobago-1.0.x",
      "url" : "https://builds.apache.org/job/tobago-1.0.x/",
      "color" : "red"
    },
    {
      "name" : "tobago-1.0.x-deploy",
      "url" : "https://builds.apache.org/job/tobago-1.0.x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "tobago-1.5.x",
      "url" : "https://builds.apache.org/job/tobago-1.5.x/",
      "color" : "blue"
    },
    {
      "name" : "tobago-1.5.x-deploy",
      "url" : "https://builds.apache.org/job/tobago-1.5.x-deploy/",
      "color" : "blue"
    },
    {
      "name" : "tobago-trunk",
      "url" : "https://builds.apache.org/job/tobago-trunk/",
      "color" : "blue"
    },
    {
      "name" : "tobago-trunk-deploy",
      "url" : "https://builds.apache.org/job/tobago-trunk-deploy/",
      "color" : "blue"
    },
    {
      "name" : "Tomcat-7.x",
      "url" : "https://builds.apache.org/job/Tomcat-7.x/",
      "color" : "blue"
    },
    {
      "name" : "Tomcat-7.x-Maven",
      "url" : "https://builds.apache.org/job/Tomcat-7.x-Maven/",
      "color" : "yellow"
    },
    {
      "name" : "TomcatMavenPlugin-mvn2.x",
      "url" : "https://builds.apache.org/job/TomcatMavenPlugin-mvn2.x/",
      "color" : "red"
    },
    {
      "name" : "TomcatMavenPlugin-mvn3.x",
      "url" : "https://builds.apache.org/job/TomcatMavenPlugin-mvn3.x/",
      "color" : "blue"
    },
    {
      "name" : "torque4-test-project-derby",
      "url" : "https://builds.apache.org/job/torque4-test-project-derby/",
      "color" : "blue"
    },
    {
      "name" : "torque4-test-project-hsqldb",
      "url" : "https://builds.apache.org/job/torque4-test-project-hsqldb/",
      "color" : "blue"
    },
    {
      "name" : "Torque4-trunk",
      "url" : "https://builds.apache.org/job/Torque4-trunk/",
      "color" : "aborted"
    },
    {
      "name" : "traffic-trunk",
      "url" : "https://builds.apache.org/job/traffic-trunk/",
      "color" : "disabled"
    },
    {
      "name" : "Trinidad Core 1.0.x (sanity)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%201.0.x%20(sanity)/",
      "color" : "disabled"
    },
    {
      "name" : "Trinidad Core 1.2.x (sanity)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%201.2.x%20(sanity)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Core 2.0.x (sanity)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%202.0.x%20(sanity)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Core 2.0.x (snapshot)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%202.0.x%20(snapshot)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Core Trunk (sanity)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%20Trunk%20(sanity)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Core Trunk (snapshot)",
      "url" : "https://builds.apache.org/job/Trinidad%20Core%20Trunk%20(snapshot)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Plugins 1.2.x (snapshot)",
      "url" : "https://builds.apache.org/job/Trinidad%20Plugins%201.2.x%20(snapshot)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Plugins 2.0.x (snapshot)",
      "url" : "https://builds.apache.org/job/Trinidad%20Plugins%202.0.x%20(snapshot)/",
      "color" : "blue"
    },
    {
      "name" : "Trinidad Site",
      "url" : "https://builds.apache.org/job/Trinidad%20Site/",
      "color" : "disabled"
    },
    {
      "name" : "Turbine Core",
      "url" : "https://builds.apache.org/job/Turbine%20Core/",
      "color" : "aborted"
    },
    {
      "name" : "Turbine Fulcrum",
      "url" : "https://builds.apache.org/job/Turbine%20Fulcrum/",
      "color" : "aborted"
    },
    {
      "name" : "Tuscany-1x",
      "url" : "https://builds.apache.org/job/Tuscany-1x/",
      "color" : "blue"
    },
    {
      "name" : "Tuscany-2.0-Beta2-branch",
      "url" : "https://builds.apache.org/job/Tuscany-2.0-Beta2-branch/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-2.0-Beta2-tag",
      "url" : "https://builds.apache.org/job/Tuscany-2.0-Beta2-tag/",
      "color" : "blue"
    },
    {
      "name" : "Tuscany-2x",
      "url" : "https://builds.apache.org/job/Tuscany-2x/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-2x-all",
      "url" : "https://builds.apache.org/job/Tuscany-2x-all/",
      "color" : "grey"
    },
    {
      "name" : "Tuscany-2x-compliance",
      "url" : "https://builds.apache.org/job/Tuscany-2x-compliance/",
      "color" : "blue"
    },
    {
      "name" : "Tuscany-2x-deploy",
      "url" : "https://builds.apache.org/job/Tuscany-2x-deploy/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-2x-distributions",
      "url" : "https://builds.apache.org/job/Tuscany-2x-distributions/",
      "color" : "blue"
    },
    {
      "name" : "Tuscany-2x-temp",
      "url" : "https://builds.apache.org/job/Tuscany-2x-temp/",
      "color" : "disabled"
    },
    {
      "name" : "Tuscany-2x-tests",
      "url" : "https://builds.apache.org/job/Tuscany-2x-tests/",
      "color" : "aborted"
    },
    {
      "name" : "Tuscany-DAS",
      "url" : "https://builds.apache.org/job/Tuscany-DAS/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-jms-test-runner",
      "url" : "https://builds.apache.org/job/Tuscany-jms-test-runner/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-oasis-jms-contributions",
      "url" : "https://builds.apache.org/job/Tuscany-oasis-jms-contributions/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-quick-all-distro",
      "url" : "https://builds.apache.org/job/Tuscany-quick-all-distro/",
      "color" : "blue"
    },
    {
      "name" : "Tuscany-SDO",
      "url" : "https://builds.apache.org/job/Tuscany-SDO/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-test",
      "url" : "https://builds.apache.org/job/Tuscany-test/",
      "color" : "red"
    },
    {
      "name" : "Tuscany-test2",
      "url" : "https://builds.apache.org/job/Tuscany-test2/",
      "color" : "red"
    },
    {
      "name" : "Ubuntu1",
      "url" : "https://builds.apache.org/job/Ubuntu1/",
      "color" : "blue"
    },
    {
      "name" : "Ubuntu2",
      "url" : "https://builds.apache.org/job/Ubuntu2/",
      "color" : "blue"
    },
    {
      "name" : "UIMA Addons",
      "url" : "https://builds.apache.org/job/UIMA%20Addons/",
      "color" : "red"
    },
    {
      "name" : "UIMA-AS",
      "url" : "https://builds.apache.org/job/UIMA-AS/",
      "color" : "aborted"
    },
    {
      "name" : "UIMA-SDK",
      "url" : "https://builds.apache.org/job/UIMA-SDK/",
      "color" : "blue"
    },
    {
      "name" : "UIMA-TextMarker",
      "url" : "https://builds.apache.org/job/UIMA-TextMarker/",
      "color" : "blue"
    },
    {
      "name" : "UIMA-uimaFIT",
      "url" : "https://builds.apache.org/job/UIMA-uimaFIT/",
      "color" : "red"
    },
    {
      "name" : "UIMAJ SDK java7",
      "url" : "https://builds.apache.org/job/UIMAJ%20SDK%20java7/",
      "color" : "red"
    },
    {
      "name" : "vysper-trunk-harmony1.5-ubuntu",
      "url" : "https://builds.apache.org/job/vysper-trunk-harmony1.5-ubuntu/",
      "color" : "disabled"
    },
    {
      "name" : "vysper-trunk-jdk1.5-ibm-ubuntu",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.5-ibm-ubuntu/",
      "color" : "red"
    },
    {
      "name" : "vysper-trunk-jdk1.5-solaris",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.5-solaris/",
      "color" : "disabled"
    },
    {
      "name" : "vysper-trunk-jdk1.5-ubuntu",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.5-ubuntu/",
      "color" : "red"
    },
    {
      "name" : "vysper-trunk-jdk1.6-ibm-ubuntu",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.6-ibm-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "vysper-trunk-jdk1.6-solaris",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.6-solaris/",
      "color" : "disabled"
    },
    {
      "name" : "vysper-trunk-jdk1.6-ubuntu",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.6-ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "vysper-trunk-jdk1.6-windows",
      "url" : "https://builds.apache.org/job/vysper-trunk-jdk1.6-windows/",
      "color" : "blue"
    },
    {
      "name" : "wagon-benchmarks",
      "url" : "https://builds.apache.org/job/wagon-benchmarks/",
      "color" : "aborted"
    },
    {
      "name" : "wave-all_tests",
      "url" : "https://builds.apache.org/job/wave-all_tests/",
      "color" : "disabled"
    },
    {
      "name" : "wave-small_tests",
      "url" : "https://builds.apache.org/job/wave-small_tests/",
      "color" : "disabled"
    },
    {
      "name" : "Whirr-Solaris",
      "url" : "https://builds.apache.org/job/Whirr-Solaris/",
      "color" : "blue"
    },
    {
      "name" : "Whirr-Ubuntu",
      "url" : "https://builds.apache.org/job/Whirr-Ubuntu/",
      "color" : "blue"
    },
    {
      "name" : "Windows1",
      "url" : "https://builds.apache.org/job/Windows1/",
      "color" : "red"
    },
    {
      "name" : "Wink-Trunk-JDK1.5",
      "url" : "https://builds.apache.org/job/Wink-Trunk-JDK1.5/",
      "color" : "disabled"
    },
    {
      "name" : "Wink-Trunk-JDK1.5-itests",
      "url" : "https://builds.apache.org/job/Wink-Trunk-JDK1.5-itests/",
      "color" : "disabled"
    },
    {
      "name" : "Wink-Trunk-JDK1.6",
      "url" : "https://builds.apache.org/job/Wink-Trunk-JDK1.6/",
      "color" : "blue"
    },
    {
      "name" : "Wink-Trunk-JDK1.6-itests",
      "url" : "https://builds.apache.org/job/Wink-Trunk-JDK1.6-itests/",
      "color" : "disabled"
    },
    {
      "name" : "woden-trunk",
      "url" : "https://builds.apache.org/job/woden-trunk/",
      "color" : "blue"
    },
    {
      "name" : "ws-axiom-trunk",
      "url" : "https://builds.apache.org/job/ws-axiom-trunk/",
      "color" : "blue"
    },
    {
      "name" : "wss4j-1.5",
      "url" : "https://builds.apache.org/job/wss4j-1.5/",
      "color" : "blue"
    },
    {
      "name" : "wss4j-1.6",
      "url" : "https://builds.apache.org/job/wss4j-1.6/",
      "color" : "blue"
    },
    {
      "name" : "wss4j-trunk",
      "url" : "https://builds.apache.org/job/wss4j-trunk/",
      "color" : "blue"
    },
    {
      "name" : "xmlschema-1.4-branch-jdk15",
      "url" : "https://builds.apache.org/job/xmlschema-1.4-branch-jdk15/",
      "color" : "blue"
    },
    {
      "name" : "xmlschema-trunk-eclipse-support",
      "url" : "https://builds.apache.org/job/xmlschema-trunk-eclipse-support/",
      "color" : "red"
    },
    {
      "name" : "xmlschema-trunk-jdk15",
      "url" : "https://builds.apache.org/job/xmlschema-trunk-jdk15/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper-3.4-WinVS2008_java",
      "url" : "https://builds.apache.org/job/ZooKeeper-3.4-WinVS2008_java/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper-trunk",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper-trunk-ibm6",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-ibm6/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper-trunk-jdk7",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-jdk7/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper-trunk-openjdk7",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-openjdk7/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper-trunk-solaris",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-solaris/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper-trunk-WinVS2008",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-WinVS2008/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper-trunk-WinVS2008_java",
      "url" : "https://builds.apache.org/job/ZooKeeper-trunk-WinVS2008_java/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper_branch33",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch33/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper_branch33_solaris",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch33_solaris/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper_branch34",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch34/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper_branch34_jdk7",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch34_jdk7/",
      "color" : "red"
    },
    {
      "name" : "ZooKeeper_branch34_openjdk7",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch34_openjdk7/",
      "color" : "blue"
    },
    {
      "name" : "ZooKeeper_branch34_solaris",
      "url" : "https://builds.apache.org/job/ZooKeeper_branch34_solaris/",
      "color" : "aborted_anime"
    }
  ],
  "overallLoad" : {
    
  },
  "primaryView" : {
    "name" : "All",
    "url" : "https://builds.apache.org/"
  },
  "quietingDown" : false,
  "slaveAgentPort" : 0,
  "unlabeledLoad" : {
    
  },
  "useCrumbs" : true,
  "useSecurity" : true,
  "views" : [
    {
      "name" : "All",
      "url" : "https://builds.apache.org/"
    },
    {
      "name" : "CloudStack",
      "url" : "https://builds.apache.org/view/CloudStack/"
    },
    {
      "name" : "Hadoop",
      "url" : "https://builds.apache.org/view/Hadoop/"
    },
    {
      "name" : "Onami",
      "url" : "https://builds.apache.org/view/Onami/"
    }
  ]
}

================================================
FILE: data/canada.json
================================================
{ "type": "FeatureCollection",
  "features": [
{
    "type": "Feature",
"properties": { "name": "Canada" },
"geometry": {"type":"Polygon","coordinates":[[[-65.613616999999977,43.420273000000009],[-65.619720000000029,43.418052999999986],[-65.625,43.421379000000059],[-65.636123999999882,43.449714999999969],[-65.633056999999951,43.474709000000132],[-65.611389000000031,43.513054000000068],[-65.605835000000013,43.516105999999979],[-65.598343,43.515830999999935],[-65.566101000000003,43.508331000000055],[-65.561935000000005,43.504439999999988],[-65.55999799999995,43.499718000000087],[-65.573333999999988,43.476379000000065],[-65.593612999999948,43.444153000000028],[-65.613616999999977,43.420273000000009]],[[-59.816947999999911,43.928328999999962],[-59.841667000000029,43.918602000000021],[-59.866393999999957,43.909987999999998],[-59.879722999999956,43.906654000000003],[-59.895835999999974,43.904160000000047],[-59.919448999999929,43.901099999999985],[-59.953330999999991,43.898604999999975],[-60.013617999999951,43.903320000000008],[-60.028609999999958,43.905548000000124],[-60.078338999999914,43.917496000000028],[-60.103888999999981,43.926659000000029],[-60.121666000000005,43.934990000000084],[-60.129997000000003,43.941933000000063],[-60.124167999999997,43.945267000000058],[-60.095000999999968,43.939430000000129],[-60.017776000000026,43.925827000000083],[-59.975554999999986,43.921936000000017],[-59.966942000000017,43.921936000000017],[-59.915000999999961,43.925552000000096],[-59.861945999999989,43.934433000000013],[-59.841385000000002,43.938880999999981],[-59.80972300000002,43.950828999999999],[-59.793334999999956,43.959435000000099],[-59.777221999999938,43.968048000000067],[-59.755279999999971,43.979431000000091],[-59.724716000000001,43.991104000000121],[-59.727775999999949,43.986382000000049],[-59.736389000000031,43.979156000000103],[-59.753615999999965,43.964995999999985],[-59.762504999999919,43.957771000000093],[-59.782501000000025,43.944434999999999],[-59.793059999999969,43.93832400000008],[-59.816947999999911,43.928328999999962]],[[-66.282775999999956,44.289719000000105],[-66.314437999999996,44.250548999999978],[-66.322234999999978,44.252777000000094],[-66.324448000000018,44.25750000000005],[-66.323897999999986,44.263329000000113],[-66.310271999999998,44.289993000000038],[-66.303054999999915,44.300545000000056],[-66.294723999999917,44.310271999999998],[-66.228333000000021,44.385826000000009],[-66.21945199999999,44.394713999999965],[-66.214447000000007,44.397774000000027],[-66.206389999999942,44.395271000000037],[-66.204726999999934,44.384995000000004],[-66.205275999999969,44.379433000000063],[-66.208053999999947,44.372765000000072],[-66.214721999999938,44.36360900000011],[-66.249725000000012,44.327217000000132],[-66.282775999999956,44.289719000000105]],[[-66.886123999999995,44.614440999999999],[-66.900283999999999,44.61332699999997],[-66.904174999999952,44.618049999999982],[-66.904449,44.622489999999971],[-66.884734999999978,44.68332700000002],[-66.858611999999937,44.743050000000039],[-66.837783999999942,44.770827999999995],[-66.833327999999938,44.774994000000049],[-66.803329000000019,44.798881999999992],[-66.798049999999932,44.802490000000091],[-66.786666999999852,44.808044000000109],[-66.779723999999931,44.809158000000082],[-66.772507000000019,44.809158000000082],[-66.767226999999934,44.805549999999982],[-66.764724999999999,44.801102000000014],[-66.757781999999963,44.792496000000085],[-66.734726000000023,44.729156000000103],[-66.736938000000009,44.717209000000139],[-66.740279999999927,44.70777099999998],[-66.761123999999995,44.676102000000128],[-66.765015000000005,44.671378999999945],[-66.875274999999931,44.619438000000059],[-66.886123999999995,44.614440999999999]],[[-61.199996999999996,45.558327000000077],[-61.204720000000009,45.555267000000072],[-61.212775999999963,45.556656000000032],[-61.219993999999986,45.559990000000028],[-61.224167000000023,45.564156000000139],[-61.222220999999934,45.569443000000035],[-61.21416499999998,45.568886000000134],[-61.208610999999962,45.56721500000009],[-61.202498999999989,45.563324000000023],[-61.199996999999996,45.558327000000077]],[[-60.993889000000024,45.45777099999998],[-61.00028199999997,45.455826000000002],[-61.007781999999963,45.457214000000079],[-61.019446999999957,45.463882000000069],[-61.101943999999946,45.523048000000017],[-61.105835000000013,45.526939000000084],[-61.108337000000006,45.540833000000021],[-61.104445999999939,45.546387000000038],[-61.098609999999951,45.549164000000076],[-61.023612999999955,45.574997000000053],[-61.017220000000009,45.575272000000041],[-60.936942999999985,45.576659999999947],[-60.908051,45.576103000000046],[-60.900275999999906,45.575554000000125],[-60.879996999999946,45.560547000000099],[-60.878608999999869,45.555824000000143],[-60.883888000000013,45.550544999999943],[-60.889167999999984,45.548332000000016],[-60.910277999999948,45.546104000000071],[-60.936110999999983,45.539161999999976],[-60.947495000000004,45.533607000000075],[-60.952498999999932,45.529990999999995],[-60.962501999999915,45.519989000000066],[-60.96305799999999,45.514998999999989],[-60.961669999999913,45.510277000000087],[-60.958611000000019,45.505829000000119],[-60.950553999999954,45.497771999999998],[-60.993889000000024,45.45777099999998]],[[-63.246391000000017,46.435547000000042],[-63.25389100000001,46.435265000000129],[-63.26167299999986,46.436378000000047],[-63.269446999999957,46.439713000000097],[-63.285004000000015,46.450829000000056],[-63.27055399999989,46.450271999999984],[-63.245834000000002,46.442764000000125],[-63.240836999999999,46.438599000000124],[-63.246391000000017,46.435547000000042]],[[-71.111114999999984,46.850548000000003],[-71.118606999999997,46.850273000000016],[-71.127486999999917,46.851662000000033],[-71.130279999999914,46.856102000000021],[-71.128326000000015,46.862213000000111],[-71.121383999999978,46.874161000000129],[-71.098891999999978,46.898048000000017],[-71.078339000000028,46.913605000000075],[-70.936935000000005,46.992493000000024],[-70.896666999999866,47.013329000000056],[-70.87222300000002,47.024162000000047],[-70.860001000000011,47.02777100000003],[-70.845276000000013,47.029160000000047],[-70.836394999999982,47.02777100000003],[-70.818893000000003,47.02276599999999],[-70.81361400000003,47.019440000000145],[-70.809158000000025,47.01527400000009],[-70.807495000000017,47.00999500000006],[-70.809432999999956,47.004439999999988],[-70.814437999999996,46.998329000000126],[-70.877212999999983,46.931107000000111],[-70.887512000000015,46.923607000000004],[-70.904174999999952,46.913605000000075],[-71.009170999999924,46.871101000000067],[-71.033324999999934,46.862494999999967],[-71.040832999999964,46.860549999999989],[-71.082229999999925,46.853325000000098],[-71.111114999999984,46.850548000000003]],[[-60.445273999999984,46.861664000000133],[-60.436942999999985,46.861107000000061],[-60.352782999999988,46.861664000000133],[-60.345832999999857,46.862494999999967],[-60.334441999999967,46.868881000000101],[-60.326110999999969,46.868323999999973],[-60.320838999999978,46.864441000000056],[-60.309440999999936,46.851105000000132],[-60.302223000000026,46.837493999999936],[-60.301392000000021,46.831940000000145],[-60.304442999999935,46.815269000000114],[-60.322776999999917,46.736382000000049],[-60.327224999999885,46.724991000000045],[-60.478881999999942,46.389992000000063],[-60.535277999999948,46.321663000000058],[-60.589438999999857,46.25499700000006],[-60.609169000000009,46.201934999999935],[-60.590331999999933,46.207821000000081],[-60.587001999999984,46.209488000000135],[-60.57150299999995,46.228653000000122],[-60.553329000000019,46.248878000000047],[-60.551391999999964,46.25499700000006],[-60.543335000000013,46.266663000000051],[-60.528053,46.278602999999919],[-60.479720999999984,46.311104000000057],[-60.46805599999999,46.316665999999998],[-60.44388600000002,46.326942000000088],[-60.430557000000022,46.33138299999996],[-60.424171000000001,46.331665000000044],[-60.416388999999867,46.328049000000021],[-60.412216000000001,46.31888600000002],[-60.417777999999942,46.285827999999981],[-60.419997999999964,46.279991000000052],[-60.42472099999992,46.27526899999998],[-60.438048999999921,46.270828000000051],[-60.454719999999952,46.262215000000083],[-60.470550999999944,46.251105999999993],[-60.53583100000003,46.192436000000043],[-60.59027900000001,46.138603000000103],[-60.600280999999939,46.130271999999991],[-60.61611199999993,46.120827000000133],[-60.645836000000031,46.106102000000021],[-60.687774999999874,46.088326000000052],[-60.701110999999912,46.08526599999999],[-60.788895000000025,46.066666000000055],[-60.86333499999995,46.052490000000034],[-60.986114999999927,45.982491000000095],[-61.023887999999943,45.969437000000028],[-61.080283999999949,45.951660000000004],[-61.087776000000019,45.95138500000013],[-61.095832999999971,45.952217000000076],[-61.105003000000011,45.954712000000086],[-61.113059999999905,45.955268999999987],[-61.117774999999938,45.950828999999999],[-61.126944999999978,45.928329000000133],[-61.125556999999958,45.923607000000061],[-61.118332000000009,45.923049999999932],[-61.056999000000019,45.931216999999947],[-61.052834000000018,45.931881000000033],[-61.017497999999989,45.940712000000076],[-61.014835000000005,45.943382000000042],[-60.989165999999955,45.95638300000013],[-60.987777999999935,45.962494000000049],[-60.984168999999952,45.967490999999939],[-60.957221999999945,45.984992999999974],[-60.940551999999911,45.994438000000059],[-60.892776000000026,46.01527400000009],[-60.853057999999976,46.03138000000007],[-60.770835999999917,46.057495000000074],[-60.757506999999919,46.060546999999985],[-60.743056999999965,46.061661000000015],[-60.735557999999912,46.058044000000052],[-60.734169000000009,46.05332199999998],[-60.734169000000009,46.047493000000145],[-60.807502999999997,45.931107000000111],[-60.870276999999987,45.910820000000058],[-60.898055999999997,45.906654000000117],[-60.956947000000014,45.903046000000018],[-61.042888999999946,45.891327000000103],[-61.047053999999946,45.890659000000085],[-61.050555999999972,45.888991999999973],[-61.053390999999976,45.886162000000127],[-61.096663999999976,45.860275000000001],[-61.097777999999948,45.854713000000061],[-61.094718999999998,45.850273000000016],[-61.087776000000019,45.847487999999998],[-61.079726999999991,45.84693900000002],[-61.073059000000001,45.84804500000007],[-61.060829000000012,45.852776000000006],[-61.049445999999989,45.858330000000024],[-61.026107999999965,45.86971299999999],[-60.989997999999957,45.881934999999999],[-60.96805599999999,45.883331000000055],[-60.960281000000009,45.880272000000048],[-60.919448999999986,45.857498000000078],[-60.915833000000021,45.852776000000006],[-60.917777999999942,45.847487999999998],[-60.935271999999941,45.825271999999984],[-60.940551999999911,45.821663000000001],[-60.947495000000004,45.820549000000028],[-61.019446999999957,45.809989999999971],[-61.067504999999983,45.791663999999969],[-61.079169999999976,45.786110000000008],[-61.118057000000022,45.763611000000026],[-61.12777699999998,45.755271999999991],[-61.147223999999994,45.704993999999999],[-61.149170000000026,45.699715000000026],[-61.142501999999922,45.696381000000031],[-61.077498999999932,45.688880999999981],[-61.070838999999978,45.689987000000031],[-61.041945999999996,45.704162999999994],[-61.012778999999966,45.718880000000013],[-60.996391000000017,45.727767999999969],[-60.972771000000023,45.738045],[-60.954719999999952,45.745543999999938],[-60.935829000000012,45.751389000000074],[-60.92222599999991,45.75360900000004],[-60.914443999999946,45.75360900000004],[-60.890556000000004,45.751663000000008],[-60.881942999999922,45.750000000000057],[-60.864165999999898,45.744438000000116],[-60.844161999999983,45.735268000000076],[-60.816665999999998,45.722488000000112],[-60.809998000000007,45.719154000000117],[-60.800835000000006,45.71166199999999],[-60.729438999999957,45.778603000000032],[-60.719718999999998,45.788329999999974],[-60.516944999999964,45.920830000000137],[-60.491942999999878,45.929436000000067],[-60.466942000000017,45.938041999999996],[-60.409163999999976,45.979987999999935],[-60.404166999999973,45.984436000000073],[-60.395835999999974,45.99610100000001],[-60.40166499999998,45.994713000000104],[-60.555000000000007,45.946938000000102],[-60.611671000000001,45.924995000000138],[-60.629722999999899,45.917496000000142],[-60.639998999999989,45.91027100000008],[-60.644721999999945,45.905548000000124
Download .txt
gitextract_0f5b4wwc/

├── .devcontainer/
│   ├── Dockerfile
│   └── devcontainer.json
├── .drone.yml.broken
├── .github/
│   ├── dependabot.yml
│   └── workflows/
│       ├── nightly.yml
│       ├── pr-perf.yml
│       ├── quality.yaml
│       └── tests.yml
├── .gitignore
├── CODE_OF_CONDUCT.md
├── Cargo.toml
├── Contribution.md
├── LICENSE-APACHE
├── LICENSE-MIT
├── Makefile
├── README.md
├── benches/
│   ├── parse.rs
│   └── to_tape.rs
├── codecov.yml
├── data/
│   ├── apache_builds.json
│   ├── canada.json
│   ├── citm_catalog.json
│   ├── crash/
│   │   ├── crash000000.json
│   │   ├── crash000001.json
│   │   ├── crash000002.json
│   │   ├── crash000003.json
│   │   ├── crash000004.json
│   │   ├── crash000005.json
│   │   ├── crash000006.json
│   │   ├── crash000007.json
│   │   ├── crash000008.json
│   │   ├── crash000009.json
│   │   ├── crash000010.json
│   │   ├── crash000011.json
│   │   ├── crash000012.json
│   │   ├── crash000013.json
│   │   ├── crash000014.json
│   │   ├── crash000015.json
│   │   ├── crash000016.json
│   │   ├── crash000017.json
│   │   ├── crash000018.json
│   │   ├── crash000019.json
│   │   ├── crash000020.json
│   │   ├── crash000021.json
│   │   ├── crash000022.json
│   │   ├── crash000023.json
│   │   ├── crash000024.json
│   │   ├── crash000025.json
│   │   ├── crash000026.json
│   │   ├── crash000027.json
│   │   ├── crash000028.json
│   │   ├── crash000029.json
│   │   ├── crash000030.json
│   │   ├── crash000031.json
│   │   ├── crash000032.json
│   │   ├── crash000033.json
│   │   ├── crash000034.json
│   │   ├── crash000035.json
│   │   ├── crash000036.json
│   │   └── crash000037.json
│   ├── event_stacktrace_10kb.json
│   ├── fail/
│   │   ├── fail01_EXCLUDE.json
│   │   ├── fail02.json
│   │   ├── fail03.json
│   │   ├── fail04.json
│   │   ├── fail05.json
│   │   ├── fail06.json
│   │   ├── fail07.json
│   │   ├── fail08.json
│   │   ├── fail09.json
│   │   ├── fail10.json
│   │   ├── fail11.json
│   │   ├── fail12.json
│   │   ├── fail13.json
│   │   ├── fail14.json
│   │   ├── fail15.json
│   │   ├── fail16.json
│   │   ├── fail17.json
│   │   ├── fail18_EXCLUDE.json
│   │   ├── fail19.json
│   │   ├── fail20.json
│   │   ├── fail21.json
│   │   ├── fail22.json
│   │   ├── fail23.json
│   │   ├── fail24.json
│   │   ├── fail25.json
│   │   ├── fail26.json
│   │   ├── fail27.json
│   │   ├── fail28.json
│   │   ├── fail29.json
│   │   ├── fail30.json
│   │   ├── fail31.json
│   │   ├── fail32.json
│   │   ├── fail33.json
│   │   ├── fail34.json
│   │   ├── fail35.json
│   │   ├── fail36.json
│   │   ├── fail37.json
│   │   ├── fail38.json
│   │   ├── fail39_EXCLUDE.json
│   │   ├── fail40_s64boverflow.json
│   │   ├── fail41_toolarge.json
│   │   ├── fail42.json
│   │   ├── fail43.json
│   │   ├── fail44.json
│   │   ├── fail45.json
│   │   ├── fail46.json
│   │   ├── fail47.json
│   │   ├── fail48.json
│   │   ├── fail49.json
│   │   ├── fail50.json
│   │   ├── fail51.json
│   │   ├── fail52.json
│   │   ├── fail53.json
│   │   ├── fail54.json
│   │   ├── fail55.json
│   │   ├── fail56.json
│   │   ├── fail57.json
│   │   ├── fail58.json
│   │   ├── fail59.json
│   │   ├── fail60.json
│   │   ├── fail61.json
│   │   ├── fail62.json
│   │   ├── fail63.json
│   │   ├── fail64.json
│   │   ├── fail65.json
│   │   ├── fail66.json
│   │   ├── fail67.json
│   │   ├── fail68.json
│   │   ├── fail69.json
│   │   ├── fail70.json
│   │   ├── fail71.json
│   │   ├── fail72.json
│   │   ├── fail73.json
│   │   ├── fail74.json
│   │   ├── fail75.json
│   │   ├── fail76.json
│   │   ├── fail77.json
│   │   └── fail78.json
│   ├── github_events.json
│   ├── gsoc-2018.json
│   ├── hdfs_log.json
│   ├── instruments.json
│   ├── log.json
│   ├── marine_ik.json
│   ├── mesh.json
│   ├── mesh.pretty.json
│   ├── numbers.json
│   ├── pass/
│   │   ├── pass01.json
│   │   ├── pass02.json
│   │   ├── pass03.json
│   │   ├── pass04.json
│   │   ├── pass05.json
│   │   ├── pass06.json
│   │   ├── pass07.json
│   │   ├── pass08.json
│   │   ├── pass09.json
│   │   ├── pass10.json
│   │   ├── pass11.json
│   │   ├── pass12.json
│   │   ├── pass13.json
│   │   ├── pass14.json
│   │   ├── pass15.json
│   │   └── pass16.json
│   ├── random.json
│   ├── twitter.json
│   ├── twitterescaped.json
│   └── update-center.json
├── examples/
│   └── perf.rs
├── fuzz/
│   ├── .gitignore
│   ├── Cargo.toml
│   └── fuzz_targets/
│       ├── failing.rs
│       ├── passing.rs
│       └── real.rs
├── fuzz.sh
├── profile.coz
├── src/
│   ├── charutils.rs
│   ├── cow.rs
│   ├── error.rs
│   ├── impls/
│   │   ├── avx2/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── mod.rs
│   │   ├── native/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── neon/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── portable/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   ├── simd128/
│   │   │   ├── deser.rs
│   │   │   ├── mod.rs
│   │   │   └── stage1.rs
│   │   └── sse42/
│   │       ├── deser.rs
│   │       ├── mod.rs
│   │       └── stage1.rs
│   ├── known_key.rs
│   ├── lib.rs
│   ├── macros.rs
│   ├── numberparse/
│   │   ├── approx.rs
│   │   ├── correct/
│   │   │   └── numberconst.rs
│   │   └── correct.rs
│   ├── numberparse.rs
│   ├── portability.rs
│   ├── prelude.rs
│   ├── safer_unchecked.rs
│   ├── serde/
│   │   ├── de/
│   │   │   └── tests.rs
│   │   ├── de.rs
│   │   ├── se/
│   │   │   └── pp.rs
│   │   ├── se.rs
│   │   ├── value/
│   │   │   ├── borrowed/
│   │   │   │   ├── de.rs
│   │   │   │   └── se.rs
│   │   │   ├── borrowed.rs
│   │   │   ├── owned/
│   │   │   │   ├── de.rs
│   │   │   │   └── se.rs
│   │   │   ├── owned.rs
│   │   │   └── shared.rs
│   │   └── value.rs
│   ├── serde.rs
│   ├── stage2.rs
│   ├── stringparse.rs
│   ├── tests/
│   │   ├── impls.rs
│   │   └── serde.rs
│   ├── tests.rs
│   ├── value/
│   │   ├── borrowed/
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   └── serialize.rs
│   │   ├── borrowed.rs
│   │   ├── lazy/
│   │   │   ├── array.rs
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   ├── object.rs
│   │   │   └── trait_impls.rs
│   │   ├── lazy.rs
│   │   ├── owned/
│   │   │   ├── cmp.rs
│   │   │   ├── from.rs
│   │   │   └── serialize.rs
│   │   ├── owned.rs
│   │   ├── tape/
│   │   │   ├── array.rs
│   │   │   ├── cmp.rs
│   │   │   ├── object.rs
│   │   │   └── trait_impls.rs
│   │   └── tape.rs
│   └── value.rs
└── tests/
    ├── alloc.rs
    ├── jsonchecker.rs
    ├── ordered_float.rs
    ├── serde_128_bit.rs
    ├── serenity.rs
    └── weird_type.rs
Download .txt
SYMBOL INDEX (1910 symbols across 68 files)

FILE: benches/parse.rs
  function to_borrowed_value (line 19) | fn to_borrowed_value(data: &mut [u8]) {
  function to_borrowed_value_with_buffers (line 23) | fn to_borrowed_value_with_buffers(data: &mut [u8], buffers: &mut Buffers) {
  function to_owned_value (line 27) | fn to_owned_value(data: &mut [u8]) {
  function serde_from_slice (line 32) | fn serde_from_slice(data: &[u8]) {

FILE: benches/to_tape.rs
  function serde_from_slice (line 14) | fn serde_from_slice(data: &[u8]) {

FILE: examples/perf.rs
  constant ROUNDS (line 5) | const ROUNDS: usize = 2000;
  constant WARMUP (line 6) | const WARMUP: usize = 200;
  type Stats (line 15) | struct Stats {
    method new (line 22) | fn new(algo: Implementation) -> Self {
    method start (line 48) | pub fn start(&self) -> Counter {
    method stop (line 66) | pub fn stop(&mut self, mut counter: Counter) {
    method print (line 101) | pub fn print(&self, name: &str, bytes: usize) {
    method print_diff (line 121) | pub fn print_diff(&self, baseline: &Stats, name: &str, bytes: usize) {
  type Stat (line 31) | struct Stat {
  type Counter (line 39) | struct Counter {
  function bench (line 163) | pub fn bench(name: &str, baseline: bool) {
  function bench (line 221) | pub fn bench(_name: &str, _baseline: bool) {
  function main (line 230) | fn main() {

FILE: src/charutils.rs
  constant STRUCTURAL_OR_WHITESPACE_NEGATED (line 3) | const STRUCTURAL_OR_WHITESPACE_NEGATED: [u32; 256] = [
  constant STRUCTURAL_OR_WHITESPACE (line 14) | const STRUCTURAL_OR_WHITESPACE: [u32; 256] = [
  function is_not_structural_or_whitespace (line 26) | pub fn is_not_structural_or_whitespace(c: u8) -> u32 {
  function is_structural_or_whitespace (line 31) | pub fn is_structural_or_whitespace(c: u8) -> u32 {
  constant DIGITTOVAL (line 35) | const DIGITTOVAL: [i8; 256] = [
  function hex_to_u32_nocheck (line 54) | pub fn hex_to_u32_nocheck(src: &[u8]) -> u32 {
  function codepoint_to_utf8 (line 86) | pub fn codepoint_to_utf8(cp: u32, c: &mut [u8]) -> usize {

FILE: src/error.rs
  type ErrorType (line 7) | pub enum ErrorType {
  type InternalError (line 96) | pub enum InternalError {
  method eq (line 108) | fn eq(&self, other: &Self) -> bool {
  type Error (line 155) | pub struct Error {
    method from (line 101) | fn from(e: std::io::Error) -> Self {
    method new (line 165) | pub(crate) fn new(index: usize, character: Option<char>, err_type: Err...
    method new_c (line 172) | pub(crate) fn new_c(index: usize, character: char, error: ErrorType) -...
    method generic (line 178) | pub fn generic(t: ErrorType) -> Self {
    method index (line 188) | pub fn index(&self) -> usize {
    method character (line 194) | pub fn character(&self) -> Option<char> {
    method error (line 200) | pub fn error(&self) -> &ErrorType {
    method is_io (line 210) | pub fn is_io(&self) -> bool {
    method is_eof (line 221) | pub fn is_eof(&self) -> bool {
    method is_data (line 227) | pub fn is_data(&self) -> bool {
    method is_syntax (line 234) | pub fn is_syntax(&self) -> bool {
    method fmt (line 269) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
  function from (line 280) | fn from(e: Error) -> Self {

FILE: src/impls/avx2/deser.rs
  function parse_str (line 27) | pub(crate) unsafe fn parse_str<'invoke, 'de>(

FILE: src/impls/avx2/stage1.rs
  type SimdInput (line 38) | pub(crate) struct SimdInput {
  type Utf8Validator (line 44) | type Utf8Validator = simdutf8::basic::imp::x86::avx2::ChunkedUtf8Validat...
  type SimdRepresentation (line 45) | type SimdRepresentation = __m256i;
  method new (line 50) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 63) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64 {
  method compute_quote_mask (line 77) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 91) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 106) | unsafe fn unsigned_lteq_against_input(&self, maxval: __m256i) -> u64 {
  method find_whitespace_and_structurals (line 119) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 201) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 255) | unsafe fn fill_s8(n: i8) -> __m256i {

FILE: src/impls/native/deser.rs
  function parse_str (line 8) | pub(crate) unsafe fn parse_str<'invoke, 'de>(
  function deser_str (line 117) | fn deser_str(input: &[u8]) -> Result<String> {
  function easy_string (line 130) | fn easy_string() -> Result<()> {
  function string_with_quote (line 137) | fn string_with_quote() -> Result<()> {
  function string_with_utf8 (line 144) | fn string_with_utf8() -> Result<()> {

FILE: src/impls/native/mod.rs
  type ChunkedUtf8ValidatorImp (line 12) | pub(crate) struct ChunkedUtf8ValidatorImp();
  method new (line 15) | unsafe fn new() -> Self
  method update_from_chunks (line 22) | unsafe fn update_from_chunks(&mut self, _input: &[u8]) {}
  method finalize (line 24) | unsafe fn finalize(

FILE: src/impls/native/stage1.rs
  type V128 (line 5) | type V128 = [u8; 16];
  function u8x16_splat (line 7) | fn u8x16_splat(n: u8) -> V128 {
  function v128_and (line 11) | fn v128_and(a: V128, b: V128) -> V128 {
  function u8x16_shr (line 32) | fn u8x16_shr(a: V128, n: i32) -> V128 {
  function u8x16_swizzle (line 53) | fn u8x16_swizzle(a: V128, s: V128) -> [u8; 16] {
  function bool_to_u8 (line 192) | fn bool_to_u8(b: bool) -> u8 {
  function u8x16_le (line 195) | fn u8x16_le(a: V128, b: V128) -> V128 {
  function u8x16_eq (line 216) | fn u8x16_eq(a: V128, b: V128) -> V128 {
  function u8x16_bitmask (line 237) | fn u8x16_bitmask(a: V128) -> u16 {
  type SimdInput (line 285) | pub(crate) struct SimdInput {
  type Utf8Validator (line 293) | type Utf8Validator = super::ChunkedUtf8ValidatorImp;
  type SimdRepresentation (line 294) | type SimdRepresentation = V128;
  method new (line 295) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 308) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 318) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 331) | unsafe fn unsigned_lteq_against_input(&self, maxval: V128) -> u64 {
  method find_whitespace_and_structurals (line 343) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 427) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 478) | unsafe fn fill_s8(n: i8) -> V128 {

FILE: src/impls/neon/deser.rs
  function find_bs_bits_and_quote_bits (line 15) | fn find_bs_bits_and_quote_bits(v0: uint8x16_t, v1: uint8x16_t) -> (u32, ...
  function parse_str (line 45) | pub(crate) fn parse_str<'invoke, 'de>(

FILE: src/impls/neon/stage1.rs
  function bit_mask (line 11) | pub(crate) unsafe fn bit_mask() -> uint8x16_t {
  function neon_movemask_bulk (line 21) | pub unsafe fn neon_movemask_bulk(
  type SimdInput (line 49) | pub(crate) struct SimdInput {
  type Utf8Validator (line 57) | type Utf8Validator = simdutf8::basic::imp::aarch64::neon::ChunkedUtf8Val...
  type SimdRepresentation (line 58) | type SimdRepresentation = int8x16_t;
  method new (line 60) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 72) | unsafe fn compute_quote_mask(mut quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 84) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 98) | unsafe fn unsigned_lteq_against_input(&self, maxval: int8x16_t) -> u64 {
  method find_whitespace_and_structurals (line 111) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 187) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 235) | unsafe fn fill_s8(n: i8) -> int8x16_t {

FILE: src/impls/portable/deser.rs
  function parse_str (line 10) | pub(crate) unsafe fn parse_str<'invoke, 'de>(

FILE: src/impls/portable/stage1.rs
  type SimdInput (line 5) | pub(crate) struct SimdInput {
  type Utf8Validator (line 10) | type Utf8Validator = simdutf8::basic::imp::portable::ChunkedUtf8Validato...
  type SimdRepresentation (line 11) | type SimdRepresentation = u8x64;
  method new (line 13) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 20) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 32) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 39) | unsafe fn unsigned_lteq_against_input(&self, maxval: u8x64) -> u64 {
  method find_whitespace_and_structurals (line 44) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 109) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 164) | unsafe fn fill_s8(n: i8) -> u8x64 {

FILE: src/impls/simd128/deser.rs
  function parse_str (line 17) | pub(crate) fn parse_str<'invoke, 'de>(

FILE: src/impls/simd128/stage1.rs
  type SimdInput (line 8) | pub(crate) struct SimdInput {
  type Utf8Validator (line 16) | type Utf8Validator = simdutf8::basic::imp::wasm32::simd128::ChunkedUtf8V...
  type SimdRepresentation (line 17) | type SimdRepresentation = v128;
  method new (line 21) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 31) | unsafe fn compute_quote_mask(mut quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 46) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 61) | unsafe fn unsigned_lteq_against_input(&self, maxval: v128) -> u64 {
  method find_whitespace_and_structurals (line 75) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 164) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 200) | unsafe fn fill_s8(n: i8) -> v128 {

FILE: src/impls/sse42/deser.rs
  function parse_str (line 20) | pub(crate) unsafe fn parse_str<'invoke, 'de>(

FILE: src/impls/sse42/stage1.rs
  type SimdInput (line 38) | pub(crate) struct SimdInput {
  type Utf8Validator (line 46) | type Utf8Validator = simdutf8::basic::imp::x86::sse42::ChunkedUtf8Valida...
  type SimdRepresentation (line 47) | type SimdRepresentation = __m128i;
  method new (line 51) | unsafe fn new(ptr: &[u8]) -> Self {
  method compute_quote_mask (line 66) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64 {
  method compute_quote_mask (line 80) | unsafe fn compute_quote_mask(mut quote_bits: u64) -> u64 {
  method cmp_mask_against_input (line 97) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64 {
  method unsigned_lteq_against_input (line 116) | unsafe fn unsigned_lteq_against_input(&self, maxval: __m128i) -> u64 {
  method find_whitespace_and_structurals (line 133) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64, s...
  method flatten_bits (line 247) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, mut bits: u64) {
  method fill_s8 (line 289) | unsafe fn fill_s8(n: i8) -> __m128i {

FILE: src/known_key.rs
  type NotSoRandomState (line 13) | pub struct NotSoRandomState(RandomState);
  method default (line 16) | fn default() -> Self {
  type Hasher (line 22) | type Hasher = AHasher;
  method build_hasher (line 24) | fn build_hasher(&self) -> AHasher {
  type KnownKey (line 32) | pub struct KnownKey<'key> {
  type Error (line 39) | pub enum Error {
    method fmt (line 46) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
  function from (line 58) | fn from(key: S) -> Self {
  function key (line 72) | pub fn key(&self) -> &Cow<'key, str> {
  function lookup (line 94) | pub fn lookup<'target, 'value>(
  function map_lookup (line 122) | pub fn map_lookup<'target, 'value>(
  function lookup_mut (line 156) | pub fn lookup_mut<'target, 'value>(
  function map_lookup_mut (line 190) | pub fn map_lookup_mut<'target, 'value>(
  function lookup_or_insert_mut (line 239) | pub fn lookup_or_insert_mut<'target, 'value, F>(
  function map_lookup_or_insert_mut (line 287) | pub fn map_lookup_or_insert_mut<'target, 'value, F>(
  function insert (line 331) | pub fn insert<'target, 'value>(
  function map_insert (line 376) | pub fn map_insert<'target, 'value>(
  function known_key (line 404) | fn known_key() {
  function known_key_insert (line 420) | fn known_key_insert() {
  function lookup_or_insert_mut (line 443) | fn lookup_or_insert_mut() {
  function known_key_map (line 468) | fn known_key_map() {
  function known_key_insert_map (line 482) | fn known_key_insert_map() {
  function known_key_get_key (line 506) | fn known_key_get_key() {

FILE: src/lib.rs
  constant SIMDJSON_PADDING (line 58) | pub(crate) const SIMDJSON_PADDING: usize = 32;
  constant SIMDINPUT_LENGTH (line 60) | pub(crate) const SIMDINPUT_LENGTH: usize = 64;
  type Result (line 75) | pub type Result<T> = std::result::Result<T, Error>;
  type Buffers (line 90) | pub struct Buffers {
    method new (line 109) | pub fn new(input_len: usize) -> Self {
  method default (line 99) | fn default() -> Self {
  function to_tape (line 126) | pub fn to_tape(s: &mut [u8]) -> Result<Tape<'_>> {
  function to_tape_with_buffers (line 135) | pub fn to_tape_with_buffers<'de>(s: &'de mut [u8], buffers: &mut Buffers...
  function fill_tape (line 144) | pub fn fill_tape<'de>(s: &'de mut [u8], buffers: &mut Buffers, tape: &mu...
  type Stage1Parse (line 149) | pub(crate) trait Stage1Parse {
    method new (line 153) | unsafe fn new(ptr: &[u8]) -> Self;
    method compute_quote_mask (line 155) | unsafe fn compute_quote_mask(quote_bits: u64) -> u64;
    method cmp_mask_against_input (line 157) | unsafe fn cmp_mask_against_input(&self, m: u8) -> u64;
    method unsigned_lteq_against_input (line 159) | unsafe fn unsigned_lteq_against_input(&self, maxval: Self::SimdReprese...
    method find_whitespace_and_structurals (line 161) | unsafe fn find_whitespace_and_structurals(&self, whitespace: &mut u64,...
    method flatten_bits (line 163) | unsafe fn flatten_bits(base: &mut Vec<u32>, idx: u32, bits: u64);
    method find_quote_mask_and_bits (line 177) | fn find_quote_mask_and_bits(
    method find_odd_backslash_sequences (line 215) | fn find_odd_backslash_sequences(&self, prev_iter_ends_odd_backslash: &...
    method finalize_structurals (line 253) | fn finalize_structurals(
    method fill_s8 (line 288) | unsafe fn fill_s8(n: i8) -> Self::SimdRepresentation;
  type Deserializer (line 293) | pub struct Deserializer<'de> {
  type SillyWrapper (line 303) | pub(crate) struct SillyWrapper<'de> {
  function from (line 310) | fn from(input: *mut u8) -> Self {
  type FnRaw (line 322) | type FnRaw = *mut ();
  type ParseStrFn (line 327) | type ParseStrFn = for<'invoke, 'de> unsafe fn(
  type FindStructuralBitsFn (line 337) | type FindStructuralBitsFn = unsafe fn(
  type Implementation (line 344) | pub enum Implementation {
    method fmt (line 360) | fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
  function algorithm (line 379) | pub fn algorithm() -> Implementation {
  function algorithm (line 405) | pub fn algorithm() -> Implementation {
  function algorithm (line 411) | pub fn algorithm() -> Implementation {
  function algorithm (line 422) | pub fn algorithm() -> Implementation {
  function algorithm (line 434) | pub fn algorithm() -> Implementation {
  function algorithm (line 441) | pub fn algorithm() -> Implementation {
  function algorithm (line 448) | pub fn algorithm() -> Implementation {
  function parse_str_ (line 459) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 522) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 536) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 555) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 572) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 584) | pub(crate) unsafe fn parse_str_<'invoke>(
  function parse_str_ (line 595) | pub(crate) unsafe fn parse_str_<'invoke>(
  function find_structural_bits (line 613) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 666) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 684) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 699) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 713) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 722) | pub(crate) unsafe fn find_structural_bits(
  function find_structural_bits (line 731) | pub(crate) unsafe fn find_structural_bits(
  function into_tape (line 744) | pub fn into_tape(self) -> Tape<'de> {
  function as_value (line 750) | pub fn as_value(&self) -> Value<'_, 'de> {
  function restart (line 756) | pub fn restart(&mut self) {
  function error (line 762) | fn error(error: ErrorType) -> Error {
  function error_c (line 767) | fn error_c(idx: usize, c: char, error: ErrorType) -> Error {
  function from_slice (line 776) | pub fn from_slice(input: &'de mut [u8]) -> Result<Self> {
  function fill_tape (line 793) | fn fill_tape(
  function from_slice_with_buffers (line 853) | pub fn from_slice_with_buffers(input: &'de mut [u8], buffer: &mut Buffer...
  function skip (line 863) | fn skip(&mut self) {
  function next_ (line 875) | pub unsafe fn next_(&mut self) -> Node<'de> {
  function _find_structural_bits (line 883) | pub(crate) unsafe fn _find_structural_bits<S: Stage1Parse>(
  type AlignedBuf (line 1036) | struct AlignedBuf {
    method with_capacity (line 1053) | pub fn with_capacity(capacity: usize) -> Self {
    method as_mut_ptr (line 1073) | fn as_mut_ptr(&mut self) -> *mut u8 {
    method capacity_overflow (line 1077) | fn capacity_overflow() -> ! {
    method capacity (line 1080) | fn capacity(&self) -> usize {
    method set_len (line 1083) | unsafe fn set_len(&mut self, n: usize) {
  method drop (line 1094) | fn drop(&mut self) {
  type Target (line 1102) | type Target = [u8];
  method deref (line 1104) | fn deref(&self) -> &Self::Target {
  method deref_mut (line 1110) | fn deref_mut(&mut self) -> &mut Self::Target {

FILE: src/macros.rs
  function owned_test_map (line 1281) | fn owned_test_map() -> OwnedValue {
  function borrowed_test_map (line 1287) | fn borrowed_test_map() -> BorrowedValue<'static> {
  function array (line 1294) | fn array() {
  function obj (line 1305) | fn obj() {
  function array_typed_owned (line 1317) | fn array_typed_owned() {
  function array_typed_borrowed (line 1327) | fn array_typed_borrowed() {
  function obj_typed_owned (line 1337) | fn obj_typed_owned() {
  function obj_typed_borrowed (line 1350) | fn obj_typed_borrowed() {

FILE: src/numberparse.rs
  function is_integer (line 25) | pub fn is_integer(c: u8) -> bool {
  constant STRUCTURAL_OR_WHITESPACE_OR_EXPONENT_OR_DECIMAL_NEGATED (line 32) | const STRUCTURAL_OR_WHITESPACE_OR_EXPONENT_OR_DECIMAL_NEGATED: [bool; 25...
  function is_not_structural_or_whitespace_or_exponent_or_decimal (line 53) | fn is_not_structural_or_whitespace_or_exponent_or_decimal(c: u8) -> bool {
  function is_made_of_eight_digits_fast (line 67) | fn is_made_of_eight_digits_fast(chars: [u8; 8]) -> bool {
  function parse_eight_digits_ssse3 (line 86) | unsafe fn parse_eight_digits_ssse3(chars: &[u8]) -> u32 {
  function parse_eight_digits_swar (line 115) | fn parse_eight_digits_swar(chars: &[u8]) -> u32 {
  function parse_eight_digits_unrolled (line 125) | fn parse_eight_digits_unrolled(chars: &[u8]) -> u32 {

FILE: src/numberparse/approx.rs
  constant POWER_OF_TEN (line 11) | const POWER_OF_TEN: [f64; 632] = [
  function parse_float (line 81) | fn parse_float(idx: usize, p: &[u8], negative: bool) -> Result<StaticNod...
  function parse_large_integer (line 226) | fn parse_large_integer(idx: usize, buf: &[u8], negative: bool) -> Result...
  function parse_large_integer (line 287) | fn parse_large_integer(idx: usize, buf: &[u8], negative: bool) -> Result...
  function parse_number (line 362) | pub(crate) fn parse_number(idx: usize, buf: &[u8], negative: bool) -> Re...
  function bad_exp (line 568) | fn bad_exp() {
  function bad_dot (line 605) | fn bad_dot() {
  function bad_e (line 625) | fn bad_e() {
  function zero (line 645) | fn zero() {
  function float_zero (line 653) | fn float_zero() {
  function minus_309 (line 661) | fn minus_309() {
  function tiny_float (line 673) | fn tiny_float() {

FILE: src/numberparse/correct.rs
  function multiply_as_u128 (line 47) | fn multiply_as_u128(a: u64, b: u64) -> (u64, u64) {
  function parse_number (line 59) | pub(crate) fn parse_number(idx: usize, buf: &[u8], negative: bool) -> Re...
  function parse_large_integer (line 208) | fn parse_large_integer(
  function parse_large_integer (line 250) | fn parse_large_integer(
  function f64_from_parts (line 311) | fn f64_from_parts(
  function f64_from_parts_slow (line 384) | fn f64_from_parts_slow(slice: &[u8], offset: usize) -> Result<StaticNode> {
  function to_value_from_str (line 408) | fn to_value_from_str(buf: &str) -> Result<Value, Error> {
  function float (line 416) | fn float() -> Result<(), crate::Error> {
  function float_precision (line 452) | fn float_precision() -> Result<(), crate::Error> {
  function int_trailing_invalid (line 481) | fn int_trailing_invalid() {
  function float_trailing_invalid (line 488) | fn float_trailing_invalid() {
  function bad_dot (line 497) | fn bad_dot() {
  function bad_e (line 505) | fn bad_e() {
  function infinite_literal (line 512) | fn infinite_literal() {
  function infinite_exponent (line 524) | fn infinite_exponent() {
  function nan (line 532) | fn nan() {
  function zero_int (line 538) | fn zero_int() -> Result<(), crate::Error> {
  function zero_float (line 544) | fn zero_float() -> Result<(), crate::Error> {
  function int (line 559) | fn int() -> Result<(), crate::Error> {
  function minus_309 (line 567) | fn minus_309() -> Result<(), crate::Error> {
  function tiny_float (line 576) | fn tiny_float() -> Result<(), crate::Error> {
  function huge_int (line 583) | fn huge_int() -> Result<(), crate::Error> {

FILE: src/numberparse/correct/numberconst.rs
  constant POW10_COMPONENTS (line 2) | pub(crate) const POW10_COMPONENTS: [(u64, i32); 634] = [
  constant MANTISSA_128 (line 640) | pub(crate) const MANTISSA_128: [u64; 634] = [
  constant POW10 (line 1277) | pub(crate) const POW10: [f64; 23] = [

FILE: src/portability.rs
  function add_overflow (line 8) | pub fn add_overflow(value1: u64, value2: u64, result: &mut u64) -> bool {
  function hamming (line 16) | pub fn hamming(input_num: u64) -> u32 {
  function hamming (line 22) | pub fn hamming(input_num: u64) -> u32 {
  function trailingzeroes (line 28) | pub fn trailingzeroes(input_num: u64) -> u32 {

FILE: src/safer_unchecked.rs
  type GetSaferUnchecked (line 3) | pub trait GetSaferUnchecked<T> {
    method get_kinda_unchecked (line 4) | unsafe fn get_kinda_unchecked<I>(&self, index: I) -> &<I as SliceIndex...
    method get_kinda_unchecked_mut (line 8) | unsafe fn get_kinda_unchecked_mut<I>(
  function get_kinda_unchecked (line 18) | unsafe fn get_kinda_unchecked<I>(&self, index: I) -> &<I as SliceIndex<[...
  function get_kinda_unchecked_mut (line 30) | unsafe fn get_kinda_unchecked_mut<I>(&mut self, index: I) -> &mut <I as ...

FILE: src/serde.rs
  type ConvertResult (line 21) | type ConvertResult<T> = std::result::Result<T, SerdeConversionError>;
  type SerdeConversionError (line 25) | pub enum SerdeConversionError {
    method fmt (line 34) | fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result {
  function from_slice (line 56) | pub fn from_slice<'a, T>(s: &'a mut [u8]) -> Result<T>
  function from_slice_with_buffers (line 73) | pub fn from_slice_with_buffers<'a, T>(s: &'a mut [u8], buffers: &mut Buf...
  function from_str (line 97) | pub unsafe fn from_str<'a, T>(s: &'a mut str) -> Result<T>
  function from_str_with_buffers (line 124) | pub unsafe fn from_str_with_buffers<'a, T>(s: &'a mut str, buffers: &mut...
  function from_reader (line 150) | pub fn from_reader<R, T>(mut rdr: R) -> Result<T>
  function from_reader_with_buffers (line 172) | pub fn from_reader_with_buffers<R, T>(mut rdr: R, buffers: &mut Buffers)...
  function next (line 200) | fn next(&mut self) -> Result<Node<'de>> {
  function peek (line 211) | fn peek(&self) -> Result<Node<'de>> {
  function parse_u8 (line 220) | fn parse_u8(&mut self) -> Result<u8> {
  function parse_u16 (line 231) | fn parse_u16(&mut self) -> Result<u16> {
  function parse_u32 (line 243) | fn parse_u32(&mut self) -> Result<u32> {
  function parse_u64 (line 254) | fn parse_u64(&mut self) -> Result<u64> {
  function parse_u128 (line 265) | fn parse_u128(&mut self) -> Result<u128> {
  function parse_i8 (line 276) | fn parse_i8(&mut self) -> Result<i8> {
  function parse_i16 (line 287) | fn parse_i16(&mut self) -> Result<i16> {
  function parse_i32 (line 298) | fn parse_i32(&mut self) -> Result<i32> {
  function parse_i64 (line 309) | fn parse_i64(&mut self) -> Result<i64> {
  function parse_i128 (line 320) | fn parse_i128(&mut self) -> Result<i128> {
  function parse_double (line 331) | fn parse_double(&mut self) -> Result<f64> {
  type Error (line 343) | type Error = SerdeConversionError;
  method try_from (line 344) | fn try_from(item: serde_json::Value) -> ConvertResult<Self> {
  type Error (line 374) | type Error = SerdeConversionError;
  method try_into (line 375) | fn try_into(self) -> ConvertResult<serde_json::Value> {
  type Error (line 418) | type Error = SerdeConversionError;
    method custom (line 186) | fn custom<T: fmt::Display>(msg: T) -> Self {
    method custom (line 192) | fn custom<T: fmt::Display>(msg: T) -> Self {
  function try_from (line 419) | fn try_from(item: serde_json::Value) -> ConvertResult<Self> {
  type Error (line 441) | type Error = SerdeConversionError;
    method custom (line 186) | fn custom<T: fmt::Display>(msg: T) -> Self {
    method custom (line 192) | fn custom<T: fmt::Display>(msg: T) -> Self {
  function try_into (line 442) | fn try_into(self) -> ConvertResult<serde_json::Value> {
  type UnitStruct (line 497) | struct UnitStruct;
  type NewTypeStruct (line 499) | struct NewTypeStruct(u8);
  type TupleStruct (line 501) | struct TupleStruct(u8, u8);
  type TestStruct (line 503) | struct TestStruct {
  type TestStruct2 (line 507) | struct TestStruct2 {
  type E (line 511) | enum E {
  type TestPoint (line 519) | struct TestPoint(f64, f64);
  function convert_owned_value (line 522) | fn convert_owned_value() {
  function convert_borrowed_value (line 585) | fn convert_borrowed_value() {
  function option_field_absent (line 641) | fn option_field_absent() {
  function option_field_present (line 660) | fn option_field_present() {
  function convert_enum (line 680) | fn convert_enum() {
  type Foo (line 743) | pub struct Foo {
  type Bar (line 749) | pub enum Bar {
  function object_simd_json (line 754) | fn object_simd_json() {
  function simple_simd_json (line 761) | fn simple_simd_json() {
  function array_as_struct (line 768) | fn array_as_struct() {
  function floats (line 788) | fn floats() {
  function vectors (line 809) | fn vectors() {
  function test_parsing_errors (line 883) | fn test_parsing_errors() {
  function maps (line 926) | fn maps() {

FILE: src/serde/de.rs
  type Error (line 11) | type Error = Error;
  function deserialize_any (line 17) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_bool (line 53) | fn deserialize_bool<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_str (line 66) | fn deserialize_str<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_string (line 78) | fn deserialize_string<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_i8 (line 93) | fn deserialize_i8<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_i16 (line 102) | fn deserialize_i16<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_i32 (line 111) | fn deserialize_i32<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_i64 (line 119) | fn deserialize_i64<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_i128 (line 127) | fn deserialize_i128<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_u8 (line 136) | fn deserialize_u8<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_u16 (line 145) | fn deserialize_u16<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_u32 (line 154) | fn deserialize_u32<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_u64 (line 162) | fn deserialize_u64<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_u128 (line 170) | fn deserialize_u128<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_f32 (line 179) | fn deserialize_f32<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_f64 (line 188) | fn deserialize_f64<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_option (line 205) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_unit (line 219) | fn deserialize_unit<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_seq (line 233) | fn deserialize_seq<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_tuple (line 254) | fn deserialize_tuple<V>(self, _len: usize, visitor: V) -> Result<V::Value>
  function deserialize_tuple_struct (line 265) | fn deserialize_tuple_struct<V>(
  function deserialize_unit_struct (line 278) | fn deserialize_unit_struct<V>(self, _name: &'static str, visitor: V) -> ...
  function deserialize_newtype_struct (line 288) | fn deserialize_newtype_struct<V>(self, _name: &'static str, visitor: V) ...
  function deserialize_map (line 296) | fn deserialize_map<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_struct (line 310) | fn deserialize_struct<V>(
  function deserialize_enum (line 328) | fn deserialize_enum<V>(
  type VariantAccess (line 357) | struct VariantAccess<'a, 'de> {
  function new (line 362) | fn new(de: &'a mut Deserializer<'de>) -> Self {
  type Error (line 368) | type Error = Error;
  type Variant (line 369) | type Variant = Self;
  function variant_seed (line 371) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self)>
  type Error (line 381) | type Error = Error;
  function unit_variant (line 383) | fn unit_variant(self) -> Result<()> {
  function newtype_variant_seed (line 387) | fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value>
  function tuple_variant (line 394) | fn tuple_variant<V>(self, _len: usize, visitor: V) -> Result<V::Value>
  function struct_variant (line 401) | fn struct_variant<V>(self, fields: &'static [&'static str], visitor: V) ...
  type CommaSeparated (line 412) | struct CommaSeparated<'a, 'de: 'a> {
  function new (line 418) | fn new(de: &'a mut Deserializer<'de>, len: usize) -> Self {
  type Error (line 426) | type Error = Error;
  function next_element_seed (line 429) | fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>>
  function size_hint (line 441) | fn size_hint(&self) -> Option<usize> {
  type Error (line 449) | type Error = Error;
  function next_key_seed (line 452) | fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>>
  function next_value_seed (line 465) | fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value>
  function size_hint (line 474) | fn size_hint(&self) -> Option<usize> {
  type MapKey (line 481) | struct MapKey<'de: 'a, 'a> {
  type Error (line 502) | type Error = Error;
  function deserialize_any (line 505) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_option (line 530) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_newtype_struct (line 539) | fn deserialize_newtype_struct<V>(self, _name: &'static str, visitor: V) ...
  function deserialize_enum (line 547) | fn deserialize_enum<V>(
  function deserialize_bytes (line 560) | fn deserialize_bytes<V>(self, visitor: V) -> Result<V::Value>
  function deserialize_byte_buf (line 568) | fn deserialize_byte_buf<V>(self, visitor: V) -> Result<V::Value>

FILE: src/serde/de/tests.rs
  constant JSON (line 7) | const JSON: &str = r#"{
  type GuildCreate (line 18) | pub enum GuildCreate {
  type UnavailableGuild (line 24) | pub struct UnavailableGuild {
  type Guild (line 29) | pub struct Guild {
  type Channel (line 34) | pub struct Channel {
  type AutoArchiveDuration (line 42) | pub enum AutoArchiveDuration {
    method from (line 51) | fn from(value: u16) -> Self {
    method deserialize (line 63) | fn deserialize<D: Deserializer<'de>>(deserializer: D) -> Result<Self, ...
  type U16EnumVisitor (line 68) | pub struct U16EnumVisitor;
    type Value (line 71) | type Value = u16;
    method expecting (line 73) | fn expecting(&self, f: &mut Formatter<'_>) -> FmtResult {
    method visit_u16 (line 77) | fn visit_u16<E: DeError>(self, value: u16) -> Result<Self::Value, E> {
    method visit_u64 (line 81) | fn visit_u64<E>(self, v: u64) -> Result<Self::Value, E>
  function test_deser_u16 (line 98) | fn test_deser_u16() -> Result<(), Box<dyn std::error::Error>> {

FILE: src/serde/se.rs
  function to_vec (line 19) | pub fn to_vec<T>(to: &T) -> crate::Result<Vec<u8>>
  function to_string (line 33) | pub fn to_string<T>(to: &T) -> crate::Result<String>
  function to_writer (line 44) | pub fn to_writer<T, W>(writer: W, to: &T) -> crate::Result<()>
  type Serializer (line 52) | struct Serializer<W: Write>(W);
  type T (line 58) | type T = W;
  method get_writer (line 60) | fn get_writer(&mut self) -> &mut Self::T {
  method write_min (line 64) | fn write_min(&mut self, _slice: &[u8], min: u8) -> std::io::Result<()> {
  type SerializeSeq (line 68) | struct SerializeSeq<'serializer, W: Write + 'serializer> {
  type Ok (line 76) | type Ok = ();
  type Error (line 77) | type Error = Error;
  function serialize_element (line 79) | fn serialize_element<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 96) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 109) | type Ok = ();
  type Error (line 110) | type Error = Error;
  function serialize_element (line 112) | fn serialize_element<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 128) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 141) | type Ok = ();
  type Error (line 142) | type Error = Error;
  function serialize_field (line 144) | fn serialize_field<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 160) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 173) | type Ok = ();
  type Error (line 174) | type Error = Error;
  function serialize_field (line 176) | fn serialize_field<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 192) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type SerializeMap (line 201) | struct SerializeMap<'serializer, W: Write + 'serializer> {
  type Ok (line 211) | type Ok = ();
  type Error (line 212) | type Error = Error;
  function serialize_key (line 214) | fn serialize_key<T>(&mut self, key: &T) -> Result<(), Self::Error>
  function serialize_value (line 235) | fn serialize_value<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 243) | fn end(self) -> Result<Self::Ok, Self::Error> {
  function key_must_be_a_string (line 252) | fn key_must_be_a_string() -> Error {
  type MapKeySerializer (line 256) | struct MapKeySerializer<'serializer, W: Write + 'serializer> {
  type Ok (line 264) | type Ok = ();
  type Error (line 265) | type Error = Error;
  function serialize_str (line 268) | fn serialize_str(self, value: &str) -> Result<(), Self::Error> {
  function serialize_unit_variant (line 273) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 283) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> ...
  type SerializeSeq (line 290) | type SerializeSeq = ser::Impossible<(), Error>;
  type SerializeTuple (line 291) | type SerializeTuple = ser::Impossible<(), Error>;
  type SerializeTupleStruct (line 292) | type SerializeTupleStruct = ser::Impossible<(), Error>;
  type SerializeTupleVariant (line 293) | type SerializeTupleVariant = ser::Impossible<(), Error>;
  type SerializeMap (line 294) | type SerializeMap = ser::Impossible<(), Error>;
  type SerializeStruct (line 295) | type SerializeStruct = ser::Impossible<(), Error>;
  type SerializeStructVariant (line 296) | type SerializeStructVariant = ser::Impossible<(), Error>;
  function serialize_bool (line 298) | fn serialize_bool(self, _value: bool) -> Result<(), Self::Error> {
  function serialize_i8 (line 302) | fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error> {
  function serialize_i16 (line 311) | fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error> {
  function serialize_i32 (line 320) | fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error> {
  function serialize_i64 (line 329) | fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error> {
  function serialize_i128 (line 338) | fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error> {
  function serialize_u8 (line 347) | fn serialize_u8(self, v: u8) -> Result<Self::Ok, Self::Error> {
  function serialize_u16 (line 356) | fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error> {
  function serialize_u32 (line 365) | fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error> {
  function serialize_u64 (line 374) | fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error> {
  function serialize_u128 (line 383) | fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error> {
  function serialize_f32 (line 392) | fn serialize_f32(self, _v: f32) -> Result<Self::Ok, Self::Error> {
  function serialize_f64 (line 396) | fn serialize_f64(self, _v: f64) -> Result<Self::Ok, Self::Error> {
  function serialize_char (line 400) | fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error> {
  function serialize_bytes (line 404) | fn serialize_bytes(self, _v: &[u8]) -> Result<Self::Ok, Self::Error> {
  function serialize_none (line 408) | fn serialize_none(self) -> Result<Self::Ok, Self::Error> {
  function serialize_some (line 412) | fn serialize_some<T>(self, _value: &T) -> Result<Self::Ok, Self::Error>
  function serialize_unit (line 419) | fn serialize_unit(self) -> Result<Self::Ok, Self::Error> {
  function serialize_unit_struct (line 423) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok, ...
  function serialize_newtype_variant (line 427) | fn serialize_newtype_variant<T>(
  function serialize_seq (line 440) | fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq...
  function serialize_tuple (line 444) | fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple, Se...
  function serialize_tuple_struct (line 448) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 456) | fn serialize_tuple_variant(
  function serialize_map (line 466) | fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap...
  function serialize_struct (line 470) | fn serialize_struct(
  function serialize_struct_variant (line 478) | fn serialize_struct_variant(
  type Ok (line 493) | type Ok = ();
  type Error (line 494) | type Error = Error;
  function serialize_field (line 496) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 519) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type SerializeStructVariant (line 528) | struct SerializeStructVariant<'serializer, W: Write + 'serializer> {
  type Ok (line 537) | type Ok = ();
  type Error (line 538) | type Error = Error;
  function serialize_field (line 540) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 563) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 578) | type Ok = ();
  type Error (line 579) | type Error = Error;
  type SerializeSeq (line 580) | type SerializeSeq = SerializeSeq<'writer, W>;
  type SerializeTuple (line 581) | type SerializeTuple = SerializeSeq<'writer, W>;
  type SerializeTupleStruct (line 582) | type SerializeTupleStruct = SerializeSeq<'writer, W>;
  type SerializeTupleVariant (line 583) | type SerializeTupleVariant = SerializeSeq<'writer, W>;
  type SerializeMap (line 584) | type SerializeMap = SerializeMap<'writer, W>;
  type SerializeStruct (line 585) | type SerializeStruct = SerializeMap<'writer, W>;
  type SerializeStructVariant (line 586) | type SerializeStructVariant = SerializeStructVariant<'writer, W>;
  function serialize_bool (line 588) | fn serialize_bool(self, v: bool) -> Result<Self::Ok, Self::Error> {
  function serialize_i8 (line 596) | fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error> {
  function serialize_i16 (line 600) | fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error> {
  function serialize_i32 (line 604) | fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error> {
  function serialize_i64 (line 608) | fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error> {
  function serialize_i128 (line 612) | fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error> {
  function serialize_u8 (line 616) | fn serialize_u8(self, v: u8) -> Result<Self::Ok, Self::Error> {
  function serialize_u16 (line 620) | fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error> {
  function serialize_u32 (line 624) | fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error> {
  function serialize_u64 (line 628) | fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error> {
  function serialize_u128 (line 632) | fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error> {
  function serialize_f32 (line 637) | fn serialize_f32(self, v: f32) -> Result<Self::Ok, Self::Error> {
  function serialize_f64 (line 641) | fn serialize_f64(self, v: f64) -> Result<Self::Ok, Self::Error> {
  function serialize_char (line 645) | fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error> {
  function serialize_str (line 652) | fn serialize_str(self, v: &str) -> Result<Self::Ok, Self::Error> {
  function serialize_bytes (line 656) | fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok, Self::Error> {
  function serialize_none (line 671) | fn serialize_none(self) -> Result<Self::Ok, Self::Error> {
  function serialize_some (line 675) | fn serialize_some<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
  function serialize_unit (line 682) | fn serialize_unit(self) -> Result<Self::Ok, Self::Error> {
  function serialize_unit_struct (line 686) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok, ...
  function serialize_unit_variant (line 690) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 700) | fn serialize_newtype_struct<T>(
  function serialize_newtype_variant (line 712) | fn serialize_newtype_variant<T>(
  function serialize_seq (line 731) | fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq,...
  function serialize_tuple (line 744) | fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Sel...
  function serialize_tuple_struct (line 749) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 758) | fn serialize_tuple_variant(
  function serialize_map (line 774) | fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMap,...
  function serialize_struct (line 790) | fn serialize_struct(
  function serialize_struct_variant (line 799) | fn serialize_struct_variant(
  function enum_tuple (line 834) | fn enum_tuple() {
  function print_serde (line 848) | fn print_serde() {
  function numerical_map_serde (line 861) | fn numerical_map_serde() {
  function arb_json_value (line 883) | fn arb_json_value() -> BoxedStrategy<Value> {
  function arb_json_value (line 915) | fn arb_json_value() -> BoxedStrategy<Value> {

FILE: src/serde/se/pp.rs
  function to_vec_pretty (line 19) | pub fn to_vec_pretty<T>(to: &T) -> crate::Result<Vec<u8>>
  function to_string_pretty (line 33) | pub fn to_string_pretty<T>(to: &T) -> crate::Result<String>
  function to_writer_pretty (line 44) | pub fn to_writer_pretty<T, W>(writer: W, to: &T) -> crate::Result<()>
  type PrettySerializer (line 52) | struct PrettySerializer<W: Write> {
  function new (line 57) | fn new(writer: W) -> Self {
  type T (line 66) | type T = W;
  method get_writer (line 68) | fn get_writer(&mut self) -> &mut Self::T {
  method write_min (line 72) | fn write_min(&mut self, _slice: &[u8], min: u8) -> std::io::Result<()> {
  method new_line (line 76) | fn new_line(&mut self) -> std::io::Result<()> {
  method indent (line 97) | fn indent(&mut self) {
  method dedent (line 101) | fn dedent(&mut self) {
  type SerializeSeq (line 105) | struct SerializeSeq<'serializer, W: Write + 'serializer> {
  type Ok (line 113) | type Ok = ();
  type Error (line 114) | type Error = Error;
  function serialize_element (line 116) | fn serialize_element<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 134) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 148) | type Ok = ();
  type Error (line 149) | type Error = Error;
  function serialize_element (line 151) | fn serialize_element<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 168) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 182) | type Ok = ();
  type Error (line 183) | type Error = Error;
  function serialize_field (line 185) | fn serialize_field<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 202) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 216) | type Ok = ();
  type Error (line 217) | type Error = Error;
  function serialize_field (line 219) | fn serialize_field<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 236) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type MapKeySerializer (line 246) | struct MapKeySerializer<'serializer, W: Write + 'serializer> {
  type Ok (line 254) | type Ok = ();
  type Error (line 255) | type Error = Error;
  function serialize_str (line 258) | fn serialize_str(self, value: &str) -> Result<(), Self::Error> {
  function serialize_unit_variant (line 263) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 273) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> ...
  type SerializeSeq (line 280) | type SerializeSeq = ser::Impossible<(), Error>;
  type SerializeTuple (line 281) | type SerializeTuple = ser::Impossible<(), Error>;
  type SerializeTupleStruct (line 282) | type SerializeTupleStruct = ser::Impossible<(), Error>;
  type SerializeTupleVariant (line 283) | type SerializeTupleVariant = ser::Impossible<(), Error>;
  type SerializeMap (line 284) | type SerializeMap = ser::Impossible<(), Error>;
  type SerializeStruct (line 285) | type SerializeStruct = ser::Impossible<(), Error>;
  type SerializeStructVariant (line 286) | type SerializeStructVariant = ser::Impossible<(), Error>;
  function serialize_bool (line 288) | fn serialize_bool(self, _value: bool) -> Result<(), Self::Error> {
  function serialize_i8 (line 292) | fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error> {
  function serialize_i16 (line 301) | fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error> {
  function serialize_i32 (line 310) | fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error> {
  function serialize_i64 (line 319) | fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error> {
  function serialize_i128 (line 328) | fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error> {
  function serialize_u8 (line 337) | fn serialize_u8(self, v: u8) -> Result<Self::Ok, Self::Error> {
  function serialize_u16 (line 346) | fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error> {
  function serialize_u32 (line 355) | fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error> {
  function serialize_u64 (line 364) | fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error> {
  function serialize_u128 (line 373) | fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error> {
  function serialize_f32 (line 382) | fn serialize_f32(self, _v: f32) -> Result<Self::Ok, Self::Error> {
  function serialize_f64 (line 386) | fn serialize_f64(self, _v: f64) -> Result<Self::Ok, Self::Error> {
  function serialize_char (line 390) | fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error> {
  function serialize_bytes (line 394) | fn serialize_bytes(self, _v: &[u8]) -> Result<Self::Ok, Self::Error> {
  function serialize_none (line 398) | fn serialize_none(self) -> Result<Self::Ok, Self::Error> {
  function serialize_some (line 402) | fn serialize_some<T>(self, _value: &T) -> Result<Self::Ok, Self::Error>
  function serialize_unit (line 409) | fn serialize_unit(self) -> Result<Self::Ok, Self::Error> {
  function serialize_unit_struct (line 413) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok, ...
  function serialize_newtype_variant (line 417) | fn serialize_newtype_variant<T>(
  function serialize_seq (line 430) | fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq...
  function serialize_tuple (line 434) | fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple, Se...
  function serialize_tuple_struct (line 438) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 446) | fn serialize_tuple_variant(
  function serialize_map (line 456) | fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap...
  function serialize_struct (line 460) | fn serialize_struct(
  function serialize_struct_variant (line 468) | fn serialize_struct_variant(
  type SerializeMap (line 479) | struct SerializeMap<'serializer, W: Write + 'serializer> {
  type Ok (line 488) | type Ok = ();
  type Error (line 489) | type Error = Error;
  function serialize_key (line 491) | fn serialize_key<T>(&mut self, key: &T) -> Result<(), Self::Error>
  function serialize_value (line 513) | fn serialize_value<T>(&mut self, value: &T) -> Result<(), Self::Error>
  function end (line 521) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 535) | type Ok = ();
  type Error (line 536) | type Error = Error;
  function serialize_field (line 538) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 565) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type SerializeStructVariant (line 575) | struct SerializeStructVariant<'serializer, W: Write + 'serializer> {
  type Ok (line 584) | type Ok = ();
  type Error (line 585) | type Error = Error;
  function serialize_field (line 587) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 615) | fn end(self) -> Result<Self::Ok, Self::Error> {
  type Ok (line 633) | type Ok = ();
  type Error (line 634) | type Error = Error;
  type SerializeSeq (line 635) | type SerializeSeq = SerializeSeq<'writer, W>;
  type SerializeTuple (line 636) | type SerializeTuple = SerializeSeq<'writer, W>;
  type SerializeTupleStruct (line 637) | type SerializeTupleStruct = SerializeSeq<'writer, W>;
  type SerializeTupleVariant (line 638) | type SerializeTupleVariant = SerializeSeq<'writer, W>;
  type SerializeMap (line 639) | type SerializeMap = SerializeMap<'writer, W>;
  type SerializeStruct (line 640) | type SerializeStruct = SerializeMap<'writer, W>;
  type SerializeStructVariant (line 641) | type SerializeStructVariant = SerializeStructVariant<'writer, W>;
  function serialize_bool (line 643) | fn serialize_bool(self, v: bool) -> Result<Self::Ok, Self::Error> {
  function serialize_i8 (line 651) | fn serialize_i8(self, v: i8) -> Result<Self::Ok, Self::Error> {
  function serialize_i16 (line 655) | fn serialize_i16(self, v: i16) -> Result<Self::Ok, Self::Error> {
  function serialize_i32 (line 659) | fn serialize_i32(self, v: i32) -> Result<Self::Ok, Self::Error> {
  function serialize_i64 (line 663) | fn serialize_i64(self, v: i64) -> Result<Self::Ok, Self::Error> {
  function serialize_i128 (line 667) | fn serialize_i128(self, v: i128) -> Result<Self::Ok, Self::Error> {
  function serialize_u8 (line 671) | fn serialize_u8(self, v: u8) -> Result<Self::Ok, Self::Error> {
  function serialize_u16 (line 675) | fn serialize_u16(self, v: u16) -> Result<Self::Ok, Self::Error> {
  function serialize_u32 (line 679) | fn serialize_u32(self, v: u32) -> Result<Self::Ok, Self::Error> {
  function serialize_u64 (line 683) | fn serialize_u64(self, v: u64) -> Result<Self::Ok, Self::Error> {
  function serialize_u128 (line 687) | fn serialize_u128(self, v: u128) -> Result<Self::Ok, Self::Error> {
  function serialize_f32 (line 692) | fn serialize_f32(self, v: f32) -> Result<Self::Ok, Self::Error> {
  function serialize_f64 (line 696) | fn serialize_f64(self, v: f64) -> Result<Self::Ok, Self::Error> {
  function serialize_char (line 700) | fn serialize_char(self, v: char) -> Result<Self::Ok, Self::Error> {
  function serialize_str (line 707) | fn serialize_str(self, v: &str) -> Result<Self::Ok, Self::Error> {
  function serialize_bytes (line 711) | fn serialize_bytes(self, v: &[u8]) -> Result<Self::Ok, Self::Error> {
  function serialize_none (line 730) | fn serialize_none(self) -> Result<Self::Ok, Self::Error> {
  function serialize_some (line 734) | fn serialize_some<T>(self, value: &T) -> Result<Self::Ok, Self::Error>
  function serialize_unit (line 741) | fn serialize_unit(self) -> Result<Self::Ok, Self::Error> {
  function serialize_unit_struct (line 745) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok, ...
  function serialize_unit_variant (line 749) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 759) | fn serialize_newtype_struct<T>(
  function serialize_newtype_variant (line 771) | fn serialize_newtype_variant<T>(
  function serialize_seq (line 790) | fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq,...
  function serialize_tuple (line 804) | fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple, Sel...
  function serialize_tuple_struct (line 809) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 818) | fn serialize_tuple_variant(
  function serialize_map (line 836) | fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMap,...
  function serialize_struct (line 850) | fn serialize_struct(
  function serialize_struct_variant (line 859) | fn serialize_struct_variant(
  function pretty_print_serde (line 897) | fn pretty_print_serde() {
  function numerical_map_serde (line 910) | fn numerical_map_serde() {
  function arb_json_value (line 936) | fn arb_json_value() -> BoxedStrategy<Value> {
  function arb_json_value (line 968) | fn arb_json_value() -> BoxedStrategy<Value> {
  function prettyfy (line 1026) | fn prettyfy() {

FILE: src/serde/value/borrowed.rs
  function to_value (line 14) | pub fn to_value<'se, T>(value: T) -> Result<BorrowedValue<'se>>
  function from_value (line 27) | pub fn from_value<'de, T>(value: BorrowedValue<'de>) -> Result<T>
  function from_refvalue (line 40) | pub fn from_refvalue<'de, T>(value: &'de BorrowedValue<'de>) -> Result<T>

FILE: src/serde/value/borrowed/de.rs
  type Error (line 20) | type Error = Error;
  function deserialize_any (line 25) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_option (line 60) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_enum (line 72) | fn deserialize_enum<V>(
  function deserialize_newtype_struct (line 106) | fn deserialize_newtype_struct<V>(
  function deserialize_struct (line 118) | fn deserialize_struct<V>(
  type Array (line 145) | struct Array<'de>(std::vec::IntoIter<Value<'de>>);
  type Error (line 150) | type Error = Error;
  function next_element_seed (line 152) | fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, ...
  type ArrayRef (line 162) | struct ArrayRef<'de>(std::slice::Iter<'de, Value<'de>>);
  type Error (line 167) | type Error = Error;
  function next_element_seed (line 169) | fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, ...
  type ObjectAccess (line 179) | struct ObjectAccess<'de, const N: usize = 32> {
  function new (line 185) | fn new(i: halfbrown::IntoIter<Cow<'de, str>, Value<'de>, N>) -> Self {
  type Error (line 193) | type Error = Error;
  function next_key_seed (line 195) | fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, Self...
  function next_value_seed (line 208) | fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, Self::Error>
  type ObjectRefAccess (line 219) | struct ObjectRefAccess<'de> {
  function new (line 224) | fn new(i: halfbrown::Iter<'de, Cow<'de, str>, Value<'de>>) -> Self {
  type Error (line 232) | type Error = Error;
  function next_key_seed (line 234) | fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, Self...
  function next_value_seed (line 247) | fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, Self::Error>
  function deserialize (line 259) | fn deserialize<D>(deserializer: D) -> Result<Value<'de>, D::Error>
  type ValueVisitor (line 267) | struct ValueVisitor;
    type Value (line 270) | type Value = Value<'de>;
    method expecting (line 272) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
    method visit_unit (line 278) | fn visit_unit<E>(self) -> Result<Self::Value, E> {
    method visit_bool (line 284) | fn visit_bool<E>(self, value: bool) -> Result<Self::Value, E> {
    method visit_none (line 290) | fn visit_none<E>(self) -> Result<Self::Value, E> {
    method visit_some (line 295) | fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
    method visit_i8 (line 312) | fn visit_i8<E>(self, value: i8) -> Result<Self::Value, E>
    method visit_i16 (line 320) | fn visit_i16<E>(self, value: i16) -> Result<Self::Value, E>
    method visit_i32 (line 328) | fn visit_i32<E>(self, value: i32) -> Result<Self::Value, E>
    method visit_i64 (line 336) | fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
    method visit_i128 (line 345) | fn visit_i128<E>(self, value: i128) -> Result<Self::Value, E>
    method visit_u8 (line 355) | fn visit_u8<E>(self, value: u8) -> Result<Self::Value, E>
    method visit_u16 (line 363) | fn visit_u16<E>(self, value: u16) -> Result<Self::Value, E>
    method visit_u32 (line 371) | fn visit_u32<E>(self, value: u32) -> Result<Self::Value, E>
    method visit_u64 (line 379) | fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
    method visit_u128 (line 388) | fn visit_u128<E>(self, value: u128) -> Result<Self::Value, E>
    method visit_f32 (line 398) | fn visit_f32<E>(self, value: f32) -> Result<Self::Value, E>
    method visit_f64 (line 406) | fn visit_f64<E>(self, value: f64) -> Result<Self::Value, E>
    method visit_char (line 415) | fn visit_char<E>(self, value: char) -> Result<Self::Value, E>
    method visit_borrowed_str (line 423) | fn visit_borrowed_str<E>(self, value: &'de str) -> Result<Self::Value, E>
    method visit_str (line 431) | fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
    method visit_string (line 439) | fn visit_string<E>(self, value: String) -> Result<Self::Value, E>
    method visit_map (line 476) | fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
    method visit_seq (line 491) | fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
  type EnumDeserializer (line 505) | struct EnumDeserializer<'de> {
  type Error (line 511) | type Error = Error;
  type Variant (line 512) | type Variant = VariantDeserializer<'de>;
  function variant_seed (line 514) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, VariantDeserializ...
  type Deserializer (line 525) | type Deserializer = Self;
  function into_deserializer (line 527) | fn into_deserializer(self) -> Self::Deserializer {
  type VariantDeserializer (line 532) | struct VariantDeserializer<'de> {
  type Error (line 537) | type Error = Error;
  function unit_variant (line 539) | fn unit_variant(self) -> Result<(), Error> {
  function newtype_variant_seed (line 546) | fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, Error>
  function tuple_variant (line 559) | fn tuple_variant<V>(self, _len: usize, visitor: V) -> Result<V::Value, E...
  function struct_variant (line 582) | fn struct_variant<V>(
  type Error (line 605) | type Error = Error;
  function deserialize_any (line 610) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_option (line 632) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_newtype_struct (line 643) | fn deserialize_newtype_struct<V>(
  function deserialize_struct (line 655) | fn deserialize_struct<V>(
  function deserialize_enum (line 676) | fn deserialize_enum<V>(
  type EnumRefDeserializer (line 716) | struct EnumRefDeserializer<'de> {
  type Error (line 722) | type Error = Error;
  type Variant (line 723) | type Variant = VariantRefDeserializer<'de>;
  function variant_seed (line 726) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant), E...
  function variant_seed (line 735) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant), E...
  type VariantRefDeserializer (line 745) | struct VariantRefDeserializer<'de> {
  type Error (line 750) | type Error = Error;
  function unit_variant (line 752) | fn unit_variant(self) -> Result<(), Error> {
  function newtype_variant_seed (line 759) | fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, Error>
  function tuple_variant (line 772) | fn tuple_variant<V>(self, _len: usize, visitor: V) -> Result<V::Value, E...
  function struct_variant (line 795) | fn struct_variant<V>(
  function option_field_absent_owned (line 824) | fn option_field_absent_owned() {
  function option_field_present_owned (line 845) | fn option_field_present_owned() {
  function deserialize (line 876) | fn deserialize() {
  function deserialize_128bit (line 939) | fn deserialize_128bit() {
  function variant (line 952) | fn variant() {

FILE: src/serde/value/borrowed/se.rs
  type Impossible (line 14) | type Impossible<T> = ser::Impossible<T, Error>;
  method serialize (line 17) | fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::E...
  type Serializer (line 52) | pub struct Serializer<'se> {
  method default (line 57) | fn default() -> Self {
  type Ok (line 65) | type Ok = Value<'se>;
  type Error (line 66) | type Error = Error;
  type SerializeSeq (line 68) | type SerializeSeq = SerializeVec<'se>;
  type SerializeTuple (line 69) | type SerializeTuple = SerializeVec<'se>;
  type SerializeTupleStruct (line 70) | type SerializeTupleStruct = SerializeVec<'se>;
  type SerializeTupleVariant (line 71) | type SerializeTupleVariant = SerializeTupleVariant<'se>;
  type SerializeMap (line 72) | type SerializeMap = SerializeMap<'se>;
  type SerializeStruct (line 73) | type SerializeStruct = SerializeMap<'se>;
  type SerializeStructVariant (line 74) | type SerializeStructVariant = SerializeStructVariant<'se>;
  function serialize_bool (line 77) | fn serialize_bool(self, value: bool) -> Result<Value<'se>> {
  function serialize_i8 (line 82) | fn serialize_i8(self, value: i8) -> Result<Value<'se>> {
  function serialize_i16 (line 87) | fn serialize_i16(self, value: i16) -> Result<Value<'se>> {
  function serialize_i32 (line 92) | fn serialize_i32(self, value: i32) -> Result<Value<'se>> {
  function serialize_i64 (line 96) | fn serialize_i64(self, value: i64) -> Result<Value<'se>> {
  function serialize_i128 (line 101) | fn serialize_i128(self, value: i128) -> Result<Value<'se>> {
  function serialize_u8 (line 106) | fn serialize_u8(self, value: u8) -> Result<Value<'se>> {
  function serialize_u16 (line 111) | fn serialize_u16(self, value: u16) -> Result<Value<'se>> {
  function serialize_u32 (line 116) | fn serialize_u32(self, value: u32) -> Result<Value<'se>> {
  function serialize_u64 (line 121) | fn serialize_u64(self, value: u64) -> Result<Value<'se>> {
  function serialize_u128 (line 126) | fn serialize_u128(self, value: u128) -> Result<Value<'se>> {
  function serialize_f32 (line 131) | fn serialize_f32(self, value: f32) -> Result<Value<'se>> {
  function serialize_f64 (line 136) | fn serialize_f64(self, value: f64) -> Result<Value<'se>> {
  function serialize_char (line 141) | fn serialize_char(self, value: char) -> Result<Value<'se>> {
  function serialize_str (line 148) | fn serialize_str(self, value: &str) -> Result<Value<'se>> {
  function serialize_bytes (line 153) | fn serialize_bytes(self, value: &[u8]) -> Result<Value<'se>> {
  function serialize_unit (line 158) | fn serialize_unit(self) -> Result<Value<'se>> {
  function serialize_unit_struct (line 163) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Value<'se>> {
  function serialize_unit_variant (line 168) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 178) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> ...
  function serialize_newtype_variant (line 185) | fn serialize_newtype_variant<T>(
  function serialize_none (line 202) | fn serialize_none(self) -> Result<Value<'se>> {
  function serialize_some (line 207) | fn serialize_some<T>(self, value: &T) -> Result<Value<'se>>
  function serialize_seq (line 214) | fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSeq> {
  function serialize_tuple (line 220) | fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple> {
  function serialize_tuple_struct (line 224) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 232) | fn serialize_tuple_variant(
  function serialize_map (line 245) | fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMap> {
  function serialize_struct (line 252) | fn serialize_struct(self, _name: &'static str, len: usize) -> Result<Sel...
  function serialize_struct_variant (line 256) | fn serialize_struct_variant(
  type SerializeVec (line 270) | pub struct SerializeVec<'se> {
  type SerializeTupleVariant (line 274) | pub struct SerializeTupleVariant<'se> {
  type SerializeMap (line 279) | pub struct SerializeMap<'se> {
  type SerializeStructVariant (line 284) | pub struct SerializeStructVariant<'se> {
  type Ok (line 290) | type Ok = Value<'se>;
  type Error (line 291) | type Error = Error;
  function serialize_element (line 293) | fn serialize_element<T>(&mut self, value: &T) -> Result<()>
  function end (line 301) | fn end(self) -> Result<Value<'se>> {
  type Ok (line 307) | type Ok = Value<'se>;
  type Error (line 308) | type Error = Error;
  function serialize_element (line 310) | fn serialize_element<T>(&mut self, value: &T) -> Result<()>
  function end (line 317) | fn end(self) -> Result<Value<'se>> {
  type Ok (line 323) | type Ok = Value<'se>;
  type Error (line 324) | type Error = Error;
  function serialize_field (line 326) | fn serialize_field<T>(&mut self, value: &T) -> Result<()>
  function end (line 333) | fn end(self) -> Result<Value<'se>> {
  type Ok (line 339) | type Ok = Value<'se>;
  type Error (line 340) | type Error = Error;
  function serialize_field (line 342) | fn serialize_field<T>(&mut self, value: &T) -> Result<()>
  function end (line 350) | fn end(self) -> Result<Value<'se>> {
  type Ok (line 359) | type Ok = Value<'se>;
  type Error (line 360) | type Error = Error;
  function serialize_key (line 362) | fn serialize_key<T>(&mut self, key: &T) -> Result<()>
  function serialize_value (line 372) | fn serialize_value<T>(&mut self, value: &T) -> Result<()>
  function end (line 384) | fn end(self) -> Result<Value<'se>> {
  type MapKeySerializer (line 389) | struct MapKeySerializer<'se> {
  function key_must_be_a_string (line 393) | fn key_must_be_a_string() -> Error {
  type Ok (line 398) | type Ok = Cow<'se, str>;
  type Error (line 399) | type Error = Error;
  type SerializeSeq (line 401) | type SerializeSeq = Impossible<Cow<'se, str>>;
  type SerializeTuple (line 402) | type SerializeTuple = Impossible<Cow<'se, str>>;
  type SerializeTupleStruct (line 403) | type SerializeTupleStruct = Impossible<Cow<'se, str>>;
  type SerializeTupleVariant (line 404) | type SerializeTupleVariant = Impossible<Cow<'se, str>>;
  type SerializeMap (line 405) | type SerializeMap = Impossible<Cow<'se, str>>;
  type SerializeStruct (line 406) | type SerializeStruct = Impossible<Cow<'se, str>>;
  type SerializeStructVariant (line 407) | type SerializeStructVariant = Impossible<Cow<'se, str>>;
  function serialize_unit_variant (line 410) | fn serialize_unit_variant(
  function serialize_newtype_struct (line 420) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -> ...
  function serialize_bool (line 427) | fn serialize_bool(self, _value: bool) -> Result<Self::Ok> {
  function serialize_i8 (line 431) | fn serialize_i8(self, value: i8) -> Result<Self::Ok> {
  function serialize_i16 (line 435) | fn serialize_i16(self, value: i16) -> Result<Self::Ok> {
  function serialize_i32 (line 439) | fn serialize_i32(self, value: i32) -> Result<Self::Ok> {
  function serialize_i64 (line 443) | fn serialize_i64(self, value: i64) -> Result<Self::Ok> {
  function serialize_u8 (line 447) | fn serialize_u8(self, value: u8) -> Result<Self::Ok> {
  function serialize_u16 (line 451) | fn serialize_u16(self, value: u16) -> Result<Self::Ok> {
  function serialize_u32 (line 455) | fn serialize_u32(self, value: u32) -> Result<Self::Ok> {
  function serialize_u64 (line 459) | fn serialize_u64(self, value: u64) -> Result<Self::Ok> {
  function serialize_f32 (line 463) | fn serialize_f32(self, _value: f32) -> Result<Self::Ok> {
  function serialize_f64 (line 467) | fn serialize_f64(self, _value: f64) -> Result<Self::Ok> {
  function serialize_char (line 471) | fn serialize_char(self, value: char) -> Result<Self::Ok> {
  function serialize_str (line 480) | fn serialize_str(self, value: &str) -> Result<Self::Ok> {
  function serialize_bytes (line 485) | fn serialize_bytes(self, _value: &[u8]) -> Result<Self::Ok> {
  function serialize_unit (line 489) | fn serialize_unit(self) -> Result<Self::Ok> {
  function serialize_unit_struct (line 493) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok> {
  function serialize_newtype_variant (line 497) | fn serialize_newtype_variant<T>(
  function serialize_none (line 510) | fn serialize_none(self) -> Result<Self::Ok> {
  function serialize_some (line 514) | fn serialize_some<T>(self, _value: &T) -> Result<Self::Ok>
  function serialize_seq (line 521) | fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeSeq> {
  function serialize_tuple (line 525) | fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple> {
  function serialize_tuple_struct (line 529) | fn serialize_tuple_struct(
  function serialize_tuple_variant (line 537) | fn serialize_tuple_variant(
  function serialize_map (line 547) | fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeMap> {
  function serialize_struct (line 551) | fn serialize_struct(self, _name: &'static str, _len: usize) -> Result<Se...
  function serialize_struct_variant (line 555) | fn serialize_struct_variant(
  type Ok (line 567) | type Ok = Value<'se>;
  type Error (line 568) | type Error = Error;
  function serialize_field (line 570) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 578) | fn end(self) -> Result<Value<'se>> {
  type Ok (line 584) | type Ok = Value<'se>;
  type Error (line 585) | type Error = Error;
  function serialize_field (line 587) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Result...
  function end (line 595) | fn end(self) -> Result<Value<'se>> {
  function null (line 611) | fn null() {
  function bool_true (line 618) | fn bool_true() {
  function bool_false (line 625) | fn bool_false() {
  function float (line 632) | fn float() {
  function stringlike (line 639) | fn stringlike() {
  function int (line 650) | fn int() {
  function arr (line 657) | fn arr() {
  function map (line 667) | fn map() {
  type Map (line 678) | struct Map {
  type Obj (line 683) | struct Obj {
  function from_slice_to_object (line 705) | fn from_slice_to_object() {

FILE: src/serde/value/owned.rs
  function to_value (line 15) | pub fn to_value<T>(value: T) -> Result<OwnedValue>
  function from_value (line 28) | pub fn from_value<T>(value: OwnedValue) -> Result<T>
  function from_refvalue (line 41) | pub fn from_refvalue<T>(value: &OwnedValue) -> Result<T>

FILE: src/serde/value/owned/de.rs
  type Error (line 19) | type Error = Error;
  method deserialize_any (line 24) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>
  method deserialize_option (line 49) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>
  method deserialize_enum (line 60) | fn deserialize_enum<V>(
  method deserialize_newtype_struct (line 94) | fn deserialize_newtype_struct<V>(
  method deserialize_struct (line 106) | fn deserialize_struct<V>(
  type Array (line 133) | struct Array(std::vec::IntoIter<Value>);
    type Error (line 138) | type Error = Error;
    method next_element_seed (line 140) | fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>...
  type ArrayRef (line 150) | struct ArrayRef<'de>(std::slice::Iter<'de, Value>);
  type Error (line 155) | type Error = Error;
  function next_element_seed (line 157) | fn next_element_seed<T>(&mut self, seed: T) -> Result<Option<T::Value>, ...
  type ObjectAccess (line 167) | struct ObjectAccess<const N: usize = 32> {
    type Error (line 180) | type Error = Error;
    method next_key_seed (line 182) | fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, Se...
    method next_value_seed (line 195) | fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, Self::Er...
  function new (line 173) | fn new(i: halfbrown::IntoIter<String, Value, N>) -> Self {
  type ObjectRefAccess (line 206) | struct ObjectRefAccess<'de> {
  function new (line 212) | fn new(i: halfbrown::Iter<'de, String, Value>) -> Self {
  type Error (line 220) | type Error = Error;
  function next_key_seed (line 222) | fn next_key_seed<K>(&mut self, seed: K) -> Result<Option<K::Value>, Self...
  function next_value_seed (line 234) | fn next_value_seed<V>(&mut self, seed: V) -> Result<V::Value, Self::Error>
  method deserialize (line 246) | fn deserialize<D>(deserializer: D) -> Result<Self, D::Error>
  type ValueVisitor (line 254) | struct ValueVisitor;
    type Value (line 257) | type Value = Value;
    method expecting (line 259) | fn expecting(&self, formatter: &mut fmt::Formatter) -> fmt::Result {
    method visit_unit (line 265) | fn visit_unit<E>(self) -> Result<Self::Value, E> {
    method visit_bool (line 271) | fn visit_bool<E>(self, value: bool) -> Result<Self::Value, E> {
    method visit_none (line 277) | fn visit_none<E>(self) -> Result<Self::Value, E> {
    method visit_some (line 282) | fn visit_some<D>(self, deserializer: D) -> Result<Self::Value, D::Error>
    method visit_i8 (line 299) | fn visit_i8<E>(self, value: i8) -> Result<Self::Value, E>
    method visit_i16 (line 307) | fn visit_i16<E>(self, value: i16) -> Result<Self::Value, E>
    method visit_i32 (line 315) | fn visit_i32<E>(self, value: i32) -> Result<Self::Value, E>
    method visit_i64 (line 323) | fn visit_i64<E>(self, value: i64) -> Result<Self::Value, E>
    method visit_i128 (line 332) | fn visit_i128<E>(self, value: i128) -> Result<Self::Value, E>
    method visit_u8 (line 342) | fn visit_u8<E>(self, value: u8) -> Result<Self::Value, E>
    method visit_u16 (line 350) | fn visit_u16<E>(self, value: u16) -> Result<Self::Value, E>
    method visit_u32 (line 358) | fn visit_u32<E>(self, value: u32) -> Result<Self::Value, E>
    method visit_u64 (line 366) | fn visit_u64<E>(self, value: u64) -> Result<Self::Value, E>
    method visit_u128 (line 375) | fn visit_u128<E>(self, value: u128) -> Result<Self::Value, E>
    method visit_f32 (line 384) | fn visit_f32<E>(self, value: f32) -> Result<Self::Value, E>
    method visit_f64 (line 392) | fn visit_f64<E>(self, value: f64) -> Result<Self::Value, E>
    method visit_char (line 401) | fn visit_char<E>(self, value: char) -> Result<Self::Value, E>
    method visit_borrowed_str (line 409) | fn visit_borrowed_str<E>(self, value: &'de str) -> Result<Self::Value, E>
    method visit_str (line 417) | fn visit_str<E>(self, value: &str) -> Result<Self::Value, E>
    method visit_string (line 425) | fn visit_string<E>(self, value: String) -> Result<Self::Value, E>
    method visit_map (line 463) | fn visit_map<A>(self, mut map: A) -> Result<Self::Value, A::Error>
    method visit_seq (line 478) | fn visit_seq<A>(self, mut seq: A) -> Result<Self::Value, A::Error>
  type EnumDeserializer (line 492) | struct EnumDeserializer {
    type Error (line 498) | type Error = Error;
    type Variant (line 499) | type Variant = VariantDeserializer;
    method variant_seed (line 501) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, VariantDeserial...
  type Deserializer (line 512) | type Deserializer = Self;
  method into_deserializer (line 514) | fn into_deserializer(self) -> Self::Deserializer {
  type VariantDeserializer (line 519) | struct VariantDeserializer {
    type Error (line 524) | type Error = Error;
    method unit_variant (line 526) | fn unit_variant(self) -> Result<(), Error> {
    method newtype_variant_seed (line 533) | fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, Error>
    method tuple_variant (line 546) | fn tuple_variant<V>(self, _len: usize, visitor: V) -> Result<V::Value,...
    method struct_variant (line 569) | fn struct_variant<V>(
  type Error (line 592) | type Error = Error;
  function deserialize_any (line 597) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_option (line 619) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Error>
  function deserialize_newtype_struct (line 631) | fn deserialize_newtype_struct<V>(
  function deserialize_struct (line 643) | fn deserialize_struct<V>(
  function deserialize_enum (line 664) | fn deserialize_enum<V>(
  type EnumRefDeserializer (line 704) | struct EnumRefDeserializer<'de> {
  type Error (line 710) | type Error = Error;
  type Variant (line 711) | type Variant = VariantRefDeserializer<'de>;
  function variant_seed (line 713) | fn variant_seed<V>(self, seed: V) -> Result<(V::Value, Self::Variant), E...
  type VariantRefDeserializer (line 722) | struct VariantRefDeserializer<'de> {
  type Error (line 727) | type Error = Error;
  function unit_variant (line 729) | fn unit_variant(self) -> Result<(), Error> {
  function newtype_variant_seed (line 736) | fn newtype_variant_seed<T>(self, seed: T) -> Result<T::Value, Error>
  function tuple_variant (line 749) | fn tuple_variant<V>(self, _len: usize, visitor: V) -> Result<V::Value, E...
  function struct_variant (line 772) | fn struct_variant<V>(
  function option_field_absent_owned (line 800) | fn option_field_absent_owned() {
  function option_field_present_owned (line 820) | fn option_field_present_owned() {
  function deserialize (line 849) | fn deserialize() {
  function deserialize_128bit (line 914) | fn deserialize_128bit() {
  function variant (line 926) | fn variant() {

FILE: src/serde/value/owned/se.rs
  type Impossible (line 11) | type Impossible<T> = ser::Impossible<T, Error>;
  method serialize (line 14) | fn serialize<S>(&self, serializer: S) -> std::result::Result<S::Ok, S::E...
  type Serializer (line 49) | pub struct Serializer {}
    type Ok (line 52) | type Ok = Value;
    type Error (line 53) | type Error = Error;
    type SerializeSeq (line 55) | type SerializeSeq = SerializeVec;
    type SerializeTuple (line 56) | type SerializeTuple = SerializeVec;
    type SerializeTupleStruct (line 57) | type SerializeTupleStruct = SerializeVec;
    type SerializeTupleVariant (line 58) | type SerializeTupleVariant = SerializeTupleVariant;
    type SerializeMap (line 59) | type SerializeMap = SerializeMap;
    type SerializeStruct (line 60) | type SerializeStruct = SerializeMap;
    type SerializeStructVariant (line 61) | type SerializeStructVariant = SerializeStructVariant;
    method serialize_bool (line 64) | fn serialize_bool(self, value: bool) -> Result<Value> {
    method serialize_i8 (line 69) | fn serialize_i8(self, value: i8) -> Result<Value> {
    method serialize_i16 (line 74) | fn serialize_i16(self, value: i16) -> Result<Value> {
    method serialize_i32 (line 79) | fn serialize_i32(self, value: i32) -> Result<Value> {
    method serialize_i64 (line 83) | fn serialize_i64(self, value: i64) -> Result<Value> {
    method serialize_i128 (line 88) | fn serialize_i128(self, value: i128) -> Result<Value> {
    method serialize_u8 (line 93) | fn serialize_u8(self, value: u8) -> Result<Value> {
    method serialize_u16 (line 98) | fn serialize_u16(self, value: u16) -> Result<Value> {
    method serialize_u32 (line 103) | fn serialize_u32(self, value: u32) -> Result<Value> {
    method serialize_u64 (line 108) | fn serialize_u64(self, value: u64) -> Result<Value> {
    method serialize_u128 (line 113) | fn serialize_u128(self, value: u128) -> Result<Value> {
    method serialize_f32 (line 118) | fn serialize_f32(self, value: f32) -> Result<Value> {
    method serialize_f64 (line 123) | fn serialize_f64(self, value: f64) -> Result<Value> {
    method serialize_char (line 128) | fn serialize_char(self, value: char) -> Result<Value> {
    method serialize_str (line 135) | fn serialize_str(self, value: &str) -> Result<Value> {
    method serialize_bytes (line 140) | fn serialize_bytes(self, value: &[u8]) -> Result<Value> {
    method serialize_unit (line 145) | fn serialize_unit(self) -> Result<Value> {
    method serialize_unit_struct (line 150) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Value> {
    method serialize_unit_variant (line 155) | fn serialize_unit_variant(
    method serialize_newtype_struct (line 165) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -...
    method serialize_newtype_variant (line 172) | fn serialize_newtype_variant<T>(
    method serialize_none (line 188) | fn serialize_none(self) -> Result<Value> {
    method serialize_some (line 193) | fn serialize_some<T>(self, value: &T) -> Result<Value>
    method serialize_seq (line 200) | fn serialize_seq(self, len: Option<usize>) -> Result<Self::SerializeSe...
    method serialize_tuple (line 206) | fn serialize_tuple(self, len: usize) -> Result<Self::SerializeTuple> {
    method serialize_tuple_struct (line 210) | fn serialize_tuple_struct(
    method serialize_tuple_variant (line 218) | fn serialize_tuple_variant(
    method serialize_map (line 231) | fn serialize_map(self, len: Option<usize>) -> Result<Self::SerializeMa...
    method serialize_struct (line 238) | fn serialize_struct(self, _name: &'static str, len: usize) -> Result<S...
    method serialize_struct_variant (line 242) | fn serialize_struct_variant(
  type SerializeVec (line 256) | pub struct SerializeVec {
    type Ok (line 276) | type Ok = Value;
    type Error (line 277) | type Error = Error;
    method serialize_element (line 279) | fn serialize_element<T>(&mut self, value: &T) -> Result<()>
    method end (line 287) | fn end(self) -> Result<Value> {
    type Ok (line 293) | type Ok = Value;
    type Error (line 294) | type Error = Error;
    method serialize_element (line 296) | fn serialize_element<T>(&mut self, value: &T) -> Result<()>
    method end (line 303) | fn end(self) -> Result<Value> {
    type Ok (line 309) | type Ok = Value;
    type Error (line 310) | type Error = Error;
    method serialize_field (line 312) | fn serialize_field<T>(&mut self, value: &T) -> Result<()>
    method end (line 319) | fn end(self) -> Result<Value> {
  type SerializeTupleVariant (line 260) | pub struct SerializeTupleVariant {
    type Ok (line 325) | type Ok = Value;
    type Error (line 326) | type Error = Error;
    method serialize_field (line 328) | fn serialize_field<T>(&mut self, value: &T) -> Result<()>
    method end (line 336) | fn end(self) -> Result<Value> {
  type SerializeMap (line 265) | pub struct SerializeMap {
    type Ok (line 344) | type Ok = Value;
    type Error (line 345) | type Error = Error;
    method serialize_key (line 347) | fn serialize_key<T>(&mut self, key: &T) -> Result<()>
    method serialize_value (line 355) | fn serialize_value<T>(&mut self, value: &T) -> Result<()>
    method end (line 367) | fn end(self) -> Result<Value> {
    type Ok (line 547) | type Ok = Value;
    type Error (line 548) | type Error = Error;
    method serialize_field (line 550) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Resu...
    method end (line 558) | fn end(self) -> Result<Value> {
  type SerializeStructVariant (line 270) | pub struct SerializeStructVariant {
    type Ok (line 564) | type Ok = Value;
    type Error (line 565) | type Error = Error;
    method serialize_field (line 567) | fn serialize_field<T>(&mut self, key: &'static str, value: &T) -> Resu...
    method end (line 575) | fn end(self) -> Result<Value> {
  type MapKeySerializer (line 372) | struct MapKeySerializer {}
    type Ok (line 379) | type Ok = String;
    type Error (line 380) | type Error = Error;
    type SerializeSeq (line 382) | type SerializeSeq = Impossible<String>;
    type SerializeTuple (line 383) | type SerializeTuple = Impossible<String>;
    type SerializeTupleStruct (line 384) | type SerializeTupleStruct = Impossible<String>;
    type SerializeTupleVariant (line 385) | type SerializeTupleVariant = Impossible<String>;
    type SerializeMap (line 386) | type SerializeMap = Impossible<String>;
    type SerializeStruct (line 387) | type SerializeStruct = Impossible<String>;
    type SerializeStructVariant (line 388) | type SerializeStructVariant = Impossible<String>;
    method serialize_unit_variant (line 391) | fn serialize_unit_variant(
    method serialize_newtype_struct (line 401) | fn serialize_newtype_struct<T>(self, _name: &'static str, value: &T) -...
    method serialize_bool (line 408) | fn serialize_bool(self, _value: bool) -> Result<Self::Ok> {
    method serialize_i8 (line 412) | fn serialize_i8(self, value: i8) -> Result<Self::Ok> {
    method serialize_i16 (line 416) | fn serialize_i16(self, value: i16) -> Result<Self::Ok> {
    method serialize_i32 (line 420) | fn serialize_i32(self, value: i32) -> Result<Self::Ok> {
    method serialize_i64 (line 424) | fn serialize_i64(self, value: i64) -> Result<Self::Ok> {
    method serialize_u8 (line 428) | fn serialize_u8(self, value: u8) -> Result<Self::Ok> {
    method serialize_u16 (line 432) | fn serialize_u16(self, value: u16) -> Result<Self::Ok> {
    method serialize_u32 (line 436) | fn serialize_u32(self, value: u32) -> Result<Self::Ok> {
    method serialize_u64 (line 440) | fn serialize_u64(self, value: u64) -> Result<Self::Ok> {
    method serialize_f32 (line 444) | fn serialize_f32(self, _value: f32) -> Result<Self::Ok> {
    method serialize_f64 (line 448) | fn serialize_f64(self, _value: f64) -> Result<Self::Ok> {
    method serialize_char (line 452) | fn serialize_char(self, value: char) -> Result<Self::Ok> {
    method serialize_str (line 461) | fn serialize_str(self, value: &str) -> Result<Self::Ok> {
    method serialize_bytes (line 465) | fn serialize_bytes(self, _value: &[u8]) -> Result<Self::Ok> {
    method serialize_unit (line 469) | fn serialize_unit(self) -> Result<Self::Ok> {
    method serialize_unit_struct (line 473) | fn serialize_unit_struct(self, _name: &'static str) -> Result<Self::Ok> {
    method serialize_newtype_variant (line 477) | fn serialize_newtype_variant<T>(
    method serialize_none (line 490) | fn serialize_none(self) -> Result<Self::Ok> {
    method serialize_some (line 494) | fn serialize_some<T>(self, _value: &T) -> Result<Self::Ok>
    method serialize_seq (line 501) | fn serialize_seq(self, _len: Option<usize>) -> Result<Self::SerializeS...
    method serialize_tuple (line 505) | fn serialize_tuple(self, _len: usize) -> Result<Self::SerializeTuple> {
    method serialize_tuple_struct (line 509) | fn serialize_tuple_struct(
    method serialize_tuple_variant (line 517) | fn serialize_tuple_variant(
    method serialize_map (line 527) | fn serialize_map(self, _len: Option<usize>) -> Result<Self::SerializeM...
    method serialize_struct (line 531) | fn serialize_struct(self, _name: &'static str, _len: usize) -> Result<...
    method serialize_struct_variant (line 535) | fn serialize_struct_variant(
  function key_must_be_a_string (line 374) | fn key_must_be_a_string() -> Error {
  type UnitStruct (line 591) | struct UnitStruct;
  type TupleStruct (line 596) | struct TupleStruct(u8, u8);
  type TestStruct (line 598) | struct TestStruct {
  type Obj (line 621) | struct Obj {
  function from_slice_to_object (line 647) | fn from_slice_to_object() {

FILE: src/serde/value/shared.rs
  type MapKeyDeserializer (line 33) | pub(crate) struct MapKeyDeserializer<'de> {
  function borrowed (line 38) | pub(crate) fn borrowed(key: &'de str) -> Self {
  type Error (line 46) | type Error = Error;
  function deserialize_any (line 48) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
  function deserialize_option (line 69) | fn deserialize_option<V>(self, visitor: V) -> Result<V::Value, Self::Error>
  function deserialize_newtype_struct (line 78) | fn deserialize_newtype_struct<V>(
  function deserialize_enum (line 89) | fn deserialize_enum<V>(
  type BorrowedCowStrDeserializer (line 109) | struct BorrowedCowStrDeserializer<'de> {
  function new (line 114) | fn new(value: Cow<'de, str>) -> Self {
  type Error (line 120) | type Error = Error;
  function deserialize_any (line 123) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
  function deserialize_any (line 134) | fn deserialize_any<V>(self, visitor: V) -> Result<V::Value, Self::Error>
  function deserialize_enum (line 144) | fn deserialize_enum<V>(
  type UnitOnly (line 162) | struct UnitOnly;
    type Error (line 165) | type Error = Error;
    method unit_variant (line 167) | fn unit_variant(self) -> Result<(), Self::Error> {
    method newtype_variant_seed (line 171) | fn newtype_variant_seed<T>(self, _seed: T) -> Result<T::Value, Self::E...
    method tuple_variant (line 181) | fn tuple_variant<V>(self, _len: usize, _visitor: V) -> Result<V::Value...
    method struct_variant (line 191) | fn struct_variant<V>(
  type Error (line 207) | type Error = Error;
  type Variant (line 208) | type Variant = UnitOnly;
  function variant_seed (line 210) | fn variant_seed<T>(self, seed: T) -> Result<(T::Value, Self::Variant), S...

FILE: src/stage2.rs
  function is_valid_true_atom (line 10) | pub fn is_valid_true_atom(loc: &[u8]) -> bool {
  function is_valid_false_atom (line 34) | pub fn is_valid_false_atom(loc: &[u8]) -> bool {
  function is_valid_null_atom (line 59) | pub fn is_valid_null_atom(loc: &[u8]) -> bool {
  type State (line 79) | enum State {
  type StackState (line 85) | pub(crate) enum StackState {
  function build_tape (line 99) | pub(crate) fn build_tape(
  function true_atom (line 622) | fn true_atom() {
  function false_atom (line 628) | fn false_atom() {
  function null_atom (line 639) | fn null_atom() {
  function parsing_errors (line 647) | fn parsing_errors() {
  function parse_string (line 687) | fn parse_string() -> Result<()> {

FILE: src/stringparse.rs
  constant ESCAPE_MAP (line 11) | pub(crate) const ESCAPE_MAP: [u8; 256] = [
  constant HIGH_SURROGATES (line 25) | const HIGH_SURROGATES: Range<u32> = 0xd800..0xdc00;
  constant LOW_SURROGATES (line 26) | const LOW_SURROGATES: Range<u32> = 0xdc00..0xe000;
  function handle_unicode_codepoint (line 32) | pub(crate) fn handle_unicode_codepoint(
  function get_unicode_codepoint (line 48) | pub(crate) fn get_unicode_codepoint(mut src_ptr: &[u8]) -> Result<(u32, ...

FILE: src/tests.rs
  function alligned_number_parse (line 18) | fn alligned_number_parse() {
  function test_send_sync (line 27) | fn test_send_sync() {
  function count1 (line 34) | fn count1() {
  function count2 (line 42) | fn count2() {
  function count3 (line 50) | fn count3() {
  function count4 (line 58) | fn count4() {
  function count5 (line 67) | fn count5() {
  function test_tape_object_simple (line 76) | fn test_tape_object_simple() {
  function test_tape_object_escaped (line 93) | fn test_tape_object_escaped() {
  function string_array (line 113) | fn string_array() {
  function odd_nuber (line 123) | fn odd_nuber() {
  function odd_nuber2 (line 141) | fn odd_nuber2() {
  function silly_float1 (line 160) | fn silly_float1() {
  function silly_float2 (line 170) | fn silly_float2() {
  function arb_json_value (line 179) | fn arb_json_value() -> BoxedStrategy<Value> {
  function arb_json_value (line 205) | fn arb_json_value() -> BoxedStrategy<Value> {

FILE: src/tests/impls.rs
  function test_find_structural_bits (line 3) | fn test_find_structural_bits<S: Stage1Parse>(input_str: &str, expected: ...
  function find_structural_bits_test_cases (line 16) | fn find_structural_bits_test_cases<S: Stage1Parse>() {
  function find_structural_bits_native (line 43) | fn find_structural_bits_native() {
  function find_structural_bits_portable (line 49) | fn find_structural_bits_portable() {
  function find_structural_bits_avx (line 55) | fn find_structural_bits_avx() {
  function find_structural_bits_sse (line 63) | fn find_structural_bits_sse() {
  function find_structural_bits_aarch64 (line 71) | fn find_structural_bits_aarch64() {
  function find_structural_bits_simd128 (line 77) | fn find_structural_bits_simd128() {

FILE: src/tests/serde.rs
  type TestPayload (line 33) | struct TestPayload {
  type TestEnvelope (line 38) | struct TestEnvelope {
  function test_deser_to_value (line 45) | fn test_deser_to_value() {
  function test_deser_restart (line 75) | fn test_deser_restart() {
  function empty (line 102) | fn empty() {
  function bool_true (line 112) | fn bool_true() {
  function bool_false (line 125) | fn bool_false() {
  function union (line 138) | fn union() {
  function int (line 150) | fn int() {
  function zero (line 162) | fn zero() {
  function one (line 174) | fn one() {
  function minus_one (line 186) | fn minus_one() {
  function float (line 198) | fn float() {
  function string (line 210) | fn string() {
  function lonely_quote (line 222) | fn lonely_quote() {
  function lonely_quote1 (line 232) | fn lonely_quote1() {
  function lonely_quote2 (line 241) | fn lonely_quote2() {
  function lonely_quote3 (line 251) | fn lonely_quote3() {
  function empty_string (line 261) | fn empty_string() {
  function empty_array (line 273) | fn empty_array() {
  function malformed_array (line 285) | fn malformed_array() {
  function double_array (line 303) | fn double_array() {
  function null_null_array (line 315) | fn null_null_array() {
  function one_element_array (line 334) | fn one_element_array() {
  function two_element_array (line 346) | fn two_element_array() {
  function list (line 364) | fn list() {
  function nested_list1 (line 383) | fn nested_list1() {
  function nested_list2 (line 404) | fn nested_list2() {
  function utf8 (line 413) | fn utf8() {
  function utf8_invalid_surrogates (line 423) | fn utf8_invalid_surrogates() {
  function unicode (line 432) | fn unicode() {
  function odd_array (line 441) | fn odd_array() {
  function min_i64 (line 459) | fn min_i64() {
  function map2 (line 478) | fn map2() {
  function null (line 487) | fn null() {
  function null_null (line 498) | fn null_null() {
  function nested_null (line 516) | fn nested_null() {
  function nestednested_null (line 535) | fn nestednested_null() {
  function odd_array2 (line 553) | fn odd_array2() {
  function odd_array3 (line 562) | fn odd_array3() {
  function odd_array4 (line 571) | fn odd_array4() {
  function float1 (line 580) | fn float1() {
  function float2 (line 590) | fn float2() {
  function float3 (line 600) | fn float3() {
  function map0 (line 609) | fn map0() {
  function map1 (line 623) | fn map1() {
  function tpl1 (line 638) | fn tpl1() {
  function tpl2 (line 647) | fn tpl2() {
  function tpl3 (line 656) | fn tpl3() {
  function tpl4 (line 666) | fn tpl4() {
  function tpl5 (line 674) | fn tpl5() {
  function tpl6 (line 685) | fn tpl6() {
  function tpl7 (line 696) | fn tpl7() {
  type Obj (line 707) | struct Obj {
  type Obj1 (line 713) | struct Obj1 {
  function obj1 (line 718) | fn obj1() {
  function obj2 (line 727) | fn obj2() {
  function obj3 (line 737) | fn obj3() {
  function obj4 (line 749) | fn obj4() {
  function vecvec (line 758) | fn vecvec() {
  function invalid_float_array (line 769) | fn invalid_float_array() {
  function crazy_string (line 776) | fn crazy_string() {
  function event (line 787) | fn event() {
  function arb_json (line 883) | fn arb_json() -> BoxedStrategy<String> {
  function int_map_key (line 910) | fn int_map_key() -> Result<(), crate::Error> {
  function enum_test (line 927) | fn enum_test() -> Result<(), crate::Error> {
  function invalid_float (line 951) | fn invalid_float() {
  function zero_element_touple (line 957) | fn zero_element_touple() {
  function arb_junk (line 1020) | fn arb_junk() -> BoxedStrategy<Vec<u8>> {

FILE: src/value.rs
  type ObjectHasher (line 79) | pub type ObjectHasher = crate::known_key::NotSoRandomState;
  type ObjectHasher (line 82) | pub type ObjectHasher = halfbrown::DefaultHashBuilder;
  function deserialize (line 93) | pub fn deserialize<'de, Value, Key>(s: &'de mut [u8]) -> Result<Value>
  function deserialize_with_buffers (line 115) | pub fn deserialize_with_buffers<'de, Value, Key>(
  type ValueDeserializer (line 129) | struct ValueDeserializer<'de, Value, Key>
  function from_deserializer (line 147) | pub fn from_deserializer(de: Deserializer<'de>) -> Self {
  function parse (line 155) | pub fn parse(&mut self) -> Value {
  function parse_array (line 165) | fn parse_array(&mut self, len: usize) -> Value {
  function parse_map (line 181) | fn parse_map(&mut self, len: usize) -> Value {

FILE: src/value/borrowed.rs
  type Object (line 36) | pub type Object<'value> = HashMap<Cow<'value, str>, Value<'value>, Objec...
  type Array (line 38) | pub type Array<'value> = Vec<Value<'value>>;
  function to_value (line 49) | pub fn to_value(s: &mut [u8]) -> Result<Value<'_>> {
  function to_value_with_buffers (line 67) | pub fn to_value_with_buffers<'value>(
  type Value (line 81) | pub enum Value<'value> {
  function as_static (line 93) | fn as_static(&self) -> Option<StaticNode> {
  function into_static (line 105) | pub fn into_static(self) -> Value<'static> {
  function clone_static (line 135) | pub fn clone_static(&self) -> Value<'static> {
  function null (line 164) | fn null() -> Self {
  function array_with_capacity (line 168) | fn array_with_capacity(capacity: usize) -> Self {
  function object_with_capacity (line 172) | fn object_with_capacity(capacity: usize) -> Self {
  type Array (line 181) | type Array = Array<'value>;
  method as_array_mut (line 183) | fn as_array_mut(&mut self) -> Option<&mut Vec<Value<'value>>> {
  type Object (line 191) | type Object = Object<'value>;
  method as_object_mut (line 211) | fn as_object_mut(&mut self) -> Option<&mut Object<'value>> {
  method value_type (line 221) | fn value_type(&self) -> ValueType {
  method as_null (line 232) | fn as_null(&self) -> Option<()> {
  method as_bool (line 237) | fn as_bool(&self) -> Option<bool> {
  method as_i64 (line 242) | fn as_i64(&self) -> Option<i64> {
  method as_i128 (line 247) | fn as_i128(&self) -> Option<i128> {
  method as_u64 (line 252) | fn as_u64(&self) -> Option<u64> {
  method as_u128 (line 257) | fn as_u128(&self) -> Option<u128> {
  method as_f64 (line 262) | fn as_f64(&self) -> Option<f64> {
  method cast_f64 (line 267) | fn cast_f64(&self) -> Option<f64> {
  method as_str (line 272) | fn as_str(&self) -> Option<&str> {
  type Array (line 281) | type Array = Array<'value>;
  method as_array (line 284) | fn as_array(&self) -> Option<&Vec<Value<'value>>> {
  type Object (line 293) | type Object = Object<'value>;
  method as_object (line 296) | fn as_object(&self) -> Option<&Object<'value>> {
  type String (line 305) | type String = Cow<'value, str>;
  method into_string (line 307) | fn into_string(self) -> Option<<Self as ValueIntoString>::String> {
  type Array (line 316) | type Array = Array<'value>;
  method into_array (line 318) | fn into_array(self) -> Option<<Self as ValueIntoArray>::Array> {
  type Object (line 327) | type Object = Object<'value>;
  method into_object (line 329) | fn into_object(self) -> Option<<Self as ValueIntoObject>::Object> {
  function fmt (line 339) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
  type Output (line 350) | type Output = Value<'value>;
  function index (line 352) | fn index(&self, index: &str) -> &Self::Output {
  type Output (line 358) | type Output = Value<'value>;
  function index (line 360) | fn index(&self, index: usize) -> &Self::Output {
  function index_mut (line 367) | fn index_mut(&mut self, index: &str) -> &mut Self::Output {
  function index_mut (line 374) | fn index_mut(&mut self, index: usize) -> &mut Self::Output {
  method default (line 381) | fn default() -> Self {
  type BorrowDeserializer (line 386) | pub(super) struct BorrowDeserializer<'de>(Deserializer<'de>);
  function from_deserializer (line 389) | pub fn from_deserializer(de: Deserializer<'de>) -> Self {
  function parse (line 394) | pub fn parse(&mut self) -> Value<'de> {
  function parse_array (line 404) | fn parse_array(&mut self, len: usize) -> Value<'de> {
  function parse_map (line 420) | fn parse_map(&mut self, len: usize) -> Value<'de> {
  type BorrowSliceDeserializer (line 440) | pub(super) struct BorrowSliceDeserializer<'tape, 'de> {
  function from_tape (line 445) | pub fn from_tape(de: &'tape [Node<'de>]) -> Self {
  function next_ (line 449) | pub unsafe fn next_(&mut self) -> Node<'de> {
  function parse (line 456) | pub fn parse(&mut self) -> Value<'de> {
  function parse_array (line 466) | fn parse_array(&mut self, len: usize) -> Value<'de> {
  function parse_map (line 482) | fn parse_map(&mut self, len: usize) -> Value<'de> {
  function object_access (line 510) | fn object_access() {
  function array_access (line 523) | fn array_access() {
  function conversions_i128 (line 540) | fn conversions_i128() {
  function conversions_i64 (line 572) | fn conversions_i64() {
  function conversions_i32 (line 604) | fn conversions_i32() {
  function conversions_i16 (line 636) | fn conversions_i16() {
  function conversions_i8 (line 669) | fn conversions_i8() {
  function conversions_usize (line 701) | fn conversions_usize() {
  function conversions_u128 (line 723) | fn conversions_u128() {
  function conversions_u64 (line 741) | fn conversions_u64() {
  function conversions_u32 (line 759) | fn conversions_u32() {
  function conversions_u16 (line 777) | fn conversions_u16() {
  function conversions_u8 (line 795) | fn conversions_u8() {
  function conversions_f64 (line 813) | fn conversions_f64() {
  function conversions_f32 (line 831) | fn conversions_f32() {
  function conversions_array (line 847) | fn conversions_array() {
  function conversions_bool (line 856) | fn conversions_bool() {
  function conversions_float (line 865) | fn conversions_float() {
  function conversions_int (line 874) | fn conversions_int() {
  function conversions_uint (line 891) | fn conversions_uint() {
  function conversions_null (line 909) | fn conversions_null() {
  function conversions_object (line 918) | fn conversions_object() {
  function conversions_str (line 927) | fn conversions_str() {
  function default (line 936) | fn default() {
  function arb_value (line 944) | fn arb_value() -> BoxedStrategy<Value<'static>> {
  function test_union_cmp (line 1077) | fn test_union_cmp() {
  function test_bool_cmp (line 1083) | fn test_bool_cmp() {
  function test_slice_cmp (line 1090) | fn test_slice_cmp() {
  function test_hashmap_cmp (line 1096) | fn test_hashmap_cmp() {
  function test_option_from (line 1109) | fn test_option_from() {

FILE: src/value/borrowed/cmp.rs
  method eq (line 8) | fn eq(&self, other: &Self) -> bool {
  function eq (line 24) | fn eq(&self, other: &&T) -> bool {
  function eq (line 31) | fn eq(&self, other: &OwnedValue) -> bool {
  function eq (line 39) | fn eq(&self, _other: &()) -> bool {
  function eq (line 46) | fn eq(&self, other: &bool) -> bool {
  function eq (line 53) | fn eq(&self, other: &str) -> bool {
  function eq (line 60) | fn eq(&self, other: &&str) -> bool {
  function eq (line 67) | fn eq(&self, other: &String) -> bool {
  function eq (line 74) | fn eq(&self, other: &i8) -> bool {
  function eq (line 81) | fn eq(&self, other: &i16) -> bool {
  function eq (line 88) | fn eq(&self, other: &i32) -> bool {
  function eq (line 95) | fn eq(&self, other: &i64) -> bool {
  function eq (line 102) | fn eq(&self, other: &i128) -> bool {
  function eq (line 109) | fn eq(&self, other: &u8) -> bool {
  function eq (line 116) | fn eq(&self, other: &u16) -> bool {
  function eq (line 123) | fn eq(&self, other: &u32) -> bool {
  function eq (line 130) | fn eq(&self, other: &u64) -> bool {
  function eq (line 137) | fn eq(&self, other: &usize) -> bool {
  function eq (line 144) | fn eq(&self, other: &u128) -> bool {
  function eq (line 151) | fn eq(&self, other: &f32) -> bool {
  function eq (line 158) | fn eq(&self, other: &f64) -> bool {
  function eq (line 168) | fn eq(&self, other: &&[T]) -> bool {
  function eq (line 180) | fn eq(&self, other: &std::collections::HashMap<K, T, S>) -> bool {

FILE: src/value/borrowed/from.rs
  function from (line 8) | fn from(b: OwnedValue) -> Self {
  function from (line 20) | fn from(s: StaticNode) -> Self {
  function from (line 30) | fn from(s: Option<T>) -> Self {
  function from (line 37) | fn from(s: &'value str) -> Self {
  function from (line 45) | fn from(c: std::borrow::Cow<'value, str>) -> Self {
  function from (line 53) | fn from(c: std::borrow::Cow<'value, str>) -> Self {
  function from (line 61) | fn from(c: beef::lean::Cow<'value, str>) -> Self {
  function from (line 68) | fn from(s: String) -> Self {
  function from (line 76) | fn from(b: bool) -> Self {
  function from (line 82) | fn from(_b: ()) -> Self {
  function from (line 90) | fn from(i: i8) -> Self {
  function from (line 97) | fn from(i: i16) -> Self {
  function from (line 104) | fn from(i: i32) -> Self {
  function from (line 111) | fn from(i: i64) -> Self {
  function from (line 119) | fn from(i: i128) -> Self {
  function from (line 127) | fn from(i: u8) -> Self {
  function from (line 134) | fn from(i: u16) -> Self {
  function from (line 141) | fn from(i: u32) -> Self {
  function from (line 148) | fn from(i: u64) -> Self {
  function from (line 156) | fn from(i: u128) -> Self {
  function from (line 163) | fn from(i: usize) -> Self {
  function from (line 171) | fn from(f: f32) -> Self {
  function from (line 178) | fn from(f: f64) -> Self {
  function from (line 188) | fn from(v: Vec<S>) -> Self {
  function from_iter (line 195) | fn from_iter<I: IntoIterator<Item = V>>(iter: I) -> Self {
  function from_iter (line 204) | fn from_iter<I: IntoIterator<Item = (K, V)>>(iter: I) -> Self {
  function from (line 215) | fn from(v: Object<'value>) -> Self {

FILE: src/value/borrowed/serialize.rs
  method encode (line 19) | fn encode(&self) -> String {
  method encode_pp (line 26) | fn encode_pp(&self) -> String {
  method write (line 33) | fn write<'writer, W>(&self, w: &mut W) -> io::Result<()>
  method write_pp (line 42) | fn write_pp<'writer, W>(&self, w: &mut W) -> io::Result<()>
  type Generator (line 51) | trait Generator: BaseGenerator {
    method write_object (line 55) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 87) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 209) | type T = Vec<u8>;
    type T (line 223) | type T = W;
  type FastGenerator (line 133) | trait FastGenerator: BaseGenerator {
    method write_object (line 137) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 164) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 205) | type T = Vec<u8>;
    type T (line 216) | type T = W;
  function null (line 232) | fn null() {
  function bool_true (line 236) | fn bool_true() {
  function bool_false (line 240) | fn bool_false() {
  function obj (line 245) | fn obj() {
  function assert_str (line 251) | fn assert_str(from: &str, to: &str) {
  function string (line 255) | fn string() {

FILE: src/value/lazy.rs
  type Value (line 44) | pub enum Value<'borrow, 'tape, 'input> {
  method default (line 53) | fn default() -> Self {
  function into_value (line 61) | pub fn into_value(self) -> borrowed::Value<'input> {
  function into_owned (line 71) | pub fn into_owned<'snot>(self) -> Value<'snot, 'tape, 'input> {
  function is_tape (line 80) | pub fn is_tape(&self) -> bool {
  function is_value (line 89) | pub fn is_value(&self) -> bool {
  function from_tape (line 94) | pub fn from_tape(tape: tape::Value<'tape, 'input>) -> Self {
  function into_tape (line 97) | unsafe fn into_tape(self) -> tape::Value<'tape, 'input> {
  function upgrade (line 104) | fn upgrade(&mut self) {
  function as_mut (line 117) | fn as_mut(&mut self) -> &mut borrowed::Value<'input> {
  function fmt (line 132) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
  function object_index (line 184) | fn object_index() {
  function mut_object_index (line 191) | fn mut_object_index() {
  function array_index (line 199) | fn array_index() {
  function mut_array_index (line 206) | fn mut_array_index() {
  function conversion_str (line 212) | fn conversion_str() {
  function conversions_i128 (line 218) | fn conversions_i128() {
  function conversions_i64 (line 250) | fn conversions_i64() {
  function conversions_i32 (line 282) | fn conversions_i32() {
  function conversions_i16 (line 314) | fn conversions_i16() {
  function conversions_i8 (line 347) | fn conversions_i8() {
  function conversions_usize (line 379) | fn conversions_usize() {
  function conversions_u128 (line 401) | fn conversions_u128() {
  function conversions_u64 (line 419) | fn conversions_u64() {
  function conversions_u32 (line 437) | fn conversions_u32() {
  function conversions_u16 (line 455) | fn conversions_u16() {
  function conversions_u8 (line 473) | fn conversions_u8() {
  function conversions_f64 (line 491) | fn conversions_f64() {
  function conversions_f32 (line 509) | fn conversions_f32() {
  function conversions_bool (line 525) | fn conversions_bool() {
  function conversions_float (line 534) | fn conversions_float() {
  function conversions_int (line 543) | fn conversions_int() {
  function conversions_uint (line 560) | fn conversions_uint() {
  function conversions_null (line 577) | fn conversions_null() {
  function default (line 586) | fn default() {
  function mixed_int_cmp (line 591) | fn mixed_int_cmp() {
  function mixed_int_cmp_128 (line 598) | fn mixed_int_cmp_128() {
  function test_union_cmp (line 616) | fn test_union_cmp() {
  function test_bool_cmp (line 622) | fn test_bool_cmp() {

FILE: src/value/lazy/array.rs
  type Array (line 8) | pub enum Array<'borrow, 'tape, 'input> {
  type Iter (line 16) | pub enum Iter<'borrow, 'tape, 'input> {
  type Item (line 24) | type Item = Value<'borrow, 'tape, 'input>;
  method next (line 26) | fn next(&mut self) -> Option<Self::Item> {
  function get (line 40) | pub fn get<'a>(&'a self, idx: usize) -> Option<Value<'a, 'tape, 'input>> {
  function iter (line 49) | pub fn iter<'i>(&'i self) -> Iter<'i, 'tape, 'input> {
  function len (line 58) | pub fn len(&self) -> usize {
  function is_empty (line 66) | pub fn is_empty(&self) -> bool {
  function get_ints (line 77) | fn get_ints() -> crate::Result<()> {
  function get_nested (line 91) | fn get_nested() -> crate::Result<()> {
  function iter (line 107) | fn iter() -> crate::Result<()> {
  function iter_container (line 122) | fn iter_container() -> crate::Result<()> {

FILE: src/value/lazy/cmp.rs
  function eq (line 8) | fn eq(&self, _other: &()) -> bool {
  function eq (line 15) | fn eq(&self, other: &bool) -> bool {
  function eq (line 22) | fn eq(&self, other: &str) -> bool {
  function eq (line 29) | fn eq(&self, other: &&str) -> bool {
  function eq (line 36) | fn eq(&self, other: &String) -> bool {
  function eq (line 43) | fn eq(&self, other: &i8) -> bool {
  function eq (line 50) | fn eq(&self, other: &i16) -> bool {
  function eq (line 57) | fn eq(&self, other: &i32) -> bool {
  function eq (line 64) | fn eq(&self, other: &i64) -> bool {
  function eq (line 71) | fn eq(&self, other: &i128) -> bool {
  function eq (line 78) | fn eq(&self, other: &u8) -> bool {
  function eq (line 85) | fn eq(&self, other: &u16) -> bool {
  function eq (line 92) | fn eq(&self, other: &u32) -> bool {
  function eq (line 99) | fn eq(&self, other: &u64) -> bool {
  function eq (line 106) | fn eq(&self, other: &usize) -> bool {
  function eq (line 113) | fn eq(&self, other: &u128) -> bool {
  function eq (line 120) | fn eq(&self, other: &f32) -> bool {
  function eq (line 127) | fn eq(&self, other: &f64) -> bool {
  function eq (line 139) | fn eq(&self, other: &std::collections::HashMap<K, T, S>) -> bool {

FILE: src/value/lazy/from.rs
  function from (line 8) | fn from(v: borrowed::Value<'value>) -> Self {
  function from (line 15) | fn from(v: StaticNode) -> Self {
  function from (line 25) | fn from(v: Option<T>) -> Self {
  function from (line 32) | fn from(v: &'value str) -> Self {
  function from (line 40) | fn from(v: std::borrow::Cow<'value, str>) -> Self {
  function from (line 48) | fn from(v: std::borrow::Cow<'value, str>) -> Self {
  function from (line 56) | fn from(v: beef::lean::Cow<'value, str>) -> Self {
  function from (line 63) | fn from(v: String) -> Self {
  function from (line 71) | fn from(v: bool) -> Self {
  function from (line 77) | fn from(v: ()) -> Self {
  function from (line 85) | fn from(v: i8) -> Self {
  function from (line 92) | fn from(v: i16) -> Self {
  function from (line 99) | fn from(v: i32) -> Self {
  function from (line 106) | fn from(v: i64) -> Self {
  function from (line 114) | fn from(v: i128) -> Self {
  function from (line 122) | fn from(v: u8) -> Self {
  function from (line 129) | fn from(v: u16) -> Self {
  function from (line 136) | fn from(v: u32) -> Self {
  function from (line 143) | fn from(v: u64) -> Self {
  function from (line 151) | fn from(v: u128) -> Self {
  function from (line 158) | fn from(v: usize) -> Self {
  function from (line 166) | fn from(v: f32) -> Self {
  function from (line 173) | fn from(v: f64) -> Self {
  function from (line 183) | fn from(v: Vec<S>) -> Self {
  function from_iter (line 190) | fn from_iter<I: IntoIterator<Item = V>>(v: I) -> Self {
  function from_iter (line 199) | fn from_iter<I: IntoIterator<Item = (K, V)>>(v: I) -> Self {
  function from (line 206) | fn from(v: crate::borrowed::Object<'value>) -> Self {

FILE: src/value/lazy/object.rs
  type Object (line 10) | pub enum Object<'borrow, 'tape, 'input> {
  type Iter (line 17) | pub enum Iter<'borrow, 'tape, 'input> {
  type Keys (line 25) | pub enum Keys<'borrow, 'tape, 'input> {
  type Values (line 32) | pub enum Values<'borrow, 'tape, 'input> {
  function get (line 45) | pub fn get<'a, Q>(&'a self, k: &Q) -> Option<Value<'a, 'tape, 'input>>
  function iter (line 60) | pub fn iter<'i>(&'i self) -> Iter<'i, 'tape, 'input> {
  function keys (line 69) | pub fn keys<'i>(&'i self) -> Keys<'i, 'tape, 'input> {
  function values (line 78) | pub fn values<'i>(&'i self) -> Values<'i, 'tape, 'input> {
  function len (line 87) | pub fn len(&self) -> usize {
  function is_empty (line 96) | pub fn is_empty(&self) -> bool {
  type Item (line 110) | type Item = (&'borrow str, Value<'borrow, 'tape, 'input>);
  method next (line 112) | fn next(&mut self) -> Option<Self::Item> {
  type Item (line 123) | type Item = &'borrow str;
  method next (line 124) | fn next(&mut self) -> Option<Self::Item> {
  type Item (line 133) | type Item = Value<'borrow, 'tape, 'input>;
  method next (line 134) | fn next(&mut self) -> Option<Self::Item> {
  function get_ints (line 149) | fn get_ints() -> crate::Result<()> {
  function get_container (line 163) | fn get_container() -> crate::Result<()> {
  function iter_ints (line 182) | fn iter_ints() -> crate::Result<()> {
  function keys_ints (line 201) | fn keys_ints() -> crate::Result<()> {
  function values_ints (line 216) | fn values_ints() -> crate::Result<()> {
  function iter_container (line 231) | fn iter_container() -> crate::Result<()> {
  function keys_container (line 254) | fn keys_container() -> crate::Result<()> {
  function values_container (line 270) | fn values_container() -> crate::Result<()> {

FILE: src/value/lazy/trait_impls.rs
  function null (line 27) | fn null() -> Self {
  function array_with_capacity (line 31) | fn array_with_capacity(capacity: usize) -> Self {
  function object_with_capacity (line 35) | fn object_with_capacity(capacity: usize) -> Self {
  function is_array (line 47) | pub fn is_array(&self) -> bool {
  function is_object (line 53) | pub fn is_object(&self) -> bool {
  method as_null (line 60) | fn as_null(&self) -> Option<()> {
  method as_bool (line 68) | fn as_bool(&self) -> Option<bool> {
  method as_i64 (line 76) | fn as_i64(&self) -> Option<i64> {
  method as_i128 (line 84) | fn as_i128(&self) -> Option<i128> {
  method as_u64 (line 92) | fn as_u64(&self) -> Option<u64> {
  method as_u128 (line 100) | fn as_u128(&self) -> Option<u128> {
  method as_f64 (line 108) | fn as_f64(&self) -> Option<f64> {
  method cast_f64 (line 116) | fn cast_f64(&self) -> Option<f64> {
  method as_str (line 124) | fn as_str(&self) -> Option<&str> {
  type String (line 133) | type String = Cow<'value, str>;
  method into_string (line 135) | fn into_string(self) -> Option<<Self as ValueIntoString>::String> {
  method value_type (line 185) | fn value_type(&self) -> ValueType {
  function try_get (line 202) | pub fn try_get<Q>(&self, k: &Q) -> Result<Option<Value<'_, 'tape, 'input...
  function try_get_idx (line 224) | pub fn try_get_idx(&self, i: usize) -> Result<Option<Value<'_, 'tape, 'i...
  function as_array (line 242) | pub fn as_array(&self) -> Option<Array<'_, 'tape, 'input>> {
  function as_object (line 251) | pub fn as_object(&self) -> Option<Object<'_, 'tape, 'input>> {
  type Array (line 260) | type Array = Vec<borrowed::Value<'input>>;
  method as_array_mut (line 262) | fn as_array_mut(&mut self) -> Option<&mut Vec<borrowed::Value<'input>>> {
  type Object (line 267) | type Object = super::borrowed::Object<'input>;
  method as_object_mut (line 269) | fn as_object_mut(&mut self) -> Option<&mut super::borrowed::Object<'inpu...
  function try_as_array (line 279) | pub fn try_as_array(&self) -> Result<Array<'_, 'tape, 'input>, TryTypeEr...
  function try_as_object (line 289) | pub fn try_as_object(&self) -> Result<Object<'_, 'tape, 'input>, TryType...
  function get (line 302) | pub fn get<'k, Q>(&self, k: &'k Q) -> Option<Value<'_, 'tape, 'input>>
  function contains_key (line 321) | pub fn contains_key<Q>(&self, k: &Q) -> bool
  function get_idx (line 341) | pub fn get_idx(&self, i: usize) -> Option<Value<'_, 'tape, 'input>> {
  function get_bool (line 359) | pub fn get_bool<Q>(&self, k: &Q) -> Option<bool>
  function get_i128 (line 370) | pub fn get_i128<Q>(&self, k: &Q) -> Option<i128>
  function get_i64 (line 381) | pub fn get_i64<Q>(&self, k: &Q) -> Option<i64>
  function get_i32 (line 392) | pub fn get_i32<Q>(&self, k: &Q) -> Option<i32>
  function get_i16 (line 403) | pub fn get_i16<Q>(&self, k: &Q) -> Option<i16>
  function get_i8 (line 414) | pub fn get_i8<Q>(&self, k: &Q) -> Option<i8>
  function get_u128 (line 425) | pub fn get_u128<Q>(&self, k: &Q) -> Option<u128>
  function get_u64 (line 436) | pub fn get_u64<Q>(&self, k: &Q) -> Option<u64>
  function get_usize (line 447) | pub fn get_usize<Q>(&self, k: &Q) -> Option<usize>
  function get_u32 (line 458) | pub fn get_u32<Q>(&self, k: &Q) -> Option<u32>
  function get_u16 (line 469) | pub fn get_u16<Q>(&self, k: &Q) -> Option<u16>
  function get_u8 (line 480) | pub fn get_u8<Q>(&self, k: &Q) -> Option<u8>
  function get_f64 (line 491) | pub fn get_f64<Q>(&self, k: &Q) -> Option<f64>
  function get_f32 (line 502) | pub fn get_f32<Q>(&self, k: &Q) -> Option<f32>
  function get_str (line 512) | pub fn get_str<Q>(&self, k: &Q) -> Option<&str>
  function get_array (line 529) | pub fn get_array<Q>(&self, k: &Q) -> Option<Array<'_, 'tape, 'input>>
  function get_object (line 543) | pub fn get_object<Q>(&self, k: &Q) -> Option<Object<'_, 'tape, 'input>>
  function try_get_array (line 561) | pub fn try_get_array<Q>(&self, k: &Q) -> Result<Option<Array<'_, 'tape, ...
  function try_get_object (line 578) | pub fn try_get_object<Q>(
  function try_get_bool (line 600) | pub fn try_get_bool<Q>(&self, k: &Q) -> Result<Option<bool>, TryTypeError>
  function try_get_i128 (line 614) | pub fn try_get_i128<Q>(&self, k: &Q) -> Result<Option<i128>, TryTypeError>
  function try_get_i64 (line 628) | pub fn try_get_i64<Q>(&self, k: &Q) -> Result<Option<i64>, TryTypeError>
  function try_get_i32 (line 642) | pub fn try_get_i32<Q>(&self, k: &Q) -> Result<Option<i32>, TryTypeError>
  function try_get_i16 (line 656) | pub fn try_get_i16<Q>(&self, k: &Q) -> Result<Option<i16>, TryTypeError>
  function try_get_i8 (line 670) | pub fn try_get_i8<Q>(&self, k: &Q) -> Result<Option<i8>, TryTypeError>
  function try_get_u128 (line 684) | pub fn try_get_u128<Q>(&self, k: &Q) -> Result<Option<u128>, TryTypeError>
  function try_get_u64 (line 698) | pub fn try_get_u64<Q>(&self, k: &Q) -> Result<Option<u64>, TryTypeError>
  function try_get_usize (line 712) | pub fn try_get_usize<Q>(&self, k: &Q) -> Result<Option<usize>, TryTypeEr...
  function try_get_u32 (line 726) | pub fn try_get_u32<Q>(&self, k: &Q) -> Result<Option<u32>, TryTypeError>
  function try_get_u16 (line 740) | pub fn try_get_u16<Q>(&self, k: &Q) -> Result<Option<u16>, TryTypeError>
  function try_get_u8 (line 754) | pub fn try_get_u8<Q>(&self, k: &Q) -> Result<Option<u8>, TryTypeError>
  function try_get_f64 (line 768) | pub fn try_get_f64<Q>(&self, k: &Q) -> Result<Option<f64>, TryTypeError>
  function try_get_f32 (line 782) | pub fn try_get_f32<Q>(&self, k: &Q) -> Result<Option<f32>, TryTypeError>
  function try_get_str (line 796) | pub fn try_get_str<Q>(&self, k: &Q) -> Result<Option<&'_ str>, TryTypeEr...
  method encode (line 811) | fn encode(&self) -> String {
  method encode_pp (line 819) | fn encode_pp(&self) -> String {
  method write (line 827) | fn write<'writer, W>(&self, w: &mut W) -> io::Result<()>
  method write_pp (line 838) | fn write_pp<'writer, W>(&self, w: &mut W) -> io::Result<()>

FILE: src/value/owned.rs
  type Object (line 34) | pub type Object = HashMap<String, Value, ObjectHasher>;
  function to_value (line 46) | pub fn to_value(s: &mut [u8]) -> Result<Value> {
  function to_value_with_buffers (line 65) | pub fn to_value_with_buffers(s: &mut [u8], buffers: &mut Buffers) -> Res...
  type Value (line 78) | pub enum Value {
    method as_static (line 90) | fn as_static(&self) -> Option<StaticNode> {
    method null (line 100) | fn null() -> Self {
    method array_with_capacity (line 104) | fn array_with_capacity(capacity: usize) -> Self {
    method object_with_capacity (line 108) | fn object_with_capacity(capacity: usize) -> Self {
    method fmt (line 251) | fn fmt(&self, f: &mut fmt::Formatter) -> fmt::Result {
    type Output (line 262) | type Output = Self;
    method index (line 264) | fn index(&self, index: &str) -> &Self::Output {
    type Output (line 270) | type Output = Self;
    method index (line 272) | fn index(&self, index: usize) -> &Self::Output {
    method index_mut (line 279) | fn index_mut(&mut self, index: &str) -> &mut Self::Output {
    method index_mut (line 286) | fn index_mut(&mut self, index: usize) -> &mut Self::Output {
  type Array (line 117) | type Array = Vec<Self>;
  method as_array_mut (line 119) | fn as_array_mut(&mut self) -> Option<&mut Vec<Self>> {
  type Object (line 127) | type Object = Object;
  method as_object_mut (line 129) | fn as_object_mut(&mut self) -> Option<&mut Object> {
  method value_type (line 139) | fn value_type(&self) -> ValueType {
  method as_null (line 150) | fn as_null(&self) -> Option<()> {
  method as_bool (line 154) | fn as_bool(&self) -> Option<bool> {
  method as_i64 (line 159) | fn as_i64(&self) -> Option<i64> {
  method as_i128 (line 164) | fn as_i128(&self) -> Option<i128> {
  method as_u64 (line 169) | fn as_u64(&self) -> Option<u64> {
  method as_u128 (line 174) | fn as_u128(&self) -> Option<u128> {
  method as_f64 (line 179) | fn as_f64(&self) -> Option<f64> {
  method cast_f64 (line 184) | fn cast_f64(&self) -> Option<f64> {
  method as_str (line 189) | fn as_str(&self) -> Option<&str> {
  type Array (line 197) | type Array = Vec<Self>;
  method as_array (line 199) | fn as_array(&self) -> Option<&Vec<Self>> {
  type Object (line 207) | type Object = Object;
  method as_object (line 210) | fn as_object(&self) -> Option<&Object> {
  type String (line 219) | type String = String;
  method into_string (line 221) | fn into_string(self) -> Option<<Value as ValueIntoString>::String> {
  type Array (line 229) | type Array = Vec<Self>;
  method into_array (line 231) | fn into_array(self) -> Option<<Value as ValueIntoArray>::Array> {
  type Object (line 239) | type Object = Object;
  method into_object (line 241) | fn into_object(self) -> Option<<Value as ValueIntoObject>::Object> {
  method default (line 293) | fn default() -> Self {
  type OwnedDeserializer (line 298) | struct OwnedDeserializer<'de> {
  function from_deserializer (line 303) | pub fn from_deserializer(de: Deserializer<'de>) -> Self {
  function parse (line 307) | pub fn parse(&mut self) -> Value {
  function parse_array (line 317) | fn parse_array(&mut self, len: usize) -> Value {
  function parse_map (line 333) | fn parse_map(&mut self, len: usize) -> Value {
  function object_access (line 358) | fn object_access() {
  function array_access (line 371) | fn array_access() {
  function conversions_i128 (line 388) | fn conversions_i128() {
  function conversions_i64 (line 419) | fn conversions_i64() {
  function conversions_i32 (line 451) | fn conversions_i32() {
  function conversions_i16 (line 483) | fn conversions_i16() {
  function conversions_i8 (line 516) | fn conversions_i8() {
  function conversions_usize (line 548) | fn conversions_usize() {
  function conversions_u128 (line 570) | fn conversions_u128() {
  function conversions_u64 (line 587) | fn conversions_u64() {
  function conversions_u32 (line 605) | fn conversions_u32() {
  function conversions_u16 (line 623) | fn conversions_u16() {
  function conversions_u8 (line 641) | fn conversions_u8() {
  function conversions_f64 (line 659) | fn conversions_f64() {
  function conversions_f32 (line 677) | fn conversions_f32() {
  function conversions_array (line 693) | fn conversions_array() {
  function conversions_bool (line 702) | fn conversions_bool() {
  function conversions_float (line 711) | fn conversions_float() {
  function conversions_int (line 720) | fn conversions_int() {
  function conversions_uint (line 738) | fn conversions_uint() {
  function conversions_null (line 756) | fn conversions_null() {
  function conversions_object (line 765) | fn conversions_object() {
  function conversions_str (line 774) | fn conversions_str() {
  function default (line 783) | fn default() {
  function arb_value (line 790) | fn arb_value() -> BoxedStrategy<Value> {
  function test_union_cmp (line 911) | fn test_union_cmp() {
  function test_bool_cmp (line 917) | fn test_bool_cmp() {
  function test_slice_cmp (line 924) | fn test_slice_cmp() {
  function test_hashmap_cmp (line 930) | fn test_hashmap_cmp() {
  function test_option_from (line 942) | fn test_option_from() {

FILE: src/value/owned/cmp.rs
  method eq (line 7) | fn eq(&self, other: &BorrowedValue<'_>) -> bool {
  method eq (line 27) | fn eq(&self, other: &Self) -> bool {
  method eq (line 43) | fn eq(&self, other: &&T) -> bool {
  method eq (line 50) | fn eq(&self, _other: &()) -> bool {
  method eq (line 57) | fn eq(&self, other: &bool) -> bool {
  method eq (line 64) | fn eq(&self, other: &str) -> bool {
  method eq (line 71) | fn eq(&self, other: &&str) -> bool {
  method eq (line 78) | fn eq(&self, other: &String) -> bool {
  method eq (line 85) | fn eq(&self, other: &i8) -> bool {
  method eq (line 92) | fn eq(&self, other: &i16) -> bool {
  method eq (line 99) | fn eq(&self, other: &i32) -> bool {
  method eq (line 106) | fn eq(&self, other: &i64) -> bool {
  method eq (line 113) | fn eq(&self, other: &i128) -> bool {
  method eq (line 120) | fn eq(&self, other: &u8) -> bool {
  method eq (line 127) | fn eq(&self, other: &u16) -> bool {
  method eq (line 134) | fn eq(&self, other: &u32) -> bool {
  method eq (line 141) | fn eq(&self, other: &u64) -> bool {
  method eq (line 148) | fn eq(&self, other: &usize) -> bool {
  method eq (line 155) | fn eq(&self, other: &u128) -> bool {
  method eq (line 162) | fn eq(&self, other: &f32) -> bool {
  method eq (line 169) | fn eq(&self, other: &f64) -> bool {
  method eq (line 179) | fn eq(&self, other: &&[T]) -> bool {
  method eq (line 190) | fn eq(&self, other: &std::collections::HashMap<K, T, S>) -> bool {

FILE: src/value/owned/from.rs
  method from (line 6) | fn from(b: BorrowedValue<'_>) -> Self {
  method from (line 21) | fn from(s: Option<T>) -> Self {
  method from (line 28) | fn from(s: StaticNode) -> Self {
  method from (line 36) | fn from(s: &str) -> Self {
  method from (line 43) | fn from(c: std::borrow::Cow<'value, str>) -> Self {
  method from (line 51) | fn from(c: beef::lean::Cow<'value, str>) -> Self {
  method from (line 58) | fn from(s: String) -> Self {
  method from (line 65) | fn from(s: &String) -> Self {
  method from (line 74) | fn from(b: bool) -> Self {
  method from (line 81) | fn from(_b: ()) -> Self {
  method from (line 89) | fn from(i: i8) -> Self {
  method from (line 96) | fn from(i: i16) -> Self {
  method from (line 103) | fn from(i: i32) -> Self {
  method from (line 110) | fn from(i: i64) -> Self {
  method from (line 117) | fn from(i: i128) -> Self {
  method from (line 125) | fn from(i: u8) -> Self {
  method from (line 132) | fn from(i: u16) -> Self {
  method from (line 139) | fn from(i: u32) -> Self {
  method from (line 147) | fn from(i: u64) -> Self {
  method from (line 155) | fn from(i: u128) -> Self {
  method from (line 162) | fn from(i: usize) -> Self {
  method from (line 170) | fn from(f: f32) -> Self {
  method from (line 177) | fn from(f: f64) -> Self {
  method from (line 187) | fn from(v: Vec<S>) -> Self {
  method from_iter (line 194) | fn from_iter<I: IntoIterator<Item = V>>(iter: I) -> Self {
  method from_iter (line 201) | fn from_iter<I: IntoIterator<Item = (K, V)>>(iter: I) -> Self {
  method from (line 212) | fn from(v: Object) -> Self {
  method from (line 219) | fn from(v: std::collections::HashMap<String, Self>) -> Self {

FILE: src/value/owned/serialize.rs
  method encode (line 19) | fn encode(&self) -> String {
  method encode_pp (line 26) | fn encode_pp(&self) -> String {
  method write (line 33) | fn write<'writer, W>(&self, w: &mut W) -> io::Result<()>
  method write_pp (line 42) | fn write_pp<'writer, W>(&self, w: &mut W) -> io::Result<()>
  type Generator (line 51) | trait Generator: BaseGenerator {
    method write_object (line 55) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 87) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 211) | type T = Vec<u8>;
    type T (line 225) | type T = W;
  type FastGenerator (line 135) | trait FastGenerator: BaseGenerator {
    method write_object (line 139) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 166) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 207) | type T = Vec<u8>;
    type T (line 218) | type T = W;
  function null (line 234) | fn null() {
  function bool_true (line 238) | fn bool_true() {
  function bool_false (line 242) | fn bool_false() {
  function obj (line 247) | fn obj() {
  function assert_str (line 252) | fn assert_str(from: &str, to: &str) {
  function string (line 257) | fn string() {

FILE: src/value/tape.rs
  type Tape (line 11) | pub struct Tape<'input>(pub Vec<Node<'input>>);
  function as_value (line 17) | pub fn as_value(&self) -> Value<'_, 'input> {
  function null (line 23) | pub fn null() -> Self {
  function reset (line 30) | pub fn reset<'new>(mut self) -> Tape<'new> {
  function deserialize (line 41) | pub fn deserialize<T>(self) -> crate::Result<T>
  type Value (line 59) | pub struct Value<'tape, 'input>(pub(crate) &'tape [Node<'input>])
  constant NULL_TAPE (line 64) | const NULL_TAPE: [Node<'static>; 1] = [Node::Static(StaticNode::Null)];
  constant NULL (line 66) | pub const NULL: Value<'static, 'static> = Value(&Self::NULL_TAPE);
  function null (line 69) | pub const fn null() -> Self {
  type Node (line 77) | pub enum Node<'input> {
  function as_str (line 104) | fn as_str(&self) -> Option<&'input str> {
  function value_type (line 113) | pub fn value_type(&self) -> ValueType {
  function array_count (line 123) | fn array_count(&self) -> Result<usize, TryTypeError> {
  function object_count (line 147) | fn object_count(&self) -> Result<usize, TryTypeError> {
  function object_len (line 159) | fn object_len(&self) -> Result<usize, TryTypeError> {
  function count (line 171) | fn count(&self) -> usize {
  function object_index (line 204) | fn object_index() {
  function mut_object_index (line 211) | fn mut_object_index() {
  function array_index (line 219) | fn array_index() {
  function mut_array_index (line 226) | fn mut_array_index() {
  function conversion_str (line 232) | fn conversion_str() {
  function conversions_i128 (line 238) | fn conversions_i128() {
  function conversions_i64 (line 270) | fn conversions_i64() {
  function conversions_i32 (line 302) | fn conversions_i32() {
  function conversions_i16 (line 334) | fn conversions_i16() {
  function conversions_i8 (line 367) | fn conversions_i8() {
  function conversions_usize (line 399) | fn conversions_usize() {
  function conversions_u128 (line 421) | fn conversions_u128() {
  function conversions_u64 (line 439) | fn conversions_u64() {
  function conversions_u32 (line 457) | fn conversions_u32() {
  function conversions_u16 (line 475) | fn conversions_u16() {
  function conversions_u8 (line 493) | fn conversions_u8() {
  function conversions_f64 (line 511) | fn conversions_f64() {
  function conversions_f32 (line 529) | fn conversions_f32() {
  function conversions_bool (line 545) | fn conversions_bool() {
  function conversions_float (line 554) | fn conversions_float() {
  function conversions_int (line 563) | fn conversions_int() {
  function conversions_uint (line 580) | fn conversions_uint() {
  function conversions_null (line 597) | fn conversions_null() {
  function default (line 606) | fn default() {
  function mixed_int_cmp (line 611) | fn mixed_int_cmp() {
  function mixed_int_cmp_128 (line 618) | fn mixed_int_cmp_128() {
  function test_union_cmp (line 636) | fn test_union_cmp() {
  function test_bool_cmp (line 642) | fn test_bool_cmp() {

FILE: src/value/tape/array.rs
  type Array (line 6) | pub struct Array<'tape, 'input>(pub(super) &'tape [Node<'input>]);
  type Iter (line 8) | pub struct Iter<'tape, 'input>(&'tape [Node<'input>]);
  type Item (line 11) | type Item = Value<'tape, 'input>;
  method next (line 13) | fn next(&mut self) -> Option<Self::Item> {
  function get (line 29) | pub fn get(&self, mut idx: usize) -> Option<Value<'tape, 'input>> {
  function iter (line 41) | pub fn iter<'i>(&'i self) -> Iter<'tape, 'input> {
  function len (line 49) | pub fn len(&self) -> usize {
  function is_empty (line 58) | pub fn is_empty(&self) -> bool {
  type IntoIter (line 64) | type IntoIter = Iter<'tape, 'input>;
  type Item (line 65) | type Item = Value<'tape, 'input>;
  method into_iter (line 66) | fn into_iter(self) -> Self::IntoIter {
  function get_ints (line 77) | fn get_ints() -> crate::Result<()> {
  function get_nested (line 91) | fn get_nested() -> crate::Result<()> {
  function iter (line 107) | fn iter() -> crate::Result<()> {
  function iter_container (line 122) | fn iter_container() -> crate::Result<()> {

FILE: src/value/tape/cmp.rs
  method eq (line 10) | fn eq(&self, other: &Self) -> bool {
  function eq (line 20) | fn eq(&self, other: &&T) -> bool {
  function eq (line 27) | fn eq(&self, _other: &()) -> bool {
  function eq (line 34) | fn eq(&self, other: &bool) -> bool {
  function eq (line 41) | fn eq(&self, other: &str) -> bool {
  function eq (line 48) | fn eq(&self, other: &&str) -> bool {
  function eq (line 55) | fn eq(&self, other: &String) -> bool {
  function eq (line 62) | fn eq(&self, other: &i8) -> bool {
  function eq (line 69) | fn eq(&self, other: &i16) -> bool {
  function eq (line 76) | fn eq(&self, other: &i32) -> bool {
  function eq (line 83) | fn eq(&self, other: &i64) -> bool {
  function eq (line 90) | fn eq(&self, other: &i128) -> bool {
  function eq (line 97) | fn eq(&self, other: &u8) -> bool {
  function eq (line 104) | fn eq(&self, other: &u16) -> bool {
  function eq (line 111) | fn eq(&self, other: &u32) -> bool {
  function eq (line 118) | fn eq(&self, other: &u64) -> bool {
  function eq (line 125) | fn eq(&self, other: &usize) -> bool {
  function eq (line 132) | fn eq(&self, other: &u128) -> bool {
  function eq (line 139) | fn eq(&self, other: &f32) -> bool {
  function eq (line 146) | fn eq(&self, other: &f64) -> bool {
  function eq (line 158) | fn eq(&self, other: &std::collections::HashMap<K, T, S>) -> bool {

FILE: src/value/tape/object.rs
  type Object (line 7) | pub struct Object<'tape, 'input>(pub(super) &'tape [Node<'input>]);
  type Iter (line 9) | pub struct Iter<'tape, 'input>(&'tape [Node<'input>]);
  type Keys (line 10) | pub struct Keys<'tape, 'input>(&'tape [Node<'input>]);
  type Values (line 11) | pub struct Values<'tape, 'input>(&'tape [Node<'input>]);
  function get (line 19) | pub fn get<Q>(&self, k: &Q) -> Option<Value<'tape, 'input>>
  function iter (line 44) | pub fn iter<'i>(&'i self) -> Iter<'tape, 'input> {
  function keys (line 50) | pub fn keys<'i>(&'i self) -> Keys<'tape, 'input> {
  function values (line 56) | pub fn values<'i>(&'i self) -> Values<'tape, 'input> {
  function len (line 62) | pub fn len(&self) -> usize {
  function is_empty (line 71) | pub fn is_empty(&self) -> bool {
  type IntoIter (line 77) | type IntoIter = Iter<'tape, 'input>;
  type Item (line 78) | type Item = (&'input str, Value<'tape, 'input>);
  method into_iter (line 79) | fn into_iter(self) -> Self::IntoIter {
  type Item (line 85) | type Item = (&'input str, Value<'tape, 'input>);
  method next (line 87) | fn next(&mut self) -> Option<Self::Item> {
  type Item (line 98) | type Item = &'input str;
  method next (line 99) | fn next(&mut self) -> Option<Self::Item> {
  type Item (line 110) | type Item = Value<'tape, 'input>;
  method next (line 111) | fn next(&mut self) -> Option<Self::Item> {
  function get_ints (line 127) | fn get_ints() -> crate::Result<()> {
  function get_container (line 141) | fn get_container() -> crate::Result<()> {
  function iter_ints (line 160) | fn iter_ints() -> crate::Result<()> {
  function keys_ints (line 179) | fn keys_ints() -> crate::Result<()> {
  function values_ints (line 194) | fn values_ints() -> crate::Result<()> {
  function iter_container (line 209) | fn iter_container() -> crate::Result<()> {
  function keys_container (line 232) | fn keys_container() -> crate::Result<()> {
  function values_container (line 248) | fn values_container() -> crate::Result<()> {

FILE: src/value/tape/trait_impls.rs
  function as_static (line 25) | fn as_static(&self) -> Option<StaticNode> {
  function is_array (line 37) | pub fn is_array(&self) -> bool {
  function is_object (line 43) | pub fn is_object(&self) -> bool {
  method as_null (line 53) | fn as_null(&self) -> Option<()> {
  method as_bool (line 58) | fn as_bool(&self) -> Option<bool> {
  method as_i64 (line 63) | fn as_i64(&self) -> Option<i64> {
  method as_u64 (line 68) | fn as_u64(&self) -> Option<u64> {
  method as_f64 (line 73) | fn as_f64(&self) -> Option<f64> {
  method as_str (line 78) | fn as_str(&self) -> Option<&'input str> {
  type String (line 84) | type String = &'input str;
  method into_string (line 86) | fn into_string(self) -> Option<&'input str> {
  type Array (line 96) | type Array = Array<'tape, 'input>;
  method into_array (line 97) | fn into_array(self) -> Option<Self::Array> {
  type Object (line 108) | type Object = Object<'tape, 'input>;
  method into_object (line 109) | fn into_object(self) -> Option<Self::Object> {
  method value_type (line 122) | fn value_type(&self) -> ValueType {
  function try_get (line 149) | pub fn try_get<Q>(&self, k: &Q) -> Result<Option<Value<'tape, 'input>>, ...
  function try_get_idx (line 167) | pub fn try_get_idx(&self, i: usize) -> Result<Option<Value<'tape, 'input...
  function as_array (line 179) | pub fn as_array(&self) -> Option<Array<'tape, 'input>> {
  function as_object (line 191) | pub fn as_object(&self) -> Option<Object<'tape, 'input>> {
  function try_as_array (line 207) | pub fn try_as_array(&self) -> Result<Array<'tape, 'input>, TryTypeError> {
  function try_as_object (line 217) | pub fn try_as_object(&self) -> Result<Object<'tape, 'input>, TryTypeErro...
  function get (line 229) | pub fn get<Q>(&self, k: &Q) -> Option<Value<'tape, 'input>>
  function contains_key (line 240) | pub fn contains_key(&self, k: &str) -> bool {
  function get_idx (line 251) | pub fn get_idx(&self, i: usize) -> Option<Value<'tape, 'input>> {
  type Key (line 260) | type Key = str;
  method get_bool (line 262) | fn get_bool<Q>(&self, k: &Q) -> Option<bool>
  method get_i128 (line 271) | fn get_i128<Q>(&self, k: &Q) -> Option<i128>
  method get_i64 (line 280) | fn get_i64<Q>(&self, k: &Q) -> Option<i64>
  method get_i32 (line 289) | fn get_i32<Q>(&self, k: &Q) -> Option<i32>
  method get_i16 (line 298) | fn get_i16<Q>(&self, k: &Q) -> Option<i16>
  method get_i8 (line 307) | fn get_i8<Q>(&self, k: &Q) -> Option<i8>
  method get_u128 (line 316) | fn get_u128<Q>(&self, k: &Q) -> Option<u128>
  method get_u64 (line 325) | fn get_u64<Q>(&self, k: &Q) -> Option<u64>
  method get_usize (line 334) | fn get_usize<Q>(&self, k: &Q) -> Option<usize>
  method get_u32 (line 343) | fn get_u32<Q>(&self, k: &Q) -> Option<u32>
  method get_u16 (line 352) | fn get_u16<Q>(&self, k: &Q) -> Option<u16>
  method get_u8 (line 361) | fn get_u8<Q>(&self, k: &Q) -> Option<u8>
  method get_f64 (line 370) | fn get_f64<Q>(&self, k: &Q) -> Option<f64>
  method get_f32 (line 379) | fn get_f32<Q>(&self, k: &Q) -> Option<f32>
  method get_str (line 388) | fn get_str<Q>(&self, k: &Q) -> Option<&'input str>
  function get_array (line 405) | pub fn get_array<Q>(&self, k: &Q) -> Option<Array<'tape, 'input>>
  function get_object (line 434) | pub fn get_object<Q>(&self, k: &Q) -> Option<Object<'tape, 'input>>
  function try_get_array (line 467) | pub fn try_get_array<Q>(&self, k: &Q) -> Result<Option<Array<'tape, 'inp...
  function try_get_object (line 499) | pub fn try_get_object<Q>(&self, k: &Q) -> Result<Option<Object<'tape, 'i...
  type Key (line 528) | type Key = str;
  method try_get_bool (line 529) | fn try_get_bool<Q>(&self, k: &Q) -> Result<Option<bool>, TryTypeError>
  method try_get_i128 (line 538) | fn try_get_i128<Q>(&self, k: &Q) -> Result<Option<i128>, TryTypeError>
  method try_get_i64 (line 547) | fn try_get_i64<Q>(&self, k: &Q) -> Result<Option<i64>, TryTypeError>
  method try_get_i32 (line 556) | fn try_get_i32<Q>(&self, k: &Q) -> Result<Option<i32>, TryTypeError>
  method try_get_i16 (line 565) | fn try_get_i16<Q>(&self, k: &Q) -> Result<Option<i16>, TryTypeError>
  method try_get_i8 (line 574) | fn try_get_i8<Q>(&self, k: &Q) -> Result<Option<i8>, TryTypeError>
  method try_get_u128 (line 583) | fn try_get_u128<Q>(&self, k: &Q) -> Result<Option<u128>, TryTypeError>
  method try_get_u64 (line 592) | fn try_get_u64<Q>(&self, k: &Q) -> Result<Option<u64>, TryTypeError>
  method try_get_usize (line 601) | fn try_get_usize<Q>(&self, k: &Q) -> Result<Option<usize>, TryTypeError>
  method try_get_u32 (line 610) | fn try_get_u32<Q>(&self, k: &Q) -> Result<Option<u32>, TryTypeError>
  method try_get_u16 (line 619) | fn try_get_u16<Q>(&self, k: &Q) -> Result<Option<u16>, TryTypeError>
  method try_get_u8 (line 628) | fn try_get_u8<Q>(&self, k: &Q) -> Result<Option<u8>, TryTypeError>
  method try_get_f64 (line 637) | fn try_get_f64<Q>(&self, k: &Q) -> Result<Option<f64>, TryTypeError>
  method try_get_f32 (line 646) | fn try_get_f32<Q>(&self, k: &Q) -> Result<Option<f32>, TryTypeError>
  method try_get_str (line 655) | fn try_get_str<Q>(&self, k: &Q) -> Result<Option<&str>, TryTypeError>
  method encode (line 669) | fn encode(&self) -> String {
  method encode_pp (line 676) | fn encode_pp(&self) -> String {
  method write (line 683) | fn write<'writer, W>(&self, w: &mut W) -> io::Result<()>
  method write_pp (line 692) | fn write_pp<'writer, W>(&self, w: &mut W) -> io::Result<()>
  type Generator (line 701) | trait Generator: BaseGenerator {
    method write_object (line 705) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 737) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 862) | type T = Vec<u8>;
    type T (line 876) | type T = W;
  type FastGenerator (line 785) | trait FastGenerator: BaseGenerator {
    method write_object (line 789) | fn write_object(&mut self, object: &Object) -> io::Result<()> {
    method write_json (line 816) | fn write_json(&mut self, json: &Value) -> io::Result<()> {
    type T (line 858) | type T = Vec<u8>;
    type T (line 869) | type T = W;

FILE: tests/ordered_float.rs
  function test_values_as_hashmap_keys (line 11) | fn test_values_as_hashmap_keys() {

FILE: tests/serde_128_bit.rs
  function lgostash_int_bug (line 4) | fn lgostash_int_bug() {
  function lgostash_int_bug2 (line 38) | fn lgostash_int_bug2() {

FILE: tests/serenity.rs
  function deserialize (line 9) | pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result...
  function serialize (line 14) | pub fn serialize<S: Serializer>(id: &u64, serializer: S) -> Result<S::Ok...
  type SnowflakeVisitor (line 18) | struct SnowflakeVisitor;
    type Value (line 21) | type Value = u64;
    method expecting (line 23) | fn expecting(&self, formatter: &mut fmt::Formatter<'_>) -> fmt::Result {
    method visit_i64 (line 28) | fn visit_i64<E: Error>(self, value: i64) -> Result<Self::Value, E> {
    method visit_u64 (line 32) | fn visit_u64<E: Error>(self, value: u64) -> Result<Self::Value, E> {
    method visit_str (line 36) | fn visit_str<E: Error>(self, value: &str) -> Result<Self::Value, E> {
  type ChannelId (line 50) | pub struct ChannelId(#[serde(with = "snowflake")] pub u64);
  function simd_json_test (line 53) | fn simd_json_test() {
  function serde_test (line 62) | fn serde_test() {

FILE: tests/weird_type.rs
  type WeirdTypeVisitor (line 12) | struct WeirdTypeVisitor;
    type Value (line 15) | type Value = bool;
    method expecting (line 17) | fn expecting(&self, f: &mut Formatter<'_>) -> FmtResult {
    method visit_none (line 22) | fn visit_none<E: DeError>(self) -> Result<Self::Value, E> {
    method visit_unit (line 27) | fn visit_unit<E: DeError>(self) -> Result<Self::Value, E> {
  function serialize (line 35) | pub fn serialize<S: Serializer>(_: &bool, serializer: S) -> Result<S::Ok...
  function deserialize (line 39) | pub fn deserialize<'de, D: Deserializer<'de>>(deserializer: D) -> Result...
  function is_false (line 46) | fn is_false(value: &bool) -> bool {
  type WeirdType (line 51) | pub struct WeirdType {
  constant MISSING_EXPECTED (line 60) | const MISSING_EXPECTED: WeirdType = WeirdType { field: false };
  constant MISSING_INPUT (line 61) | const MISSING_INPUT: &str = r#"{}"#;
  constant PRESENT_EXPECTED (line 62) | const PRESENT_EXPECTED: WeirdType = WeirdType { field: true };
  constant PRESENT_INPUT (line 63) | const PRESENT_INPUT: &str = r#"{
  function test_serde_json (line 68) | fn test_serde_json() {
  function test_simd_json (line 80) | fn test_simd_json() {
Copy disabled (too large) Download .json
Condensed preview — 252 files, each showing path, character count, and a content snippet. Download the .json file for the full structured content (17,180K chars).
[
  {
    "path": ".devcontainer/Dockerfile",
    "chars": 2080,
    "preview": "#-------------------------------------------------------------------------------------------------------------\n# Copyrig"
  },
  {
    "path": ".devcontainer/devcontainer.json",
    "chars": 1352,
    "preview": "// For format details, see https://aka.ms/vscode-remote/devcontainer.json or the definition README at\n// https://github."
  },
  {
    "path": ".drone.yml.broken",
    "chars": 672,
    "preview": "name: test-on-arm64\nkind: pipeline\ntype: docker\n\nplatform:\n  arch: arm64\n  os: linux\n\nsteps:\n  - name: test\n    image: r"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 189,
    "preview": "version: 2\nupdates:\n- package-ecosystem: cargo\n  directory: \"/\"\n  schedule:\n    interval: daily\n  open-pull-requests-lim"
  },
  {
    "path": ".github/workflows/nightly.yml",
    "chars": 2558,
    "preview": "name: Tests - Nightly\n\non:\n  pull_request:\n  push:\n    branches:\n      - main\n\njobs:\n  build-nightly:\n    strategy:\n    "
  },
  {
    "path": ".github/workflows/pr-perf.yml",
    "chars": 798,
    "preview": "on: [pull_request]\nname: benchmark pull requests\njobs:\n  runBenchmark:\n    name: run benchmark\n    runs-on: ubuntu-lates"
  },
  {
    "path": ".github/workflows/quality.yaml",
    "chars": 2013,
    "preview": "name: Quality\n\non:\n  pull_request:\n  push:\n    branches:\n      - main\n\njobs:\n  clippy_check:\n    strategy:\n      matrix:"
  },
  {
    "path": ".github/workflows/tests.yml",
    "chars": 5213,
    "preview": "name: Tests\n\non:\n  pull_request:\n  push:\n    branches:\n      - main\n\njobs:\n  test:\n    strategy:\n      matrix:\n        o"
  },
  {
    "path": ".gitignore",
    "chars": 111,
    "preview": "/target*\n**/*.rs.bk\nCargo.lock\n.DS_Store\nproptest-regressions\n.baseline\n.current\n.cargo\n.vscode\nrust-toolchain\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 5105,
    "preview": "# The simd-lite Code of Conduct\n\n## Conduct\n\n**Contact**: [opensource@wayfair.com](mailto:oss@licenser.net?subject=simd-"
  },
  {
    "path": "Cargo.toml",
    "chars": 3845,
    "preview": "[package]\nname = \"simd-json\"\nversion = \"0.17.0\"\nauthors = [\"Heinz N. Gies <heinz@licenser.net>\", \"Sunny Gleason\"]\neditio"
  },
  {
    "path": "Contribution.md",
    "chars": 3655,
    "preview": "# Contribution Guidelines for Rust Port of Extremely Fast simdjson JSON Parser with Serde Compatibility\n\nThank you for y"
  },
  {
    "path": "LICENSE-APACHE",
    "chars": 11358,
    "preview": "\n                                 Apache License\n                           Version 2.0, January 2004\n                  "
  },
  {
    "path": "LICENSE-MIT",
    "chars": 1069,
    "preview": "MIT License\n\nCopyright (c) [year] [fullname]\n\nPermission is hereby granted, free of charge, to any person obtaining a co"
  },
  {
    "path": "Makefile",
    "chars": 427,
    "preview": "\nbaseline:\n\tcargo +nightly run --example perf --features perf --release -- -b\nperf:\n\tcargo +nightly run --example perf -"
  },
  {
    "path": "README.md",
    "chars": 10407,
    "preview": "# SIMD JSON for Rust &emsp; [![Build Status]][simd-json.rs] [![Build Status ARM]][drone.io] [![Quality]][simd-json.rs]  "
  },
  {
    "path": "benches/parse.rs",
    "chars": 3258,
    "preview": "#[macro_use]\nextern crate criterion;\n\nuse core::time::Duration;\n\n#[cfg(feature = \"jemallocator\")]\n#[global_allocator]\nst"
  },
  {
    "path": "benches/to_tape.rs",
    "chars": 3372,
    "preview": "#[macro_use]\nextern crate criterion;\n\n#[cfg(feature = \"jemallocator\")]\n#[global_allocator]\nstatic ALLOC: jemallocator::J"
  },
  {
    "path": "codecov.yml",
    "chars": 173,
    "preview": "ignore:\n  - \"src/neon/**\"  # We currently can't run coverage on arm so we're excluding it\n  - \"examples/*\" # examples\n  "
  },
  {
    "path": "data/apache_builds.json",
    "chars": 127275,
    "preview": "{\n  \"assignedLabels\" : [\n    {\n      \n    }\n  ],\n  \"mode\" : \"EXCLUSIVE\",\n  \"nodeDescription\" : \"the master Jenkins node\""
  },
  {
    "path": "data/canada.json",
    "chars": 2251051,
    "preview": "{ \"type\": \"FeatureCollection\",\n  \"features\": [\n{\n    \"type\": \"Feature\",\n\"properties\": { \"name\": \"Canada\" },\n\"geometry\": "
  },
  {
    "path": "data/citm_catalog.json",
    "chars": 1727030,
    "preview": "{\n    \"areaNames\": {\n        \"205705993\": \"Arrière-scène central\",\n        \"205705994\": \"1er balcon central\",\n        \"2"
  },
  {
    "path": "data/crash/crash000000.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000001.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000002.json",
    "chars": 34,
    "preview": "[-65619720000000.61972000000)029]\n"
  },
  {
    "path": "data/crash/crash000003.json",
    "chars": 32,
    "preview": "[-601234567895.613720000000029]\n"
  },
  {
    "path": "data/crash/crash000004.json",
    "chars": 68,
    "preview": "[22222222222.2222222222222222222222222222222222'2222222222222222'2\u0017]"
  },
  {
    "path": "data/crash/crash000005.json",
    "chars": 35,
    "preview": "{ \"name\": \"\\uda00\\uf800\\uggggxy\" }\n"
  },
  {
    "path": "data/crash/crash000006.json",
    "chars": 35,
    "preview": "{ \"name\": \"\\uda00\\ue800\\uggggxy\" }\n"
  },
  {
    "path": "data/crash/crash000007.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Te\\t Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000008.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000009.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000010.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000011.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000012.json",
    "chars": 1410,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000013.json",
    "chars": 1436,
    "preview": "[\n    \"JSON Te|t Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000014.json",
    "chars": 1410,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"aent\"]},\n    {},\n    [],\n    -42,\n    true,\n    false,\n  "
  },
  {
    "path": "data/crash/crash000015.json",
    "chars": 1467,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000016.json",
    "chars": 1467,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000017.json",
    "chars": 38,
    "preview": "{ \"na\\ud800\\uE876e\": \"\\u00\\uggggiy\" }\n"
  },
  {
    "path": "data/crash/crash000018.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000019.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000020.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000021.json",
    "chars": 1464,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000022.json",
    "chars": 1463,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/crash/crash000023.json",
    "chars": 1463,
    "preview": "[\n    \"JTest Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    true,\n "
  },
  {
    "path": "data/crash/crash000024.json",
    "chars": 1463,
    "preview": "[\n    \"JTest Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    true,\n "
  },
  {
    "path": "data/crash/crash000025.json",
    "chars": 1085,
    "preview": "[-6566197200000000200000000000000000000000000000000000000000000000000000000000000\u000e00000000000000000000000000000000000000"
  },
  {
    "path": "data/crash/crash000026.json",
    "chars": 1097,
    "preview": "-61100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  },
  {
    "path": "data/crash/crash000027.json",
    "chars": 262,
    "preview": "[-65.695099999999999000000000000000000000000000000000000000000000000000000000000000S0000000000000\u00140000000000000000000000"
  },
  {
    "path": "data/crash/crash000028.json",
    "chars": 121,
    "preview": "[\"\",  -9000000000000000000000000000000000000000000000000000000000000000\u00150000000000000000000000000070000000000000000.029]"
  },
  {
    "path": "data/crash/crash000029.json",
    "chars": 78,
    "preview": "184467440737095516.184467440737095516184467440737095516.184467440737095516.6.6"
  },
  {
    "path": "data/crash/crash000030.json",
    "chars": 41,
    "preview": "{\"Neh\":-333333333333333333333333333333.3}"
  },
  {
    "path": "data/crash/crash000031.json",
    "chars": 130,
    "preview": "[  -92653944590000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000"
  },
  {
    "path": "data/crash/crash000032.json",
    "chars": 42,
    "preview": "[348253421170671280348253421170679.6171,-]"
  },
  {
    "path": "data/crash/crash000033.json",
    "chars": 61,
    "preview": "[3,28033333333333333333333333333333333348253421170679.6170-]\n"
  },
  {
    "path": "data/crash/crash000034.json",
    "chars": 511,
    "preview": "[3,2825342119.61701e-0,1,\n128253421170679.61701e-0,1,\n128253421170679.61701e-0,1,\n0.1e1,-1e-1,-128253421170679.61701e3,2"
  },
  {
    "path": "data/crash/crash000035.json",
    "chars": 20,
    "preview": "-9223372036854775808"
  },
  {
    "path": "data/crash/crash000036.json",
    "chars": 75,
    "preview": "[\n 1066,\n1e1,\n0.1e1,\n1e-1,-1e-0, -88888888888888888888888888888888.1,\"rod\"]"
  },
  {
    "path": "data/crash/crash000037.json",
    "chars": 2,
    "preview": "[-"
  },
  {
    "path": "data/event_stacktrace_10kb.json",
    "chars": 9915,
    "preview": "{\"@t\":\"2020-02-07T19:34:57.3431468Z\",\"@mt\":\"Connection id “{ConnectionId}”, Request id “{TraceIdentifier}”: An unhandled"
  },
  {
    "path": "data/fail/fail01_EXCLUDE.json",
    "chars": 60,
    "preview": "\"A JSON payload should be an object or array, not a string.\""
  },
  {
    "path": "data/fail/fail02.json",
    "chars": 17,
    "preview": "[\"Unclosed array\""
  },
  {
    "path": "data/fail/fail03.json",
    "chars": 37,
    "preview": "{unquoted_key: \"keys must be quoted\"}"
  },
  {
    "path": "data/fail/fail04.json",
    "chars": 16,
    "preview": "[\"extra comma\",]"
  },
  {
    "path": "data/fail/fail05.json",
    "chars": 24,
    "preview": "[\"double extra comma\",,]"
  },
  {
    "path": "data/fail/fail06.json",
    "chars": 26,
    "preview": "[   , \"<-- missing value\"]"
  },
  {
    "path": "data/fail/fail07.json",
    "chars": 26,
    "preview": "[\"Comma after the close\"],"
  },
  {
    "path": "data/fail/fail08.json",
    "chars": 16,
    "preview": "[\"Extra close\"]]"
  },
  {
    "path": "data/fail/fail09.json",
    "chars": 22,
    "preview": "{\"Extra comma\": true,}"
  },
  {
    "path": "data/fail/fail10.json",
    "chars": 58,
    "preview": "{\"Extra value after close\": true} \"misplaced quoted value\""
  },
  {
    "path": "data/fail/fail11.json",
    "chars": 29,
    "preview": "{\"Illegal expression\": 1 + 2}"
  },
  {
    "path": "data/fail/fail12.json",
    "chars": 31,
    "preview": "{\"Illegal invocation\": alert()}"
  },
  {
    "path": "data/fail/fail13.json",
    "chars": 43,
    "preview": "{\"Numbers cannot have leading zeroes\": 013}"
  },
  {
    "path": "data/fail/fail14.json",
    "chars": 31,
    "preview": "{\"Numbers cannot be hex\": 0x14}"
  },
  {
    "path": "data/fail/fail15.json",
    "chars": 34,
    "preview": "[\"Illegal backslash escape: \\x15\"]"
  },
  {
    "path": "data/fail/fail16.json",
    "chars": 8,
    "preview": "[\\naked]"
  },
  {
    "path": "data/fail/fail17.json",
    "chars": 34,
    "preview": "[\"Illegal backslash escape: \\017\"]"
  },
  {
    "path": "data/fail/fail18_EXCLUDE.json",
    "chars": 50,
    "preview": "[[[[[[[[[[[[[[[[[[[[\"Too deep\"]]]]]]]]]]]]]]]]]]]]"
  },
  {
    "path": "data/fail/fail19.json",
    "chars": 22,
    "preview": "{\"Missing colon\" null}"
  },
  {
    "path": "data/fail/fail20.json",
    "chars": 23,
    "preview": "{\"Double colon\":: null}"
  },
  {
    "path": "data/fail/fail21.json",
    "chars": 32,
    "preview": "{\"Comma instead of colon\", null}"
  },
  {
    "path": "data/fail/fail22.json",
    "chars": 33,
    "preview": "[\"Colon instead of comma\": false]"
  },
  {
    "path": "data/fail/fail23.json",
    "chars": 20,
    "preview": "[\"Bad value\", truth]"
  },
  {
    "path": "data/fail/fail24.json",
    "chars": 16,
    "preview": "['single quote']"
  },
  {
    "path": "data/fail/fail25.json",
    "chars": 29,
    "preview": "[\"\ttab\tcharacter\tin\tstring\t\"]"
  },
  {
    "path": "data/fail/fail26.json",
    "chars": 38,
    "preview": "[\"tab\\   character\\   in\\  string\\  \"]"
  },
  {
    "path": "data/fail/fail27.json",
    "chars": 14,
    "preview": "[\"line\nbreak\"]"
  },
  {
    "path": "data/fail/fail28.json",
    "chars": 15,
    "preview": "[\"line\\\nbreak\"]"
  },
  {
    "path": "data/fail/fail29.json",
    "chars": 4,
    "preview": "[0e]"
  },
  {
    "path": "data/fail/fail30.json",
    "chars": 5,
    "preview": "[0e+]"
  },
  {
    "path": "data/fail/fail31.json",
    "chars": 7,
    "preview": "[0e+-1]"
  },
  {
    "path": "data/fail/fail32.json",
    "chars": 40,
    "preview": "{\"Comma instead if closing brace\": true,"
  },
  {
    "path": "data/fail/fail33.json",
    "chars": 12,
    "preview": "[\"mismatch\"}"
  },
  {
    "path": "data/fail/fail34.json",
    "chars": 36,
    "preview": "[\"this string contains bad UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail35.json",
    "chars": 66,
    "preview": "{\"this file\" :\"has an unbreakable character outside the strings\"}\n"
  },
  {
    "path": "data/fail/fail36.json",
    "chars": 31,
    "preview": "[\"this is an unclosed string ]\n"
  },
  {
    "path": "data/fail/fail37.json",
    "chars": 6,
    "preview": "[12a]\n"
  },
  {
    "path": "data/fail/fail38.json",
    "chars": 7,
    "preview": "[12 a]\n"
  },
  {
    "path": "data/fail/fail39_EXCLUDE.json",
    "chars": 68,
    "preview": "{\"name\":1,\"name\":2, \"this is allowable as per the json spec\": true}\n"
  },
  {
    "path": "data/fail/fail40_s64boverflow.json",
    "chars": 20,
    "preview": "9223372036854775808\n"
  },
  {
    "path": "data/fail/fail41_toolarge.json",
    "chars": 21,
    "preview": "18446744073709551616\n"
  },
  {
    "path": "data/fail/fail42.json",
    "chars": 20,
    "preview": "{\u0019\"fdfds\":\n\"4332\" }\n"
  },
  {
    "path": "data/fail/fail43.json",
    "chars": 4,
    "preview": "[-]\n"
  },
  {
    "path": "data/fail/fail44.json",
    "chars": 6,
    "preview": "[-2.]\n"
  },
  {
    "path": "data/fail/fail45.json",
    "chars": 7,
    "preview": "[0.e1]\n"
  },
  {
    "path": "data/fail/fail46.json",
    "chars": 8,
    "preview": "[2.e+3]\n"
  },
  {
    "path": "data/fail/fail47.json",
    "chars": 8,
    "preview": "[2.e-3]\n"
  },
  {
    "path": "data/fail/fail48.json",
    "chars": 7,
    "preview": "[2.e3]\n"
  },
  {
    "path": "data/fail/fail49.json",
    "chars": 8,
    "preview": "[-.123]\n"
  },
  {
    "path": "data/fail/fail50.json",
    "chars": 5,
    "preview": "[1.]\n"
  },
  {
    "path": "data/fail/fail51.json",
    "chars": 4,
    "preview": "[],\n"
  },
  {
    "path": "data/fail/fail52.json",
    "chars": 5,
    "preview": "[x]]\n"
  },
  {
    "path": "data/fail/fail53.json",
    "chars": 4,
    "preview": "{}}\n"
  },
  {
    "path": "data/fail/fail54.json",
    "chars": 42,
    "preview": "[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[[(...)\n"
  },
  {
    "path": "data/fail/fail55.json",
    "chars": 5,
    "preview": "[1,]\n"
  },
  {
    "path": "data/fail/fail56.json",
    "chars": 6,
    "preview": "[\"\",]\n"
  },
  {
    "path": "data/fail/fail57.json",
    "chars": 35,
    "preview": "{ \"name\": \"\\udc00\\ud800\\uggggxy\" }\n"
  },
  {
    "path": "data/fail/fail58.json",
    "chars": 28,
    "preview": "{ \"name\": \"\\uc0meatmebro\" }\n"
  },
  {
    "path": "data/fail/fail59.json",
    "chars": 21,
    "preview": "{ \"name\": \"\\uf**k\" }\n"
  },
  {
    "path": "data/fail/fail60.json",
    "chars": 10,
    "preview": "[1e+1111]\n"
  },
  {
    "path": "data/fail/fail61.json",
    "chars": 23,
    "preview": "{\"badescape\":\"\\uxhgj\"}\n"
  },
  {
    "path": "data/fail/fail62.json",
    "chars": 13,
    "preview": "{\"foo\":\"baa}\n"
  },
  {
    "path": "data/fail/fail63.json",
    "chars": 4,
    "preview": "\"f[\n"
  },
  {
    "path": "data/fail/fail64.json",
    "chars": 2,
    "preview": "\"\n"
  },
  {
    "path": "data/fail/fail65.json",
    "chars": 6,
    "preview": "falsy\n"
  },
  {
    "path": "data/fail/fail66.json",
    "chars": 35,
    "preview": "{ \"name\": \"\\uda00\\ud800\\uggggxy\" }\n"
  },
  {
    "path": "data/fail/fail67.json",
    "chars": 2,
    "preview": "[["
  },
  {
    "path": "data/fail/fail68.json",
    "chars": 11,
    "preview": "[[[[[[[[[[t"
  },
  {
    "path": "data/fail/fail69.json",
    "chars": 25,
    "preview": "3333333333333333333333333"
  },
  {
    "path": "data/fail/fail70.json",
    "chars": 31,
    "preview": "[\"string contains bad UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail71.json",
    "chars": 24,
    "preview": "[\"contains bad UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail72.json",
    "chars": 24,
    "preview": "[\"contains bad UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail73.json",
    "chars": 15,
    "preview": "[\"bad UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail74.json",
    "chars": 11,
    "preview": "[\"UTF-8 \"]\n"
  },
  {
    "path": "data/fail/fail75.json",
    "chars": 6,
    "preview": "[\" \"]\n"
  },
  {
    "path": "data/fail/fail76.json",
    "chars": 5,
    "preview": "[\"\"]\n"
  },
  {
    "path": "data/fail/fail77.json",
    "chars": 17,
    "preview": "[\"Invalid 16 - \"]"
  },
  {
    "path": "data/fail/fail78.json",
    "chars": 33,
    "preview": "[\"Invalid UTF-8 on byte 32 -   \"]"
  },
  {
    "path": "data/github_events.json",
    "chars": 65130,
    "preview": "[\n  {\n    \"type\": \"PushEvent\",\n    \"created_at\": \"2013-01-10T07:58:30Z\",\n    \"actor\": {\n      \"gravatar_id\": \"a7cec1f75a"
  },
  {
    "path": "data/gsoc-2018.json",
    "chars": 3327831,
    "preview": "{\n    \"0\": {\n        \"@context\": \"http://schema.org\",\n        \"@type\": \"SoftwareSourceCode\",\n        \"name\": \"Instructor"
  },
  {
    "path": "data/hdfs_log.json",
    "chars": 296,
    "preview": "{\"timestamp\":1440670491,\"severity_text\":\"INFO\",\"body\":\"PacketResponder: BP-108841162-10.10.34.11-1440074360971:blk_10738"
  },
  {
    "path": "data/instruments.json",
    "chars": 220346,
    "preview": "{\n   \"graphstate\" : null,\n   \"instruments\" : [\n      {\n         \"default_filter_cutoff\" : 0,\n         \"default_filter_cu"
  },
  {
    "path": "data/log.json",
    "chars": 2175,
    "preview": "{\"jk_host\":\"jenkinshost100.my-domain-name.net\",\"class_name\":\"ID\\\\Shared\\\\Logging\\\\Logger\",\"logger_name\":\"important_logs_"
  },
  {
    "path": "data/marine_ik.json",
    "chars": 2983466,
    "preview": "{\n    \"images\":[{\n        \"url\":\"MarineCv2_color.jpg\",\n        \"uuid\":\"1F3E9A1C-DDD2-3F4D-80C1-BC5F609DC23B\",\n        \"n"
  },
  {
    "path": "data/mesh.json",
    "chars": 723597,
    "preview": "{\"batches\": [{\"indexRange\": [0, 33408], \"vertexRange\": [0, 3600], \"usedBones\": [22]}], \"morphTargets\": {}, \"positions\": "
  },
  {
    "path": "data/mesh.pretty.json",
    "chars": 1577353,
    "preview": "{\n    \"batches\": [\n        {\n            \"indexRange\": [\n                0, \n                33408\n            ], \n     "
  },
  {
    "path": "data/numbers.json",
    "chars": 150124,
    "preview": "[\n0.696468466152,0.23033292891,0.655561997649,0.54153630768,0.951658321017,0.768290816979,0.16463213799,0.866369170116,0"
  },
  {
    "path": "data/pass/pass01.json",
    "chars": 1441,
    "preview": "[\n    \"JSON Test Pattern pass1\",\n    {\"object with 1 member\":[\"array with 1 element\"]},\n    {},\n    [],\n    -42,\n    tru"
  },
  {
    "path": "data/pass/pass02.json",
    "chars": 52,
    "preview": "[[[[[[[[[[[[[[[[[[[\"Not too deep\"]]]]]]]]]]]]]]]]]]]"
  },
  {
    "path": "data/pass/pass03.json",
    "chars": 148,
    "preview": "{\n    \"JSON Test Pattern pass3\": {\n        \"The outermost value\": \"must be an object or array.\",\n        \"In this test\":"
  },
  {
    "path": "data/pass/pass04.json",
    "chars": 224,
    "preview": "[3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679,0.00000000000000"
  },
  {
    "path": "data/pass/pass05.json",
    "chars": 42,
    "preview": "12345678900000002170460276904689664.000000"
  },
  {
    "path": "data/pass/pass06.json",
    "chars": 4,
    "preview": "true"
  },
  {
    "path": "data/pass/pass07.json",
    "chars": 4,
    "preview": "null"
  },
  {
    "path": "data/pass/pass08.json",
    "chars": 1,
    "preview": "1"
  },
  {
    "path": "data/pass/pass09.json",
    "chars": 5,
    "preview": "false"
  },
  {
    "path": "data/pass/pass10.json",
    "chars": 6,
    "preview": "\"124\"\n"
  },
  {
    "path": "data/pass/pass11.json",
    "chars": 20,
    "preview": "4611686018427387904\n"
  },
  {
    "path": "data/pass/pass12.json",
    "chars": 11,
    "preview": "2147483648\n"
  },
  {
    "path": "data/pass/pass13.json",
    "chars": 6,
    "preview": "12300\n"
  },
  {
    "path": "data/pass/pass14.json",
    "chars": 60,
    "preview": "{\"string with backandquote \\\\\\\"\":1, \"string with back\\\\\":2}\n"
  },
  {
    "path": "data/pass/pass15.json",
    "chars": 22,
    "preview": "[-65.619720000000029]\n"
  },
  {
    "path": "data/pass/pass16.json",
    "chars": 2,
    "preview": "0\n"
  },
  {
    "path": "data/random.json",
    "chars": 458735,
    "preview": "{\n\"id\": 1,\n\"jsonrpc\": \"2.0\",\n\"total\": 1000,\n\"result\": [\n{\n\"id\": 1,\n\"avatar\": \"images/user_1.png\",\n\"age\": 21,\n\"admin\": tr"
  },
  {
    "path": "data/twitter.json",
    "chars": 567916,
    "preview": "{\n  \"statuses\": [\n    {\n      \"metadata\": {\n        \"result_type\": \"recent\",\n        \"iso_language_code\": \"ja\"\n      },\n"
  },
  {
    "path": "data/twitterescaped.json",
    "chars": 562408,
    "preview": "{\"statuses\":[{\"metadata\":{\"result_type\":\"recent\",\"iso_language_code\":\"ja\"},\"created_at\":\"Sun Aug 31 00:29:15 +0000 2014\""
  },
  {
    "path": "data/update-center.json",
    "chars": 533152,
    "preview": "{\"connectionCheckUrl\":\"http://www.google.com/\",\"core\":{\"buildDate\":\"Jan 07, 2013\",\"name\":\"core\",\"sha1\":\"BOXijYYVSuxWoki+"
  },
  {
    "path": "examples/perf.rs",
    "chars": 10702,
    "preview": "use std::env;\n\n#[cfg(all(feature = \"perf\", target_arch = \"x86_64\", target_os = \"linux\"))]\nmod int {\n    const ROUNDS: us"
  },
  {
    "path": "fuzz/.gitignore",
    "chars": 25,
    "preview": "\ntarget\ncorpus\nartifacts\n"
  },
  {
    "path": "fuzz/Cargo.toml",
    "chars": 557,
    "preview": "\n[package]\nname = \"simd-json-fuzz\"\nversion = \"0.0.0\"\nauthors = [\"Automatically generated\"]\npublish = false\nedition = \"20"
  },
  {
    "path": "fuzz/fuzz_targets/failing.rs",
    "chars": 229,
    "preview": "#![no_main]\nuse libfuzzer_sys::fuzz_target;\n\nfuzz_target!(|data: &[u8]| {\n    let mut data1 = data.to_vec();\n    let res"
  },
  {
    "path": "fuzz/fuzz_targets/passing.rs",
    "chars": 229,
    "preview": "#![no_main]\nuse libfuzzer_sys::fuzz_target;\n\nfuzz_target!(|data: &[u8]| {\n    let mut data1 = data.to_vec();\n    let res"
  },
  {
    "path": "fuzz/fuzz_targets/real.rs",
    "chars": 229,
    "preview": "#![no_main]\nuse libfuzzer_sys::fuzz_target;\n\nfuzz_target!(|data: &[u8]| {\n    let mut data1 = data.to_vec();\n    let res"
  },
  {
    "path": "fuzz.sh",
    "chars": 292,
    "preview": "cd fuzz\nRUSTFLAGS=\"-C target-cpu=native\" cargo +nightly fuzz run passing -j 24 -- -max_total_time=300\nRUSTFLAGS=\"-C targ"
  },
  {
    "path": "profile.coz",
    "chars": 0,
    "preview": ""
  },
  {
    "path": "src/charutils.rs",
    "chars": 6241,
    "preview": "use crate::safer_unchecked::GetSaferUnchecked;\n\nconst STRUCTURAL_OR_WHITESPACE_NEGATED: [u32; 256] = [\n    0, 1, 1, 1, 1"
  },
  {
    "path": "src/cow.rs",
    "chars": 336,
    "preview": "//! Re-export of Cow\n//!\n//! If feature `beef` is enabled, this will re-export [`beef::lean::Cow`][beef].\n//! Otherwise,"
  },
  {
    "path": "src/error.rs",
    "chars": 9179,
    "preview": "use std::fmt;\n\nuse value_trait::ValueType;\n\n/// Error types encountered while parsing\n#[derive(Debug)]\npub enum ErrorTyp"
  },
  {
    "path": "src/impls/avx2/deser.rs",
    "chars": 8094,
    "preview": "#[cfg(target_arch = \"x86\")]\nuse std::arch::x86 as arch;\n\n#[cfg(target_arch = \"x86_64\")]\nuse std::arch::x86_64 as arch;\n\n"
  },
  {
    "path": "src/impls/avx2/mod.rs",
    "chars": 128,
    "preview": "#![allow(unused_imports, dead_code)]\nmod deser;\nmod stage1;\n\npub(crate) use deser::parse_str;\npub(crate) use stage1::Sim"
  },
  {
    "path": "src/impls/avx2/stage1.rs",
    "chars": 10521,
    "preview": "#![allow(dead_code)]\nuse crate::{\n    Stage1Parse,\n    macros::{static_cast_i32, static_cast_i64, static_cast_u32},\n};\n#"
  },
  {
    "path": "src/impls/mod.rs",
    "chars": 540,
    "preview": "#[cfg(all(\n    any(test, not(feature = \"portable\")),\n    not(target_arch = \"aarch64\"),\n    not(target_feature = \"simd128"
  },
  {
    "path": "src/impls/native/deser.rs",
    "chars": 5410,
    "preview": "use crate::{\n    Deserializer, ErrorType, Result, SillyWrapper,\n    safer_unchecked::GetSaferUnchecked,\n    stringparse:"
  },
  {
    "path": "src/impls/native/mod.rs",
    "chars": 839,
    "preview": "#![allow(unused_imports, dead_code)]\nuse simdutf8::basic::imp::ChunkedUtf8Validator;\n\nmod deser;\nmod stage1;\n\npub(crate)"
  },
  {
    "path": "src/impls/native/stage1.rs",
    "chars": 15065,
    "preview": "#![allow(clippy::cast_lossless, clippy::cast_sign_loss)]\n\nuse crate::{Stage1Parse, macros::static_cast_i32};\n\ntype V128 "
  },
  {
    "path": "src/impls/neon/deser.rs",
    "chars": 8252,
    "preview": "use crate::Deserializer;\nuse crate::Result;\nuse crate::SillyWrapper;\nuse crate::error::ErrorType;\nuse crate::impls::neon"
  },
  {
    "path": "src/impls/neon/mod.rs",
    "chars": 128,
    "preview": "#![allow(unused_imports, dead_code)]\nmod deser;\nmod stage1;\n\npub(crate) use deser::parse_str;\npub(crate) use stage1::Sim"
  },
  {
    "path": "src/impls/neon/stage1.rs",
    "chars": 9806,
    "preview": "use crate::Stage1Parse;\nuse std::arch::aarch64::{\n    int8x16_t, int32x4_t, uint8x16_t, vaddq_s32, vandq_u8, vceqq_u8, v"
  },
  {
    "path": "src/impls/portable/deser.rs",
    "chars": 6591,
    "preview": "use std::simd::{SimdPartialEq, ToBitMask, u8x32};\n\nuse crate::{\n    Deserializer, ErrorType, Result, SillyWrapper,\n    s"
  },
  {
    "path": "src/impls/portable/mod.rs",
    "chars": 136,
    "preview": "#![allow(unused_imports, dead_code)]\npub mod deser;\npub mod stage1;\n\npub(crate) use deser::parse_str;\npub(crate) use sta"
  },
  {
    "path": "src/impls/portable/stage1.rs",
    "chars": 6803,
    "preview": "use std::simd::{ToBitMask, prelude::*};\n\nuse crate::{Stage1Parse, macros::static_cast_i32};\n#[derive(Debug)]\npub(crate) "
  },
  {
    "path": "src/impls/simd128/deser.rs",
    "chars": 7131,
    "preview": "use std::arch::wasm32::{u8x16_bitmask, u8x16_eq, u8x16_splat, v128, v128_load, v128_store};\n\nuse crate::{\n    Deserializ"
  },
  {
    "path": "src/impls/simd128/mod.rs",
    "chars": 128,
    "preview": "#![allow(unused_imports, dead_code)]\nmod deser;\nmod stage1;\n\npub(crate) use deser::parse_str;\npub(crate) use stage1::Sim"
  },
  {
    "path": "src/impls/simd128/stage1.rs",
    "chars": 8347,
    "preview": "use crate::Stage1Parse;\nuse std::arch::wasm32::{\n    i8x16_splat, u8x16, u8x16_bitmask, u8x16_eq, u8x16_le, u8x16_shr, u"
  },
  {
    "path": "src/impls/sse42/deser.rs",
    "chars": 7971,
    "preview": "#[cfg(target_arch = \"x86\")]\nuse std::arch::x86 as arch;\n\n#[cfg(target_arch = \"x86_64\")]\nuse std::arch::x86_64 as arch;\n\n"
  },
  {
    "path": "src/impls/sse42/mod.rs",
    "chars": 128,
    "preview": "#![allow(unused_imports, dead_code)]\nmod deser;\nmod stage1;\n\npub(crate) use deser::parse_str;\npub(crate) use stage1::Sim"
  },
  {
    "path": "src/impls/sse42/stage1.rs",
    "chars": 11882,
    "preview": "use crate::{\n    Stage1Parse,\n    macros::{static_cast_i32, static_cast_i64, static_cast_u32},\n};\n#[cfg(target_arch = \"x"
  },
  {
    "path": "src/known_key.rs",
    "chars": 15420,
    "preview": "use crate::BorrowedValue as Value;\nuse crate::cow::Cow;\nuse crate::prelude::*;\nuse halfbrown::RawEntryMut;\nuse std::hash"
  },
  {
    "path": "src/lib.rs",
    "chars": 39182,
    "preview": "#![deny(warnings)]\n#![cfg_attr(feature = \"hints\", feature(core_intrinsics))]\n#![cfg_attr(feature = \"portable\", feature(p"
  }
]

// ... and 52 more files (download for full content)

About this extraction

This page contains the full source code of the Licenser/simdjson-rs GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 252 files (15.5 MB), approximately 4.1M tokens, and a symbol index with 1910 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!